大家好,今天小编关注到一个比较有意思的话题,就是关于学习编程效率极低的问题,于是小编就整理了1个相关介绍学习编程效率极低的解答,让我们一起看看吧。
被我们公司的后端大佬说你们前端真的没什么技术含量,我该怎么怼回去?
请喊我,我来对战。一个个后端技术跟屎一样差,写java写笨呼呼了什么都不懂到处瞎***吹牛。后端除了个分布式同步问题还需要用到个什么技术?关键是这些还不用思考调用中间件就完事。做后端的可以仔细想想你是不是做的事都是去调用某个第三方写好的东西,除了业务逻辑有哪些是自己写的?
前端就不一样了,程序语言,框架,引擎等等不管是react还是unreal等等这些都是工具都是很简单的东西,前端需要数学物理和数据结构计算机体系等等知识,这里面后端用到了几样?
数学就不用说了随处可见的三角函数,几何积分代数等等经常用都会用到
举个物理例子要做一套符合需求的pbr渲染需要知晓物质的光学性质,光在介质中传播吸收散射等需要自己优化实现算法,要能量守恒,要在线性空间计算到伽马空间转换等等这里可能也会用到概率论统计学数字信号变换等等
再举个例子 前端要计算数量众多单位AI,几何体相交,动力学等等肯定会需要用八叉树优化空间查询,然后肯定还要优化cpu南北桥到内存总线通信开销优化cachemiss很可能不能用面向对象的开发方式,在多线程中肯定也得设计为无锁的方式防止等待切换恢复。
当然这一切是在理想情况下,前端还有个噩梦兼容性,比如在opengl2的设备上不支持commutebuffer又要怎么手动操作vbo来优化cpu到gpu到开销,不支持a通道贴图又要怎么处理,ios的powervr和高通等支持的gpu贴图压缩算法又不一致又要怎么分平台处理(当然这一步如果使用引擎会提供相应工具)
再说一个 通常项目策划的编辑器和运行时都是由前端开发的至少我见到的项目组都是,比如战斗技能buff无缝场景单位机关AI等等编辑器和运行时,比如现在我们是程序写底层系统api然后由策划使用可视化逻辑编辑器编写各种东西,这里面就涉及到语法树解析执行策划自定义的变量逃逸分析在栈或者堆上分配之后生命周期管理热加载之后已经分配的内存数据处理等等等
还有很多值得研究的前端技术比如动画系统的动态骨骼,反向ik,gpu蒙皮,动态光计算优化等等多的也不说了,最后再说明我不是纯前端,我做了大概十年程序,用过或用着c/c艹,j***a,c#,lua,python等等各种开发语言工具,就是看不惯一堆后端嘲讽前端的。不服来辩,无意义的喷请远离!
一般说出这种话的后台,我认为算不上合格的大佬,理由很简单,,或许他在后台方面很牛,但是他在前端方面知识技能已经落伍了。当然目前绝大多数公司的前端项目相对来说还是非常简单的,但是这并不能否决前端工作是没有技术含量的。可能部分后端朋友甚至有一部分前端也认为前端无非就是jq,或者react, vue等框架套个模板就能用,这样的认识是比较肤浅的。
在一些很复杂的应用场景下,比如erp系统,财务软件等应用场景下,前端的复杂度和后台是没有太大差别的,首先,在架构方面,如果没有强大的架构基础,开发效率越到后面越低,可维护度越来越低,甚至开发停止,目前市面上也有很多不错的的npm包,也能满足大多数公司的开发需求,但是也存在很多不能满足生产的情况,所以需要的前端架构能力也非常强。其次,后台提供的数据模型往往不能满足前端的需求,这时候就需要前端自己建立一个中间层,对数据进行相关的转换,包装工作,这时前端的角色又和后台比较相近了,比如,对node.js掌握的极好的公司可能会选择node.js作为中间层语言,也有的会选择像python, go等语言作为中间层语言,此时前端也要去操作数据库,访问系统等相关操作,当然,业务复杂度也是非常高的。最后,前端需要掌握的技能也非常多,除了基础的语言语法外,像对***, web[_a***_]等都要掌握,在日常的业务场景中也会运用数据结构,算法,设计模式,面向对象,函数式编程等技能去解决相关的业务问题,对数据的理解有的时候也是非常深的。
前端现在正是一个快速发展的行业,从业人员水平参差不齐,在前端领域做得很深的也有很多。
到此,以上就是小编对于学习编程效率极低的问题就介绍到这了,希望介绍关于学习编程效率极低的1点解答对大家有用。