刚才和我弟弟通电话聊了聊这一段时间的学习以及下一阶段的学习规划,我弟弟在读大二,是计算机专业。今天和他聊电话,感触颇多,倒不是因为我发现了新的东西,而是因为竟然连他都不相信我说过的一些我认为非常根本、非常核心的话,“连我的亲兄弟都不信我说的话,那些在XX网上随声附和我、捧我臭脚的同学右有几个真正信我说的话的同学呢?”,想到这里心里不禁一片悲凉。

到底他说的那句话触动了我呢,那就是“我现在C++语法学的差不多了,刚才买了一本C#的书,想寒假的时候看看C#,然后下学期C++、C#同步学。”我问他“你难道不知道我经常提醒‘不要在多门语言间徘徊,把一门语言玩熟了其他语言都是纸老虎’吗?”,他说“知道,但是看毕业找工作都是招C#、Java的,招C++的特别少。”,我说“我说过多少次我自己的例子:我大学大部分时间都是在搞Delphi,然后找工作前突击了半个月的Java,然后就拿到了Java工程师的Offer,而且还是笔试成绩第一名。

如果你现在什么语言都没有学,你说看C#挺好,以后想找C#的工作,那么我就建议你去学C#就好了,因为那样会‘一步到位’。但是你已经学C++半年了,刚把C++的基础语法学了一个大概,又要去学C#,那你就又浪费了半年时间,等半年以后也许你又发现Java挺不错,又去学Java的基础,那你这大学四年就完全是在‘学语言’了。”

为了让他更清楚的明白这个道理,我举了一个例子:学游泳,很多人的目标都是蛙泳、自由泳、蝶泳、仰泳都会,那样才酷。但是有的人学游泳就是练两下蛙泳,练两下自由泳,又练两下蝶泳,折腾了几个月,还是什么姿势都不会。而有的人则是从蛙泳练起,把蛙泳游的很顺以后,就有了‘水性’了,所谓水性就是“对水的感觉”,也许练蛙泳需要一个月,但是一旦把蛙泳练成了再学自由泳就很快了,如果一开始上来就蛙泳、自由泳一块学,一个月以后很可能还是在乱扑腾。

“同步推进”看似是效率更高了,可能会认为“同时学C++、C#,这样以后我就两种语言都会了”,但是其实学编程一开始都有需要一个“形成编程感觉”的过程,假设学会语言的基础语法需要3个月,真正把语言玩儿到一个比较熟练的程度、找到“编程感觉”需要9个月,那么,如果你一直只学一门语言,那么12月以后就等到达有“编程感觉”的程度了;而如果你是两门语言一块学,或者学完一门语言的基础又学另外一门语言,那么你的基础语法、“形成编程感觉”的过程都至少增倍了,本想提高效率,反而事倍功半了。

遥想当年我大一大二的时候也走过类似的弯路,当年感觉Web开发“有前途”,因此放弃了学了几个月刚有点感觉的VB,去学Web开发的语言,依次把ASP、PHP、JSP学了一个遍,但是最后仍然是什么都不会,只记得for循环、函数等一些模模糊糊的词汇。反而是后来一门心思搞Delphi,而后又把Delphi里边一个用来开发Web的IntraWeb的框架玩熟了,回头再来看ASP、PHP、JSP,发现其实无论什么Web语言,都是处理Form、Session、Request、Response、Cookie等这些东西,大同小异。我之前走过弯路,浪费了时间,希望同学们吸取我的教训,不要再走这种弯路。

他问到“现在总是.net、.net的炒的那么火,学C#多好呀”。我说“学了一阵子C#你又发现‘现在总是J2EE、J2EE的炒的那么火,学Java多好呀’,你就变成了大学四年一直在学语言的‘语言专家’了。按照火的程度,C#、Java已经是过气的明星了,现在很多新语言也出来手舞足蹈了,如果你一直追星的话会累死你”。

