如果你想成为某一领域方面的高手,那你一定要对这个领域有本质级别的理解才行。这就是为什么历史上的张良、诸葛亮、刘伯温这类人能够运筹帷幄,决胜千里,帮助帝王打下江山的根本原因。同样的道理,如果你想成为一个优秀的软件开发者,你也必须对软件开发有本质级别的理解才行。我们可以从以下几个方面来逐渐理解软件开发的本质。
了解cpu的人都知道,cpu是没有智力的,它只会做两件事:读取指令和执行指令。而且,任何机器的指令数都是有限的。可是从事软件开发的人都知道,编程语言有很多,用编程语言开发出来软件更是多如牛毛。
那软件技术的本质是什么?答案其实很简单:软件技术的本质是人的思想。大到各种框架,小到一个方法,无一不是人类的思想以代码的形式体现出来。所以,如果你想成为一个优秀的软件开发者,你一定要广泛而且深入地学习和掌握各种处理问题的软件技术(通俗点称为方法技巧),这些都是思想的来源之一。为什么说是之一?因为除了学习和模仿之外,你可以将别人的思想打磨成更优秀的思想。或者,更进一步地进行创新发明出前所未有的新思想,这是一种更伟大的举措。比如,当遇到新的问题时,现有的所有技术没有一个能解决当下问题时,就势必要求有人创新出新的技术出来。仔细回顾一下如TCP/IP、计算机操作系统、ajax、Nginx、EL、K8s等等技术的出现,无一不是在因为当时现有技术难以解决所遇到的问题的背景下被催生出来的。
那编程语言的本质又是什么?编程语言的本质好比宗教一样的平台。宗教的本质是人对现实世界的理解,是人类世界观的体现。我们都知道世界上主要有三大宗教,每一种宗教对现实世界的理解是不一样的。比方说佛教认为神界有如来、玉帝等一干众神且如来是神中No.1,而基督教则认为神界有耶稣、宙斯等一干众神且耶稣才是神中No.1。如果你学习过多种不同的编程语言,你肯定会发现不同的编程语言之间会有所不同,比如最基本的有基本数据类型不同、强类型弱类型等。当你用某一种语言在编程时,这意味着你在由这个语言构成的一个基础平台上实现你的思想。
编程语言和软件技术又有什么关系?前面说了,当你用某一种语言在编程时,这意味着你在由这个语言构成的一个基础平台上实现你的思想。这就是编程语言和软件技术之间的关系。而且,思想是可以跨语言的。这点和现实世界中的语言一样,比如同样是吃饭睡觉,在英语和汉语中都能找到词汇来表达。同理,可以用C语言写一个求和函数,用Java语言也可以写出来一个求和函数。
除了要对编程语言和软件有本质的理解外,你应该还要对软件开发管理有本质的理解。

如何才能成为一名优秀的软件开发者相关推荐

  1. 怎样才能成为一名优秀的软件开发者

    怎样才能成为一个优秀的软件开发者? (译者注:原文是for BCBer 的,但其实本文所述对所有Programmer都适用,具体到编程语言的几乎没有,所以就这样译了...) 作者:    不详     ...

  2. 业余软件开发_我需要在业余时间编码才能成为一名优秀的开发人员

    业余软件开发 "You need to code in your spare time to be a good developer" - I've been hearing th ...

  3. 做一名优秀的软件开发qa_如何成为一名优秀的开发人员

    做一名优秀的软件开发qa As a PHP developer, or any kind of developer as a matter of fact, you need to constantl ...

  4. 怎样才能成为一名优秀的教师博客呢?

    来自:http://eblog.cersp.com/userlog16/30228/archives/2006/152691.shtml 你是一名教师吗?但你不一定是一名优秀的教师,你是一名教师博客吗 ...

  5. 如何才能成为一名优秀的设计师?

    本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 如何才能成为一名优秀的设计师?平面设计的过程是有计划有步骤的渐进式不断完善的过程,设计的成功与否很大程度上取决于理念 ...

  6. 我与我的职业梦想 – 成为一名优秀的软件工程师

    无知少年对于计算机的热爱,甚至可以追溯到初中时为了弄明白步步高 9188 英语词典学习机中的 RPG 游戏,懵懵懂懂地看着 VB 的语法书:高中时,在全部人都沉浸在游戏的网吧中,看着是似懂不懂的 C ...

  7. 自学前端开发:想要学习成为一名优秀的前端开发者,代码之外需要关注的问题

    不要只知道蒙着头写代码,想要学习成为一名优秀的前端开发者,你还有许多代码之外值得关注的问题. 学好英语 一定要学好英语,虽然英文不好也可以学会前端.但你一定会遇到比英语好的人更多的困难.因为你只能看中 ...

  8. 怎样才干成为一名优秀的软件測试人员

         近期在和一些公司的软件project师和管理人员交流时,发现他们常常发出这种感慨:寻找一名优秀的測试人员这是太难了. 那么.具备哪些要素才成成就一名优秀的測试人员,以下是我觉得比較重要的几点 ...

  9. 请你努力成为一名优秀的软件工程师,拒绝做优秀的码农!

    最近,很多网友问我,怎么才能成为优秀的软件工程师,而不是优秀的码农?这个问题应该是最近这几年程序员的诉求了,估计每个程序员的理想都是做一个高大上的工程师,而不是只会Ctrl+C和Ctrl+V的码农.从 ...

最新文章

  1. 推理计算过程_转导推理—Transductive Learning
  2. 人工智能新手入门学习路线!附学习资源合集
  3. 重要头文件: cc430x613x.h
  4. Altium Designer -- PCB布局与布线
  5. VHDL硬件描述语言
  6. Go 中string和int类型相互转换
  7. Android 应用开发(36)---LinearLayout(线性布局)
  8. shell提取文件中的dojo mobile类
  9. 从命令行接收多个数字,求和之后输出结果
  10. 非常适合新手的jq/zepto源码分析05
  11. 求解偏微分方程开源有限元软件deal.II学习--Step 37
  12. swift 获得手机IP(运营商IP和WiFi的IP)
  13. ES6学习笔记七(Set和Map)
  14. 解析数论引论 第1章 算术基本定理
  15. 基于asp.net719圆通快递物流管理系统
  16. 安卓源码目录最全解析
  17. Unity - Timeline 之 Nesting Timeline instances(嵌套的Timeline实例)
  18. hr 标签可选的属性(续) 和 img 标签介绍
  19. Android 音视频难学?音视频(流媒体)开发学习也有套路
  20. PCB过孔的孔径大小对通流的影响

热门文章

  1. 通过CLion 调试JDK源码
  2. 桌面Linux下分区建议方案
  3. 解决使用JSONObject.fromObject方法没有对应依赖的问题
  4. location.href表示当前访问的网址url
  5. SAP ABAP EXCEL 下载模板并导入(数据批导)
  6. robocode 相关的总结
  7. linux格式化硬盘文件恢复,Linux格式化后数据恢复
  8. 证书吊销列表(CRL)简单介绍与相关openssl C api功能测试
  9. navicate导入sql时出现错误error:1300 - Invalid utf8 character string: 'D7D4D4'
  10. Hbase思维导图之物理模型