不擅长算法和数据结构的程序员就不是好程序员吗?

2015-04-17 10:08:09 +08:00
 linpf

我是phper,主要就是做网站项目,在大多数的项目中,根本用不到算法和数据结构。我不得不承认懂算法和数据结构是很牛逼的一件事,但是即使不懂,也可以解决80%的问题。

现在看到各种大公司的笔试面试,都涉及到大量数据结构,感觉无论这个岗位是不是很需要掌握数据结构和算法。诚然,这是一种大浪淘沙精益求精的做法,可是我还是受到打击了。

作为数学渣的我,在学校学数据结构和算法,及格都是谢天谢地了。但是我算法不好,我会去学很多技术、掌握更多的框架或者组件,学更多的语言,我认为我将来仍然也会是一名好的程序员。

元芳们,你们怎么看。

29511 次点击
所在节点    程序员
138 条回复
apex42
2015-04-17 10:16:06 +08:00
不知道你工作了几年了,算法数据结构这东西不搞清楚,会比较快得碰到天花板。
linpf
2015-04-17 10:18:40 +08:00
@apex42 还没毕业,现在大三
zhuchong0329
2015-04-17 10:21:18 +08:00
你可以解决80%的问题,但也只能做80%的程序员了。。
况且作为一个公司的角度来看,当然希望自己招到的员工尽可能的是那20%,或者是将来有机会能够成为那20%了
braineo
2015-04-17 10:22:40 +08:00
能不能解决需要算法跟数据结构的那20%的问题

决定了你是software engineer 还是 code monkey
saki
2015-04-17 10:23:22 +08:00
只是作为工具的奴隶的话是不需要算法和数据结构的。
当你觉得这个框架的xx特性怎么这么傻缺,想动手做个更好用的出来的时候,最后发现比原有的还傻缺=.=
如你所说的去学“很多技术,框架,语言”其实并无必要,因为算法才是程序设计的核心。大部分语言只是将一种东西用不同方式表现出来而已,其本质都是为了解决一个实际问题,而 how to 才是重点,具体技术和框架也是基于物理世界的实际规则来实现的。
dustinth
2015-04-17 10:23:30 +08:00
不用怕, 其他20%会有人帮你解决的.
linpf
2015-04-17 10:24:07 +08:00
@zhuchong0329
@braineo
但对我来说 学那些真的特别吃力。。
canesten
2015-04-17 10:24:19 +08:00
这种程序员的可替代性是100%
不是只是80%
liuchang0812
2015-04-17 10:24:46 +08:00
说白了,连数据结构这种难度的东西都学不会,还想怎样。
fashioncj
2015-04-17 10:27:22 +08:00
数据结构用到了会提高效率,其实很多数据结构其实你都在用,只是你不知道而已
Ison
2015-04-17 10:29:25 +08:00
其实嘛。。。
术业有专攻
如果你真觉得自己在算法跟数据结构方面很难深入的话
你可以重其它方面做突破嘛
何必呢。。。
zhyu
2015-04-17 10:30:54 +08:00
程序=算法+数据结构
linpf
2015-04-17 10:33:29 +08:00
@saki 可能一个程序员的出发点就不一样吧。数学是我的弱点,对于现在的我来说,我把时间耗费在弥补弱点上,不如去把时间放在我擅长的地方,去多学一些别人的成果。就像@braineo 所说的,我适合做一个code monkey。但是努力成为一个good code monkey也不一定不好。
@canesten @liuchang0812 不完全赞同你们的观点。算法和数据结构不能代表一切。
zipher
2015-04-17 10:33:54 +08:00
知其然 知其所以然
想要理解框架为何优秀并很好的使用,需要理解他的算法以及数据结构
kepenj
2015-04-17 10:34:05 +08:00
知其然,也要知其所以然。
apex42
2015-04-17 10:36:24 +08:00
@linpf 你对数据结构的看法有偏差,所有的项目都会用到。用堆栈还是队列、树还是链表、字符串的各种操作等等,这些都是数据结构的知识。还在大三,好好学下编译原理你就知道这些东西的作用,比你想象的大得多。
linpf
2015-04-17 10:36:39 +08:00
@zhyu 这个我是知道的,我说的是不擅长写出最优和复杂的算法和数据结构。
@Ison 我也是这么想的。
@zipher @kepenj 我感觉现在的水平还达不到那个层次。以后有机会的话,我会静下心来把优秀的框架代码给读一遍的。
linpf
2015-04-17 10:38:27 +08:00
@apex42 编译原理学过了,学过了等于没学。根本听不进去,感觉又麻烦又枯燥。我知道这样不好,但是求不喷,因为我打心里抵触这些东西。
linescape
2015-04-17 10:41:51 +08:00
用着python,php,js这些脚本语言的你来玩算法,不就是重复造轮子吗
想研究算法 果断用C去吧
ryd994
2015-04-17 10:42:08 +08:00
code monkey很短命啊,分分钟有一堆培训机构三个月速成出来的monkey来把你顶掉

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

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

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

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

© 2021 V2EX