编程学习初体验(4. 编程的核心)
软件行业,就其功能而言就是一个工具行当,和会开车的司机,会开机器的工人没有什么区别。因此仅仅作为工具的操作者, 一个程序员是不值钱的,因为他只是一个更为高级的工具。一个有身价的程序员他之所以值钱,是在于他的创造力。程序员的创造力并不在于会画个界面,会用开发 环境什么;而在于他对计算机这个行当的根本的掌握。 计算机是应用数学和电子工程上派生出来的一个果子。因此程序员的核心竞争力在对数学和硬件知识的掌握。因此这个世界上只有两种程序员永远不会待业,那就是 算法高手和硬件高手。 但是对于软件专业出身的程序员来说, 算法是最核心的竞争力。我和很多程序员相处过,交流过。他们中的大多数都有对失业的担心,即便是已经在大公司从业了很多年的程序员: 软件技术发展日新月异,没人能永远跟住技术发展的脚步,总有会被淘汰的时候。 但是那些着眼于算法的程序员大多没有这种忧虑,年龄的增长只能让他们更加有经验,变得更吃香。我认识的一个做图像处理的朋友,写出来的程序一点可读性都没 有,而且很不规范,动不动就crash了。但是老板无论换谁,都不会换他,因为他的算法性能高,能实现别人不能实现的图像检测能力。而那些帮他改程序,写 注释的“职业”程序员, 尽管写出来的程序正规工整,但是工资涨不了多少,而且还得担心哪天就开路了。 相比之下, 可见一斑。
因此,学习编程的朋友们,不要去太过追求和写代码相关的能力,抱着本MFC手册当宝典了,而是应该耐心下来关注最基础的数据结构和算法,把他们搞透玩熟。 这是基础中的基础,核心中的核心;没有这些,以后的会很难得到提高。而且这些基础可能在以后的十几二十年里面,你都不会再会有时间和精力去重新扎扎实实学 一遍了。
此外,我还想补充一点。是不是这么说软件工程就没必要去学了? 软件工程是计算机科学中比较偏向工程方面的一个比较新的分支,对于开发而言也是至关重要。因此这个肯定是要学,而且要学好,此外在工程上,程序框架,类库 的掌握,都是必须的知识。 但是掌握这些知识只能让人成为一个合格或者出色的工匠, 但是永远成为不了一个有创造力的大师。这个社会上,工匠成千上万,多你一个不多,缺你一个不少;但是大师却是寥寥无几。在计算机行业,更是如此。
转载于:https://blog.51cto.com/nathanxu/110075
编程学习初体验(4. 编程的核心)相关推荐
- 编程学习初体验(5. 如何自学编程)(3)
3 少量项目实践--自学和上学的区别 有句老话叫做学以致用,说的是如果不是为了用而学,是没有意义的: 同样,在用中学才能真正的掌握学到内容.编程跟着书本走,入书之后终究需要脱离书本,做到"出 ...
- 【头歌平台】人工智能-深度学习初体验
深度学习初体验 第1关:什么是神经网络 第一题 神经网络中也有神经元,这些神经元也会与其他神经元相连接,这样就形成了神经网络,而且这种网络我们称之为全连接网络.如下图所示(方块表示神经元): 从图可以 ...
- 莆田Java开发_莆田学java编程,莆田java编程学习学校,莆田java编程学习一般能拿多少工资...
莆田学java编程,莆田java编程学习学校,莆田java编程学习一般能拿多少工资 首页 > java > 莆田学java编程 作者:镀金池 发布时间:2017-10-18 06:51 ...
- yii schema.mysql.sql_YII学习,初体验 ,对YII的一些理解.
先说点没用的: 不会选择,选择后不坚持,不断的选择.这是人生中的一个死循环,前两一直迷茫.觉得自己前进方向很不明朗.想去学的东西有很多.想学好YII,想学PYTHON 想学学hadoop什么的,又想研 ...
- linux编程学习_您需要编程技能才能学习Linux吗?
linux编程学习 几个月前,我参加了edX提供的Linux入门课程. 这是一门18章的课程,其中包含大量阅读材料,一些视频以及随意测试知识水平的课程. 我写了关于前六章的内容,以及该课程的工作原理, ...
- day21—AngularJS学习初体验
转行学开发,代码100天--2018-04-06 今天按照学习计划安排,开始AngularJS的学习. 关于AngularJS,在菜鸟教程上这样介绍 好吧,Angular学习起来非常简单,哈哈,现在就 ...
- Android开发学习之路--网络编程之初体验
一般手机都是需要上网的,一般我们的浏览器就是个webview.这里简单实现下下功能,先编写Android的layout布局: <?xml version="1.0" enco ...
- 1000小时编程恋爱初体验
作者:Peter Higgins 翻译:童角大王 2017年10月4日,周三,我开始了一段学习和发现之旅,到目前为止,我已投入了700小时自学,500个小时参加编程训练营.一个目标始终激励着我--成为 ...
- (linux自学笔记)linux系统初体验与编程基础
原文出处: http://www.cnblogs.com/hebaichuanyeah/ 接触linux几天时间.感觉快要完全放弃IDE和图形界面了--虽然个人感觉IDE方便很多. 关于gcc gcc ...
最新文章
- 计算机、数学、运筹学等领域32个重要算法
- 分布式消息队列 — RabbitMQ(3)
- Nginx源码分析-内存池
- vim的介绍与常用的命令
- java之arr.toString()与Arrays.toString(arr)区别
- 【SpringCloud】服务网关 gateway 和 zuul
- Junit 测试时内存溢出解决办法
- 许久了,都体会不到恋爱的气息
- java 字符串 字节数组_字符串到字节数组,字节数组到Java中的字符串
- 【MATLAB】基本绘图 ( 保存图像 | saveas 函数 )
- 基于linux环境tcp网络编程(在线英英词典)文档 [1]
- 【流媒体开发】6、ffplay命令
- win10 系统无法远程桌面连接到服务器,Win10系统不能建立远程桌面连接总是连接不上如何解决...
- 纠删码(Erasure Code)及其演进LRC(Locally Repairable Codes)原理讲解
- 再谈EPT与影子页表
- 浅谈sklearn中DBSCAN的欧式距离(Euclidean Distance)的计算
- 简单的基于交换机迁移的SDN控制器负载均衡实验
- warning: iteration xxxu invokes undefined behavior [-Waggressive-loop-optimizations]
- Excel快速入门02
- 抖音三农号创作者具体应该如何做?