社会上某些人士出于自己的目的总是在炒作“大学学习要和社会保持”同步的舆论,适当的同步是可以的,但是如果总是追着社会上的流行路线跑,永远学不到真东西,想学唱歌不应该今天去听张靓颖的演唱会、明天去听F.I.R的演唱会,而是应该跟着中央音乐学院的教声乐的过气大妈来学;有人总是说IT行业‘技术更新太快’,其实我要说IT行业技术更新一点都不快,因为技术的进步不是推翻性的,而是改良性的,一门新技术的推出是为了解决老技术的一些问题,但是他们的不同只有10%,剩下的90%的根基部分则是完全相同的,而且那10%的不同部分也是“相同的问题,不同的解决方式”,同一个目的不同的途径的技术能有多大的差异性呢,很小很小。

我弟弟又问“我大学一直搞C++,那找工作的时候那么多C#、Java的职位我就放弃吗?”我回答“别担心,你一直玩C++,把C++玩熟了,找工作之前如果想应聘C#、Java的职位,可以到时候再找C#、Java的书对照性的突击一下,学习的方式也会和初学的时候不一样了,只要对照一下C#和C++的异同点进行对照性的学习就可以了,你会发现大同小异,很快就可以从C++的高手变成C#的高手,照样可以突击几天的C#而把那些自称‘精通C#’的人打的稀巴烂”。

刚才在一个网站上看一个同学列出的学习计划:
需要和打算学习的和要了解的:
编程语言:c#,Java,c,c++,jsp,php,Delphi,Python,ruby,perl,ActionScript3.0
数据库:SqlServer、Oracle、MySQL、db2、PostgreSQL、SQLite、access
.net:wpf,Silverlight,winform,wcf,linq,mvc
html+css+JavaScript(jQuery)
软件:vs2009,vs2010,blend,visual C++,C-Free,Photoshop,flash,Dreamweaver…
相信这样‘伟大’的学习计划是很多同学都列过的,也包括我。希望大家以后不要再犯这种‘大而不精’的错误,编程语言选一门足以,数据库找一个就行,‘多多不善,浪费时间’。

C#、C/C++、Java……世上语言千千万,不存在哪个语言好、哪个语言有前途之类的问题。如果你没学过任何语言,那么你根据自己的意愿选哪门语言都可以,但是一旦选择了就不要再移情别恋,用情专一的让自己找到编程的感觉,以后就可以根据实际情况很轻松的另寻新欢了。举一个我以朋友说的例子,虽然太三俗,但是很形象:泡完一个妞再泡另外一个妞不难,因为泡第一个妞已经知道怎么取悦女孩子了,再泡第二个、第三个就驾轻就熟了;难的是同时泡好几个妞,到最后只能是颗粒无收。

朱老师前两天给我说了三个字“知信行”。知:知道这个道理;信:相信这个道理;行:照着这个道理去行动。“知信行”就是学习的三个层次,只知不信不如不知,只信不行不如不信,只有“知道、相信、行动”这个这是才真是你的。xx网上的一些关于‘一通百通’、‘不要在语言间徘徊’、‘坚持就是胜利’、‘越容易得到的越不值钱’等道理的文章是达到了让同学们‘知’的程度,然后一些同学的案例证明了这些道理,则可以帮助你‘信’,但是‘行’没有人能代替你,只能靠你自己了。

