为什么很多后端程序员认为前端很难学?

2020-07-23 10:46:05 +08:00
 jimmyismagic

很多工作了多年的后端程序员,都会有些个人创业的想法,但是不会前端,觉得前端很难,不知道怎么学?

为什么会有这种现象呢,前端的难到底在哪里?

30658 次点击
所在节点    程序员
224 条回复
julyclyde
2020-07-23 12:06:10 +08:00
js 里面好多都是把数据 /对象作为主语的吧
后端语言一般是作为宾语
DoodleSit
2020-07-23 12:14:49 +08:00
玛德搞了 9 年前端了
css,学了 Transformer 、Animation
css,知道了贝塞尔曲线、矩阵变换,回头看了下数学
html canvas,我又学了计算机图形学和 opengl
js 复杂计算,然后学了 WebAssembly,为了写 WebAssembly 代码,又学了 Rust
js 事件知道了事件派发和冒泡
要做混合 app,学了 android ( java )和 ios ( oc )
自己搭网站,学了 php laravel
公司用的是 spring,然后又学了 spring boot
。。。

现在,头发也掉光了,腰不行了,钱也没赚到多少
KyonLi
2020-07-23 12:15:46 +08:00
所以现在大环境是默认前端很廉价喽,随便找个人学 2 小时就能出活
tlday
2020-07-23 12:15:48 +08:00
老式的 css 难,因为不健全,跟不上 html 和 js 的发展。需要用 table,float,各种负值的 margin/padding 来 hack 想要的布局,还有很多会导致效果不符合预期的 BFC 之类的东西。现代 css 中其实 95%的布局可以 display:flex 一把梭。

BTW,css 因为理念不同于普通编程,导致几乎没法 debug 是生手感觉难的核心所在。
yidinghe
2020-07-23 12:27:28 +08:00
前端不难学,但是生态环境很乱,不成熟。
ChenFanlin
2020-07-23 12:35:12 +08:00
..Android 开发, 之前想学 Web 开发, 到 CSS 直接劝退... 一个居中都有那么多种方法...
Zien
2020-07-23 12:45:52 +08:00
英语不好导致学习成本太高
qiaobeier
2020-07-23 12:51:04 +08:00
不是难,是杂,乱,多
wolfan
2020-07-23 12:54:07 +08:00
CSS 越到后面确实越南,曲线直逼 90 度。
calming
2020-07-23 12:55:08 +08:00
主要是 css,其他的没什么,调样式简直要命好吗
imn1
2020-07-23 12:56:28 +08:00
1.不上框架很容易学
2.上框架不知道学哪个,其实后端遇到多个功能相同的三方框架也难选,但后端们互相有反馈,还能选一下,前端的反馈看不懂就没法选了
3.排版是个问题,如果只有横或竖是简单的,一旦多个组件组合,流式还是固定……
4.排版影响定位
4-1.为何连字体、字号不同都影响定位❓❓❓
5.事件驱动,但事件太多,例如一个小小的输入框,可能有 on keypress, on finished, onclick, on mouse over, drag & drop, on focus ... 十多个事件,后端一般只考虑数据,个个控件都考虑一遍全部 event,太累
不过,如果学过前端,就知道几乎所有控件来来去去都是那几个 event……控件独有的 event 其实不多,用到才去研究就行
6.前端数据格式,无论初始如何,最后是字符 /字节输出(且要考虑格式漂亮),后端只是传数据
7.前端数据安全和后端数据安全,概念和处理完全不同

A.前端几乎没有 try/catch …… 任何显示错误都是 bug
B.老板会对前端指手划脚,对后端甚少

其他还没想到
poppersd
2020-07-23 13:03:07 +08:00
因为 CSS 辣鸡(不正交,压根不知道动了 A 会影响 B,神奇)啊,前端轮子还多,最近几年索性出了三大框架好点了。
black11black
2020-07-23 13:03:48 +08:00
因为前端语言设计的结构性不强,模块化即使经过 es6 修正后也只是勉强达到了堪用的程度,远称不上好用,后端程序员的一个追求是写出“优美、简洁”的代码,强调通过算法和结构性解决问题,写前端对于他们来说就是灾难了。另外下面一条是个人观点,即便使用框架,我只会写 vue,工程化的部分我个人觉得设计的不好用,强行限制多,自由度小。

Python 之禅里对良好语言的设计哲学说的很明白,“简单优于复杂,复杂优于混乱,扁平优于嵌套,间隔优于紧凑”,不管你写什么语言,你代码写的越多越会感觉这几句总结的精辟,前端语言自己对号入座对上了哪条吧。
black11black
2020-07-23 13:04:14 +08:00
@black11black 结构性最差的我觉得就是 css 了,简直是灾难。。
xiqingongzi
2020-07-23 13:04:24 +08:00
前端难学的部分在兼容,如果只是基础的逻辑,好办。但是兼容不同的系统、不同的设备,难办。
dobelee
2020-07-23 13:08:41 +08:00
前端扣样式细节,后端有缺陷不会直接暴露给产品。
falcon05
2020-07-23 13:09:50 +08:00
难的是 css,这玩意靠经验积累,有些奇技淫巧你没用过还真的不知道
weizhen199
2020-07-23 13:12:10 +08:00
会被用户烦死。。。
firefox12
2020-07-23 13:14:24 +08:00
我想说的是前端的东西,没有类型,一会儿是字符串 一会就是函数名 可以申明 可以不申明,全靠记忆, 这都是什么乱七八糟的杂烩。终于有了 typescript.
silif
2020-07-23 13:23:19 +08:00
@wee911 觉得 css 难的都是后端😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/692411

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX