ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

编程学习方向建议

2021-10-12 12:31:29  阅读:152  来源: 互联网

标签:Java 工程师 编程 ACM 学习 程序员 算法 方向


致还在学习方向岔道上迷茫,在荒废了大一后想要重整旗鼓的当代计算机大学生。随着时间的推移,计算机技术,变化之大,可以用日新月异来形容。暂存绝对地位的java以及火遍线上线下培训班加入中小学课本的paython,或者已经面临淘汰危险的iOS,似乎就在说明这个变化。越来越多大学生开始焦虑选择困难,是先熟练掌握一门语言,还是先精通计算机的底层。答案是底层,是算法。这无需争论,因为,无论是谁站在反对的一面,都会输的一塌糊涂。

卡内基梅隆大学博士,离职google后开创创新工厂的李开复老师,也曾多次言明过算法的重要性。他说,数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等这些,远远比日新月异的语言重要的多。这些都是本质,是“万变不离其宗”的东西。
在国外,美国哈佛大学《算法导论》的公开课,已经登上各大网上公开课的界面,供全世界的人学习。微软操作系统的研发更新,谷歌搜索,百度地图导引等等,这些都需要强大的算法理论在背后支撑。
真正学懂计算机的人(不只是“编程匠")都对数学有相当的造诣,既能用科学家的严谨思维来求证,也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”。

ACM,相信你并不陌生,一项以三个人为一支队伍,在五个小时之内,对十一个题目通过编程进行解决的同场竞技。发展到如今,很多人都加入了进来,这说明算法已经得到了他们的重视。在大学内,我们还没有走入社会,是还在学习时代,会得到很多人的陪伴和帮助,我们应该好好珍惜。
当然有部分离开ACM的大学生认为,算法除了在ACM竞赛中用到,平时几乎接触不到,把算法看做是一门“不食人间烟火”的学问。认同这种观点的人,当下并不少有。而产生这种观点的原因,可能就在于算法的“门槛”之高,算法的“内容”之难,他们是吃多了wrong的loser,甘做大厂码农的败者。

算法包罗万象,奇杂无比。单从狭义上面来说,在ACM竞赛中包括的内容就有二十几种之多,其中就以动态规划、搜索、贪心、递归、计算几何(凸包、半平面交、旋转卡壳)、数学(数论、组合、概率、博弈等)、图论(最短路、生成树、强连通分量、网络流等)、数据结构(线段树、并查集、树状数组等)、字符串(KMP、扩展KMP、AC自动机、字典树、后缀数组)为主。可以说,在任何一类中想要达到某种高度,都是非一两年的学习而不得速成的。
而上述仅仅是从狭义上面说的。在广义上面,ACM算法只是算法中的一小部分。还有其他的包括机器算法、人工智能算法、大数据算法等等。可以说,算法才能代表计算机科学。没学过算法,没掌握过算法的程序员,不能说他有能力。用一句话来形容,就是“整天赶时髦的人最后只懂得招式,没有功力,是不可能成为高手的。”
接触过算法的人也许都知道,算法难,甚至非常难。当然,没接触过的但是身边有学算法的人听他们说的也可能领会到了,算法的
“难”。的的确确,算法是真的具有很大的挑战性。要学好算法,极其不易。但正是因为它的“难”,才具有必学的“重要性”。“每个行业,初步探索,都是一条漫长而艰苦的道路。计算机行业何尝不是这样呢!

只是当今很多人对此产生了认识的偏差,因为工程性的原因,很多业界人士甚至还未毕业工作的大学生都如此认为,我们学计算机,学软件知识以后是用来工作的,是用来做项目的,我们应该学活Java或者其他一门足够拿到offer的技术,学算法以后工作都用不到,这岂不是浪费时间?
听到这样或者类似这样的认识,我个人觉得很可悲。当然,有的时候我也会将心比心,换位思考一番。毕竟大学只有四年,刨去大四,最多只有三年的学习时间,对于一个不选择考研的人,选择找工作这条路的话,也是不容易的。
面对如今不管大小公司的职位招聘,无非是一些“Java工程师”、“C++工程师”、“Java服务器”、“php工程师”、“前端工程师”、“安卓工程师”等等。其涉及涵盖的主要是网站前端设计、网站后端服务器维护、安卓app开发、嵌入式几个方面。接触过的明白,这些东西任何一样似乎同样不太好学,对于已经荒废了一两年的人,选择某一个培训,似乎也需要一两年。纠结于学什么语言,以后找什么样的工作。就算是想好当程序员,可殊知,程序员也是分很多很多种。

个人建议,如果你是正在读相关专业的大一学生,希望能够接触一些基本的算法。就算不能熟练掌握,不能够写出优美代码,也需要了解其中思想。因为有可能在以后的某个项目中,你就会用到。这是每个程序员都需要掌握的“内功”。不学,是一定会吃亏的。因为,不管在什么时候,算法都是计算机科学领域最重要的基石。

内容引荐于
FZU_SYU
百度百科

标签:Java,工程师,编程,ACM,学习,程序员,算法,方向
来源: https://blog.csdn.net/qq_34110350/article/details/120721088

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有