给初学IT者的一点建议_北大青鸟西安建大IT学院

日期:2019-07-03 11:11作者:北大青鸟西安华清校区

摘要:对初学者来说,IT界的技术风潮是不可以追赶的,也没有能力去追赶。时常看见自己的DDMM们把课本扔了,去买价格不菲的诸如C#, VB.Net 这样的大部头,让人感到非常痛心。C#就象当年的
关键词:

       对初学者来说,IT界的技术风潮是不可以追赶的,也没有能力去追赶。时常看见自己的DDMM们把课本扔了,去买价格不菲的诸如C#, VB.Net 这样的大部头,让人感到非常痛心。C#就象当年的ASP一样,许多学校的信息学院成了“Web 学院”,不少大学生都去做Web 了。如果他们把追赶时髦技术的时间多花一点在基础的课程上,是可以走得更远的。  

误区

       初学者对某语言风潮的追赶其实也是学习过程中经常遇到的误区之一。用一些实际的例子来说明这些现象,你可以看看自己是不是属于其中的一种或者几种:  

01

 

认为计算机技术等于编程技术 

       有些人潜意识中有这样的想法。奇怪的是,许多信息学院的学生也有这样的念头。认为计算机专业就是编程专业,与编程无关的,或者不太相关的课程他统统不管,极端的只要书上没“编程”两个字就不看。  

       其实,编程只是计算机技术应用中一种复杂性最低的劳动,这就是为什么IT业最底层的人是程序员。计算机技术包括多媒体,网络,人工智能,模式识别,管理信息系统等方面。编程只是在这些具体技术在理论研究或工程实践的过程中表达算法的过程。编程者未必对计算机技术了解很深。而一个有趣的现象是,不少大师级的计算机研究者是不懂编程的。网上的炒作和现实中良好的待遇把编程劳动神秘化了。每个程序员心里都明白,这些东西学的时候并不比其它专业难,自然也不会高大上到哪去。  

 

咬文嚼字的孔乙己作风       

 
02

       我见过一本女生的《计算机网络原理》教材,像小学生一样在书上划满了杠杠,笔记满满,打印出来比教材还厚。然而,计算机网络原理课程有必要做笔记?完全不必。所谓《原理》,即需要掌握它为什么这样做,学习why而不是how。认真的学生背下以太网的网线最大长度,数据帧的长度,每个字段的意义,IP报头的格式等等,却忘了路由的原则,忘了TCP/IP协议设计的宗旨。总之,许多人花了大量时间把书背得滚瓜烂熟,却等于什么也没学。  

       学编程的时候这些学生也是这样,他们确切记得C++语法的各个细节。看完了C++教程后看《Thinking in C++》(确实是好书),《Inside C++》,《C++ reference》,this C++, that C++……,然后是网上各种关于C++语法的奇闻逸事,发现自己又忘了C++语法,回头继续恶补。有个师弟说:“C++ 太难了,学了这里忘那里,学了继承忘了模板。”死抠C++的语法就和孔已己炫耀茴字有几种写法一样毫无意义。你根本不需要对语法太关心,动手编程就是了,不记得的一查MSDN就立马搞定。实际的开发过程中对程序语法的了解是最微不足道的知识。

 

03

 

不顾基础,盲目追赶毛技术

       多数人希望自己的东西马上变成钱。这种想法对一个已经进入职业领域的程序员或项目经理来说是合理的,且IT技术进步是如此快,不跟进就失业。但对于初学者来说,这种想法不可取。并未进入到行业竞争中的初学者最大的资本,便是有足够时间沉下心来学习基础知识,学习why而不是how。时髦的技术往往容易掌握,而且越来越容易掌握,这是商业利益的驱使,为了最大化降低软件开发成本。
 

       在IT领域内的现实就是这样,越容易掌握的东西,学的人越多,淘汰得越快。每次新的技术出来,都有许多初学者跟进,这些人由于缺乏必要基础而使自己在跟进过程中花费大量的时间,等他学会了,技术也快淘汰了。基础课程,比方数据结构,操作系统原理虽然不能让你立马实现一个linux(这是许多人嘲笑理论课程无用的原因),但它们能显著减少你在学习新技术时学习曲线的坡度。而且对于许多关键的技术(比如Win32 SDK 程序的设计,DDK的编程)来说是不可或缺的。  


       有个不很恰当的比喻:假设学习VB编程需要4个月,学习基础课程和VC的程序设计需要1年。那如果你先学VB,再学习后者,时间不会减少,还是1年,而反过来,如果先学后者,再学VB,也许只需要1星期就非常熟练。  
 

几个重要的基础课程

 

       如果你有时间,建议你仔细掌握下面的知识。还列出了一些书目,这些书应该都可以在书店买到。

 

       大学英语,不要觉得好笑。没有专业文档的阅读能力是不可想象的。中文翻译往往猴年马月才会出来,许多出版社干脆直接把英文印刷上去。强迫自己看原版教材,开始不懂,用多了自然熟练。吃得苦下得狠心是任何行业都需要的品质。

 

       计算机体系结构和汇编语言关于体系结构的书遍地都是,也大同小异,倒是汇编有一本非常好的书《80x86汇编语言程序设计教程》。你需要着重学习386后保护模式的程序设计。

 

       计算机操作系统原理开发总是在特定的操作系统上进行,如果不是,只有一种可能:你在自己实现操作系统。无论如何,操作系统原理是必读的。

 

       数据结构和算法这门课程能够决定一个人程序设计水平的高低,是核心课程。很多人喜欢买C++版的,没有必要。C++的语法让算法实现过程变得复杂多了,倒是在学完了C版的书以后再来浏览一下C++的版的书是最好的。  

       软件工程这门课程是越到后来就越发现它的重要,建议是看《实用软件工程》。不要花太多时间去记条条框框,看不懂就跳过。在每次自己完成了一个软件设计任务后再来回顾,每次都有收获。

 

       Windows程序设计《北京大学出版社,Petzold著》建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本《Inside Windows 2000》也最好放到这本书后面读。这本书中,没有C++,没有GUI,没有控件。有的是如何用原始C语言来完成Windows 程序设计。

日三省乎己

       每天读的书太多,容易让人迷失方向。一定要在每天晚上想想自己学了些什么,还有些什么相关的东西需要掌握,自己对什么最感兴趣。同时也应该多想想未来最有可能出现的应用,这样能够让你不是追赶技术潮流而是引领技术潮流。同时,努力使用现在已经掌握的技术和理论去制作具有一定新意的东西。坚持这样做能够让你真正成为一个软件“研发者”而不仅仅是一个CODER。  
 

把最多的时间花在学习上

     
    这是对初学者最后的忠告。把每个星期玩游戏刷剧的时间压缩到最少,同时,如果你的ASP技术已经能够来钱,甚至有公司请你兼职的话,这就证明你的天分能够保证你在努力学习后取得更好收益,应该去做更复杂的东西。眼光长远些,这无论对谁都适用。 
认清自己、找准方向就成功一半了。 







转载请保留本文网址https://www.sxbdqn.cn/news/hyxw/39.html
上一篇:为什么越来越多的人选择IT行业?
下一篇:资深程序员:从业十年,我如何看待IT行业
北大青鸟
校区简介
青鸟品牌
就业体系
就业学生
在线报名
热门课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
JAVA工程师
青鸟问答
男生学什么技术好
女生学什么专业好
北大青鸟师资
北大青鸟就业
北大青鸟学费