一个出色的程序员,除了能像码积木一样的写代码,还要掌握算法吗?

2017-12-04 08:58:01 +08:00
 find456789

是不是要学各种算法,才能找到高薪工作

感觉算法是一种特别高大上的东西,都有点不敢去学了,有些望而却步了

3960 次点击
所在节点    问与答
21 条回复
cctv1005s927
2017-12-04 09:11:28 +08:00
???什么程序员不需要学习算法
anoymoux
2017-12-04 09:32:05 +08:00
1.要
2.是
3.为什么不敢...看不懂你的逻辑,难道一个女生太漂亮,你就不敢喜欢她吗?简单重复的事情会让人变得平庸,养成知难而上的习惯!
vegito2002
2017-12-04 09:33:58 +08:00
会的越多, 赚的越多. 不想学就不要嫌薪水低, 哪一行都是这样
takato
2017-12-04 09:36:04 +08:00
未来五年是科学家的时代
xiandao7997
2017-12-04 09:39:27 +08:00
歪个楼 楼主头像是一个 草 吗
find456789
2017-12-04 09:40:10 +08:00
@xiandao7997 头像是系统默认赠送的
lwbjing
2017-12-04 09:41:14 +08:00
软考程序员考试要求

( 1 )掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
( 2 )理解计算机的组成以及各主要部件的性能指标;
( 3 )掌握操作系统、程序设计语言的基础知识;
( 4 )熟练掌握计算机常用办公软件的基本操作方法;
( 5 )熟练掌握基本数据结构和常用算法;
( 6 )熟练掌握 C 程序设计语言,以及 C++、Java、Visual Basic 中的一种程序设计语言;
( 7 )熟悉数据库、网络和多媒体的基础知识;
( 8 )掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
( 9 )了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
( 10 )了解信息化、计算机应用的基础知识;
( 11 )正确阅读和理解计算机领域的简单英文资料。
ipwx
2017-12-04 09:54:43 +08:00
其实,会算法也有两种人:

( 1 )根据前人研究出来的各种数据结构和算法,搭积木一样地完成自己要做的程序;
( 2 )研究出前无古人后无来者的算法。

而且,这里的算法不仅局限于什么排序之类的经典算法,比如以下都可以称之为算法:

( 1 ) SVM,决策树等传统机器学习方法;
( 2 )深度网络等新锐机器学习方法;
( 3 )并行、高性能程序设计。

这些算法也都有“搭积木”和“做研究”两种从业人员的存在。

楼主想要往哪个方向努力,自己看着办吧。
deadEgg
2017-12-04 09:56:55 +08:00
搬砖 + 算法 = 稳定快速的搬砖
amezf
2017-12-04 10:02:38 +08:00
不学算法,你不知道积木怎么码才能更牢固、更省材料。
SuperMild
2017-12-04 10:18:56 +08:00
会设计建筑当然更好,但搬砖砌墙的工人也是社会需要的,也产出价值。

甘于搬砖很好,力争上游也很好。

又不是每个人都有很高智商,有的人学算法要花很多精力,又希望花更多时间去享受生活,那不钻研算法也很合理,每个人情况不一样。
coderluan
2017-12-04 10:24:01 +08:00
首先,一个出色的程序员并不一定要精通算法,毕竟发展的方向很多。
但是,一个人连基本的算法都掌握不了,他肯定成不了优秀的程序员。

前者是选择,后者是能力,能力不够的人谈选择,就是找借口。
ipconfiger
2017-12-04 10:25:00 +08:00
算法就像是扳手, 你不需要会造扳手好歹也要会用吧. 如果不动算法就等于把扳子当锤子使, 怎么可能高效呢?
zhaoweichen
2017-12-04 10:28:45 +08:00
是的啊。不过优秀的程序员不光要会算法(或者说是会估算复杂度),还要会系统( OS,网络,等等)。
fl2d
2017-12-04 11:39:54 +08:00
我觉得 lz 说的算法不是冒泡排序,而是比如动态规划、机器学习之类。
据我所见,大多数程序员连微积分都不会了。
find456789
2017-12-04 13:13:58 +08:00
@fl2d 我学历小学, 所以数学 学的少,半路出家,不太了解算法,学编程我都是看书,看网上的课程学来的
SuperMild
2017-12-04 13:29:01 +08:00
其实一些基本算法的使用,也不是很难,和搭积木差别不大,也不需要很多数学知识,硬着头皮硬啃,时间长了总能搞懂的
ycwang
2017-12-04 14:07:18 +08:00
算法+数据结构=程序
gonethen
2017-12-04 15:02:30 +08:00
佩服楼主,小学学历能入行,很不错了
Moorj
2017-12-04 15:20:38 +08:00
算法的含义很多啊,1+1=2 1*2=2 0 不可以作为被除数,这都是算法啊,乍一眼看上去可能比较绕,但是小学就会啊

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

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

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

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

© 2021 V2EX