在IT行业摸爬滚打十几年的应该知道,下面简单说说关于编程需要掌握的技术与相关知识。很多人感觉编程很难。很多人问我,我英语不好,数学不好能做编程吗?
我非常肯定的说,能做编程。编程的领域很广泛。细分出来有嵌入式编程,系统编程,应用编程,网络编程,数据库编程等等,另外每一类有可细分出来许多,所以编程要看你具体干什么编程。虽然说都是英文编程,但是都是固定的关键字,熟悉了自然也就记住了。所以英文不好的,完全可以编程。编程的过程中其实还是控制类比较多,基本都是逻辑思路的编程,实际用到数学模型,数学公式的编程比较少。所以大家不必担心,大胆的去学习编程吧!下面我就简单讲讲编程学习过程。
一个IT工程师应该具有的技能
我认为实用技能包含3个方面,编程能力(编码),项目开发经验,编程理论基础。
编码:你必须能够在限定时间内编写出高质量的代码。经验:具有相关经验表明你对该行业的热情,并能够在一开始就进入工作状态。理论:理论知识是IT工程师的基础,好的理论知识能够让你快速解决新出现的问题。
这些都是很重要的。
首先要提高你的理论知识:
学习C语言,C是编程的基础。
因此,学习C语言能为我们了解高层概念打下坚实的基础。学习C语言的基础知识并不会花太长时间,只需要几个星期的时间一般就能够掌握。C没有太多的抽象封装,这就使得C语言相对简单,和其他人一样我学习C语言是看《C Programming Language》这本书(我们可以看谭浩强的书)。一旦你能够真正理解C语言中的指针和内存管理,C就会变成一门有趣的语言,因为它将帮助我们从处理器层面(底层硬件)来理解语言,而这正是其他大多数的高级语言所不具备的。同时了解这些概念,也将有助于你了解更高层次的语言工作。
了解数据结构和算法:
虽然在网站/应用程序开发中编写复杂的算法和数据结构比较少见,但是数据结构和算法在我们编写复杂系统的时候将会影响我们的思维。即使你不需要编写自己的数据结构,你也可能会在编程中使用到他。因此,了解基本的选择是至关重要的。 我推荐这本书,《算法导论》。由于这本书是很长,如果你没有时间把他读完,那也要学习其中的排序,哈希表,二叉树,字符串匹配部分。 一旦你很好的掌握了数据结构和算法,你会发现这些概念只是将你做的每件事都总结成问题而已。
比较编程语言:
一开始,你会经常接触多中编程语言。你可能还需要快速学习新的语 言和概念。为了加快学习,学习不同语言有助于我们了解他们的概念以及他们的相似及不同之处。最好的办法是在下面每种风格的语言中学一门言:
底层:C语言。
面向对象:C++,JAVA等。
动态语言,高层次的语言:python, ruby 等。
函数式语言:Lisp, Erlang, Haskell等。你既然能在一个领域成为专家,就表明你同样能在其他领域做得一样好。你理解这些语言/框架的细节可以让你根据不同技术的优缺点来做出决定。你有激情去深究一个项目并且深入语言的最底层。
一个工程师的编码的质量和速度是很重要的,而这只能来自于实践经验。
另外,使用合适的语言和框架对于一个项目也是很有帮助的。例如用Python和Ruby等脚本语言可以比使用像Java、C++这类静态语言的许多情况下更快。在技术方面仅仅是一个硬币的一面。虽然是一名IT工程师,但是还是需要了解各方面各领域的知识。
另外,C/C++是一个既可以强化思维能力,又可以打好编程基础的编程语言,你想要做软件开发,成为核心程序员的话,学习C/C++是比较好的选择,笔者有一个C/C++的编程千人湫羣(Q艘索:C语言编程学习聚集地(无言建立))你如果感觉自学C/C++语言有困难的话,有兴趣学习或者了解一下C/C++编程的伙伴就可以进来交流。下面给大家分享一下C/C++的学习路线图: