>

新人风华正茂初步要怎么学编制程序,大腕教你

- 编辑:金沙澳门官网4166 -

新人风华正茂初步要怎么学编制程序,大腕教你

核心提示:当今世界不仅实体书资料多多,网络资源更是丰富。并且犹如“摩尔定律”一般,隔个一两年某些资料就翻了一番。所以我认为只要有兴趣,时间和毅力完全可以通过网络自学进入锚点程序员队伍。

C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已经少了很多,java、C#、python等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。

此文主要针对没有受过计算机专业教育又想进入计算机行业的人。

金沙澳门官网4166 1

当今世界不仅实体书资料多多,网络资源更是丰富。并且犹如“摩尔定律”一般,隔个一两年某些资料就翻了一番。所以我认为只要有兴趣,时间和毅力完全可以通过网络自学进入程序员队伍。

现在学习java、C#等语言的人数远远高于C++,主要是C++的入门门槛太高,可能学习了一段时间后还做不了什么东西,导致信心大受打击,进而放弃。

吐槽

我想把我自己的经验分享给大家,希望帮助新人少走些弯路。

金沙澳门官网4166 2

在此我们不讨论具体的技术细节,只说我们应该学习什么东西。一、技术能力

虽然资料很多,不过我要吐槽一下大部分的教科书、教程。

  1. 语言

大多数资料一开始都是在讲XX编程语言的特性,各种编程语言的区别。但是这对新人的帮助其实没有多大,传授方觉得这些好简单很好理解啊。但这是基于自己已经有多年编程经验和使用过几门语言的前提下。

我们要成为一个程序员,学的东西会很多很杂,但是最开始一定要从语言开始学习,而学习语言最关键的莫过于选好一本书,学校的教材就算了,根本没有写得好的。在此隆重推荐《C++ Primer》,这本书很厚,内容也很丰富,对知识的讲解不仅仅停留在表面。如果这本书能有耐心看完,语言方面基本就没有什么大问题了,对以后的学习也打下了一个很好的基础。

更有甚者还推荐新人去看《Thinking in Java》这种书(我觉得《Head First Java》更适合新人)。而且大多程序员写东西时通常喜欢炫技,要讲一个东西就要东拉西扯到别的东西尽可能抛出各种牛逼哄哄的词汇,但是那些牛逼词汇对新人来说根本不需要看到甚至不应该看到。

  1. GUI

例如如果学的第一门语言是Java,一上来跟一行代码都没敲过的人讲Java有什么优缺点,和别的语言做比较,发展过程是怎样,每个版本比前一个版本新增了什么机制。

C++方面的GUI库有很多种,比如MFC、WTL、 wxWidgets、QT。这些GUI库都各有自己的特点,其实我们只要先了解一种就可以了,只要深入了解了一种GUI库,需要的时候再学习其他的就够了,本质上都差不多,很快就可以上手了。MFC虽然设计上有很多问题,但是作为入门还是不错的,而且学习资料很多,碰到问题也好解决。

这是要让新人背诵吗?这除了让新人困惑打压学习兴趣之外有什么用处呢?

  1. 数据结构和算法

这些知识是不是可以后置?

很多人都忽视了数据结构和算法方面的知识,尤其是一些编程语言的库做得非常好,几乎不需要自己去实现一些数据结构和算法,导致现在很多程序员不重视甚至忽略这方面的知识。但是,当我们想让我们的程序跑的更快、内存占用更少的时候,这些知识就非常非常重要了。很多程序员都是刚开始的时候不重视这些,但是工作几年后又来补习这些知识。

学习的过程应该是简洁的,必须是用大部分现有知识去学习少量新知识的吞噬过程。而不是用少量已有知识去消化大量新知识。后者是痛苦且低效的。

另外如果你想成为一名优秀的、高薪的程序员,那就千万不要错过学c/c++,关于C/C++编程学习,小编给大家提供一个学习交流群,欢迎到访C/C++学习--先5692;后68376,要是你对C语言、C++或者是算法方面有兴趣的话,不管你是大牛还是小白,大家都一起成长进步。

吐槽完了回归主题。

金沙澳门官网4166 3

选一门编程语言

最开始可能不需要学习的太深入,但是基本的数据结构和算法一定要知道。

学编程自然要先选一门编程语言当入口。语言都是工具,选工具前你要明确自己做什么东西,然后找什么语言适合做。例如做安卓应用学Java,做IOS应用学swift。

推荐《数据结构》,在数据结构和算法的学习中,最好不要去关心面向对象方面的技巧,就用C语言来实现,这样能更关注于算法本身的内容。

选好了语言不要纠结版本问题

  1. 数据库

选择学一门语言不要纠结学什么版本,例如现在是安装java6还是java7还是java8啊?学当下最新的就行,不要老YY什么兼容问题。

学习数据库的基础知识,并且掌握一种数据库使用,推荐使用mysql,而且最好不要用一些封装好的接口,而应该直接用mysql提供的数据库api,可能对数据库了解的会更深入。

新人在很长时间内达不到要被版本区别坑的水平。而且基本上作为新人从开始学到开始能做产品怎么也得一两年。到时候现在这个版本就是稳定主流版本了。

  1. 金沙澳门官网4166 ,并行

先搞定语法

cpu主频已经不能遵循摩尔定律了,现在cpu发展的趋势是多核心。无论是多线程,还是多进程,都是为了更好的利用cpu的性能,提供更好的用户体验。这就要求我们如果要写出高效的应用程序,必然要涉及到并行计算。多花些精力在并行计算上吧,一定会有丰富的回报。

一开始不用学枯燥的计算机组成原理、设计模式之类的知识。就先学语言,也不用深究历史啊优点啊区别啊,直接学语法。

  1. 网络编程

不用管那么多,先做些看得见的东西。敲代码敲代码一直敲代码,感受一下控制计算机的感觉。这样才能让自己感到酷炫,激发一边学一边和小伙伴们嘚瑟的热情。

这里所指的网络编程是指socket编程。现在C++的应用很多都是在做服务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是我们要考虑的了。

先学好一门语言回头再来看看历史和做比较,看看大师们的理论,逐渐向外扩展更多知识或许更有效率。

  1. 设计模式

本文由健康知识发布,转载请注明来源:新人风华正茂初步要怎么学编制程序,大腕教你