解惑:不要在多门语言间徘徊,把一门语言玩熟了,其他语言都是纸老虎...相关推荐

  1. R语言ggplot2可视化时间序列散点图、X轴和Y轴都是时间信息、使用as.POSIXct函数自定义指定Y轴的时间范围(setting time limits in y axis)

    R语言ggplot2可视化时间序列散点图.X轴和Y轴都是时间信息.使用as.POSIXct函数自定义指定Y轴的时间范围(setting time limits in y axis) 目录

  2. c语言程序框一点数字就消失,你用C语言编程时,会犯下面的错误吗?

    原标题:你用C语言编程时,会犯下面的错误吗? C编译的程序对语法检查并不像其它高级语言那么严格,这就给编程人员留下"灵活的余地",但还是由于这个灵活给程序的调试带来了许多不便,尤其 ...

  3. 【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题的有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★

    文章目录 一.计算理论内容概览 二.计算问题的 有效性 三.语言 与 算法模型 四.可计算性 与 可判定性 五.可判定性 与 有效性 六.语言分类 一.计算理论内容概览 计算理论分为 形式语言与自动机 ...

  4. 多语言ASR?没有什么听不懂,15种语言我全都要

    摘要:在这篇博文中,我们介绍来自Google的一篇论文<Scaling End-to-End Models for Large-Scale Multilingual ASR>,来看看如何构 ...

  5. 全国二级c语言考试题型,2016年电大 -全国计算机二级c语言考试题型及考试重点.doc...

    2016年电大 -全国计算机二级c语言考试题型及考试重点 全国计算机二级C语言资格考试 考试方式全国计算机二级C语言.笔试:90分钟,满分100分,其中含公共基础知识部分的30分.???? 2.上机: ...

  6. 教师教学质量评价系统c语言,教师课堂教学评价大全_浅谈C语言课堂教学方法

    摘要:编程类课程是计算机系学生普遍感觉较难的学科,课堂气氛往往显得比较沉闷,令学生感觉枯燥无味.为了提高学生的学习兴趣,本文提出"五环节教学法",将学生变为学习的主体,让学生从被动 ...

  7. c语言编程入门教程+网易,人话讲编程·C语言入门:第一讲,Hello World

    //前言 "凡是能够说的,都可以说清楚;凡是不能说的,就应该保持沉默." 维特根斯坦的这一教诲,令人深思--教育乃至生活,人生中的许多问题,都坏在这一点上--本来能够说清楚的,结果 ...

  8. python是什么语言编写的程序称为_Python 学习(一)【Python语言简介-Python是什么】...

    Python是一种编程语言,它的名字来源于一个喜剧.也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用. Python是什么(转载自Primus) 著名的 ...

  9. c语言转fpga原理,要想玩转FPGA,就必须理解FPGA内部的工作原理-可编程逻辑-与非网...

    FPGA(Field-Program mable Gate Array),即现场可编程门阵列,它是在 PAL.GAL.CPLD 等可编程器件的基础上进一步发展的产物.它是作为专用集成电路(ASIC)领 ...

最新文章

  1. MYSQL 联表查询 ORDER 效率低?
  2. 数据结构与算法之二叉树的序列化和反序列化及判断一棵树是否为平衡二叉树
  3. 一阶rc电路时间常数_波形产生电路中的RC在电路中的作用是什么
  4. [JLOI2014]聪明的燕姿(搜索)
  5. Linux中的Interrupted system call错误
  6. android 新的布局,Android新布局方式ConstraintLayout快速入门教程
  7. 怎么看调用的接口_Hadoop RPC调用实例分析
  8. 口红机源码运营版对接CC支付源码
  9. node-7.2.1 already installed, it's just not linked
  10. 学python编程_程序员学Python编程或许不知的十大提升工具
  11. HTML图片鼠标滑动加边框,鼠标移动到图片上时,用css怎么实现图片加边框效果?...
  12. u盘UEFI模式安装Windows10和ubuntu18.04双系统
  13. R 中将图表导出成文件
  14. 画出漂亮的神经网络图,神经网络可视化工具集锦
  15. 用计算机做动画效果,动画图片多种效果制作步骤
  16. 文明重启服务器维护中怎么办,【FAQ】文明重启常见问题大全
  17. IMDB数据集allow_pickle=False问题
  18. 学java被“劝退”的第三天
  19. 物料清单的概念及重要性
  20. Apsara Stack 技术百科 | 数字化业务系统安全工程

热门文章

  1. Spring 5(黑马)
  2. three.js 光的介绍(05)
  3. 互联网摸鱼日报(2022-10-20)
  4. 新浪财经新闻爬取并进行舆情分析
  5. 9月27日科技资讯|余承东吐槽苹果续航;贾扬清担任阿里巴巴开源技术委员会负责人;React Native 0.61.0 发布
  6. 人生的意义是什么?活着的意义是什么
  7. spark源码-shuffle原理分析-1-ShuffleWriter
  8. python实现图数据结构_Python描述数据结构之图实战篇
  9. 天生变态狂:TED心理学家的脑犯罪之旅
  10. 1478: 多重继承派生(2)--雇员,技术人员,销售人员,经理,销售经理,开发部经理