V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
find456789
V2EX  ›  问与答

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

  •  
  •   find456789 · 2017-12-04 08:58:01 +08:00 · 3802 次点击
    这是一个创建于 2333 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    第 1 条附言  ·  2017-12-04 13:15:41 +08:00
    我学历小学, 所以数学 学的少,半路出家,不太了解算法,学编程我都是看书,看网上的课程学来的

    听到大家说什么 冒泡排序,这样的名词,我就有些 望而却步,不敢去学

    我还专门买了一本《啊哈 算法》 看了没有几页,就看不太懂了

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

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

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

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

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

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

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

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

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

    前者是选择,后者是能力,能力不够的人谈选择,就是找借口。
    ipconfiger
        13
    ipconfiger  
       2017-12-04 10:25:00 +08:00   ❤️ 1
    算法就像是扳手, 你不需要会造扳手好歹也要会用吧. 如果不动算法就等于把扳子当锤子使, 怎么可能高效呢?
    zhaoweichen
        14
    zhaoweichen  
       2017-12-04 10:28:45 +08:00   ❤️ 1
    是的啊。不过优秀的程序员不光要会算法(或者说是会估算复杂度),还要会系统( OS,网络,等等)。
    fl2d
        15
    fl2d  
       2017-12-04 11:39:54 +08:00   ❤️ 1
    我觉得 lz 说的算法不是冒泡排序,而是比如动态规划、机器学习之类。
    据我所见,大多数程序员连微积分都不会了。
    find456789
        16
    find456789  
    OP
       2017-12-04 13:13:58 +08:00
    @fl2d 我学历小学, 所以数学 学的少,半路出家,不太了解算法,学编程我都是看书,看网上的课程学来的
    SuperMild
        17
    SuperMild  
       2017-12-04 13:29:01 +08:00 via iPhone
    其实一些基本算法的使用,也不是很难,和搭积木差别不大,也不需要很多数学知识,硬着头皮硬啃,时间长了总能搞懂的
    ycwang
        18
    ycwang  
       2017-12-04 14:07:18 +08:00 via Android   ❤️ 1
    算法+数据结构=程序
    gonethen
        19
    gonethen  
       2017-12-04 15:02:30 +08:00
    佩服楼主,小学学历能入行,很不错了
    Moorj
        20
    Moorj  
       2017-12-04 15:20:38 +08:00
    算法的含义很多啊,1+1=2 1*2=2 0 不可以作为被除数,这都是算法啊,乍一眼看上去可能比较绕,但是小学就会啊
    MrXiong
        21
    MrXiong  
       2017-12-04 15:36:19 +08:00
    刚开始看确实头疼,可以慢慢来,不要畏惧,算法中的数学证明可以忽略,看看概念,理解逻辑,多花点时间,还是能看懂的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2799 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:41 · PVG 23:41 · LAX 08:41 · JFK 11:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.