一、这多东西啥时候能学完?

现在IT新技术日新月异。就常用编程语言而言,有c/c++、汇编、java,c#、Python等;操作系统平台有unix /linux,windows系列;开发工具有VC、VisualStudio2008、Eclipse、NetBeans等;每个大平台下,还有很多的 的方向:如网络、数据库、脚本、HTML、动态网站、游戏开发等;有人还在学Dreamweaver做网页、Flash做动画、Photoshop做美 工、3DMax做三维动画…………是的,我们什么都想学。恨不得把所有的知识统统都塞到肚子里去。看到什么,想学什么!

今天看这VC的书,明天又看Java,后天又看C#,东搞西搞!看到别人做网页。自己兴趣了来了。好,学html语言,我也做网页,听说做 网页要会“网页三剑客”,所以又想学Dreamweaver、Flash。后来开始知道有JSP、PHP、ASP.NET做动态网站这玩意儿。也想去学, 学学学……

这是几乎所有在校大学生的通病。但是,这不是坏事,甚至可以说是好事。说明了你“求知欲”高!总比那些,生活没有激情,整天知道泡妞、上网、打游戏、混日子的强。

但是如果你今天想学这个,明天又想学那个。这样你就能永远徘徊在技术的门外。很多人都有过或者正在经历这样的苦闷日子:总觉得有“太多东 西”要学了,然而人的精力是有限的,总有永远学不完的感觉,所以心理特别急,整天惶惶不可终日,不知道先要学哪个,一会儿拿起这本书,一会拿起那本书,折 腾了几个月,突然发现自己什么都没有学到……

每一个大方向如果没有上几年的学习,很难能学习出什么来。但程序设计的最根本的东西是相同的。所以我们学习要抓根本。俗话说:通一理,融百里。

学程序设计就像习武一样,如果内功学的好,其他功夫就很容易上手。君不见《倚天屠龙记》中的张无忌练了“九阳神功”8年,练“乾坤大挪移”只需12个时辰吗?

习武之人,谁不想在“江湖”上扬名立万,谁不想成为万人敬仰的大侠?大侠之所以能成为“大侠”,当然有他们的看家本领。狄云的“神照神功”,金世遗的正邪融合的“乔北冥内功心法”,张无忌的“九阳神功”,段誉的“六脉神剑”,令狐冲的“独孤九剑”,哇,太多了...

古人历经千辛万苦才能找到这些“武功秘籍”。我们现在这些后辈,比起古人来说:简直太幸运了。去书店,各种各样的心功心法,剑法,拳法,应 有尽有,看得你眼花缭乱...你选什么呢?今天练“六脉神剑”几式,明天去学“降龙十八掌”几招,后天又去练“发暗器”,这样何时才有个尽头呢?你说,你 什么武功都会,但是“形似而神不似”,不得要领,不够火候。一上擂台,就被别人一掌打趴了。试问哪个软件公司敢要一个号称任何编程语言都会,而是每种语言 只能写出个“helloworld!”的程序员,你不被人家扫地出门才怪。

二、学**还是学**更有前途?

看了上面的话,有的同学已经开始烦了,“知道了知道了,不止一个像你这样的所谓的‘老前辈’跟我说过‘学什么都一样,思想才是最重要’的大 道理,可是你们站着说话不嫌腰疼呀,现实是有很多技术需要学,比如做Web开发就有JSP、PHP、ASP.NET等好多方向,我总得选一个吧!到底学哪 个有前途呢?我必须要选择一个有前途的,选错了就麻烦了。”

其实像“学**还是学**更有前途”的话没意义,因为“选择JSP还是选择PHP”的前途的差别不像“选择英语还是选择日语”的前途差别那 样大,不存在“选错方向”的问题,因为都是相通的,你也不能保证你毕业以后搞的就是你学的那个方向,更不能保证你靠你学的这点东西就能吃一辈子。比如我上 大学的时候一直在钻研是Delphi语言,可是毕业校园招聘的时候我照样在Java职位的考试取得了第一名,而且工作以后经过简单的学习就掌握了Java 语言,并且后来还写了三本关于Java语言的书;再如我毕业后两年多的时间一直在用Java开发,后来公司要做一套基于.NET的产品,我只用了一个礼拜 熟悉了.NET体系以及C#的语法,然后就开始进行开发。

不过就像上边说的“做Web开发就有JSP、PHP、ASP.NET等好多方向,我总得选一个吧!”这个问题是非常实际的,因为只有先学一 个才能深入这个方向,把这个方向学通了才能想以后“一通百通”。因此我的建议就是学校教过什么语言,你就继续深入学习这么语言,而不要去问“这么语言有没 有前途”这样的傻问题。尽量不要去学一门所谓“有前途”的新语言,因为你去学一门新语言就要把很多精力耗费在语言、语法本身,而耽误了编程的实战,而以一 个已经学过的语言来学习的话,起码语法本身不用再去学、开发工具本身不用再去熟悉,只要研究怎么使用这门语言开发有用的程序就ok了。比如大部分同学都学 过C语言(有的学校直接开了C++的课,但是C++的面向过程编程部分还是C语言),所以咱们就开了《C语言也能干大事》的课程,让同学们把精力放到学以 致用上,而不是学“有前途”的新语言上,这也是这个思想的一个体现。

举几个例子。咱们如鹏网的《计算机专业职业发展测评系统》是我用PHP开发的,但是在这之前我从来没写过PHP程序,但是我以前写过 JSP、ASP的程序,因为写网站程序的原理都是相通的,只是语法不同而已,因此我只用了几个小时的时间熟悉了开发PHP用的工具并且快速浏览了一下 PHP的语法,然后用半天时间就开发出了这个测评系统。想像一下一个整天在今天学JSP,明天学ASP,后天学PHP,大后天仰天长叹“到底学哪个有前 途”的人能用半天时间学会一门新语言吗?

我大学时有一个同学,他看我当时Delphi学的比较好,写了很多程序,他就说他也想学软件开发,让我教他Delphi,可是我们专业前一 个学期已经开了PowerBuilder的课,因此当时我就建议他还是继续深入学习PowerBuilder,用PowerBuilder写又实用价值的 东西,而不是像上课那样写HelloWorld的程序。当时Delphi还是如日中天的流行的编程语言,而PowerBuilder则市场占有率比较小, 他就说不想继续学PowerBuilder,因为PowerBuilder没前途,我就给他讲了“一通百通,从自己最熟悉的入手”这个道理,然后他就踏实 的深入研究PowerBuilder起来,到了毕业的时候他已经能用PowerBuilder写非常复杂的程序而且还学习了用PowerBuilder写 Web程序。毕业后没多久就应公司的要求用Delphi写程序,他只用了不到一周的时间学习了Delphi,然后就写出了一个符合公司要求的系统,当时他 就给我打电话向我报喜。前一阵子我听说他已经开始指导一些新员工用Java开发一个中型规模的企业级系统了。可以说他的成功就得益于“一通百通,从自己最 熟悉的入手”这个原则。

总结一下,不要管“哪门语言好就业、有前途”,因为那些“好就业、有前途”都是纸老虎。尽量不要学新语言,从自己最熟悉的语言入手,深入研究,出山后你就是被用人单位争抢的红人。

来源:51CTO

给初学编程的人的新年干货相关推荐

  1. 给初学编程的人的干货

    一.这多东西啥时候能学完? 现在IT新技术日新月异.就常用编程语言而言,有c/c++.汇编.java,c#.Python等:操作系统平台有unix /linux,windows系列:开发工具有VC.v ...

  2. 初学编程最应该知道的8个学习方法,可惜之前没人告诉我……

    想要学好编程并不容易,除了需要对编程有很大的兴趣,还需要你在学习过程中能够持之以恒,克服重重困难.而且学好编程后,在工作过程中,还需要学习新的知识,以免落后于其他人. 那么,初学编程,有哪些好的学习方 ...

  3. 网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门

    1.前言 即时通讯网整理了大量的网络编程类基础文章和资料,包括<TCP/IP协议 卷1>.<[通俗易懂]深入理解TCP协议>系列.<网络编程懒人入门>系列.< ...

  4. 网络编程懒人入门(三):快速理解TCP协议一篇就够

    1.前言 本系列文章的前两篇<网络编程懒人入门(一):快速理解网络通信协议(上篇)>.<网络编程懒人入门(二):快速理解网络通信协议(下篇)>快速介绍了网络基本通信协议及理论基 ...

  5. 网络编程懒人入门(二):快速理解网络通信协议(下篇)

    1.前言 本文上篇<网络编程懒人入门(一):快速理解网络通信协议(上篇)>分析了互联网的总体构思,从下至上,每一层协议的设计思想.基于知识连贯性的考虑,建议您先看完上篇后再来阅读本文. 本 ...

  6. 网络编程懒人入门(一):快速理解网络通信协议(上篇)

    1.写在前面 论坛和群里常会有技术同行打算自已开发IM或者消息推送系统,很多时候连基本的网络编程理论(如网络协议等)都不了解,就贸然定方案.写代码,显得非常盲目且充满技术风险. 即时通讯网论坛里精心整 ...

  7. 初学编程者如何摆脱搭建开发环境的困扰?

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 你是否也有过类似惨痛的经历:一不小心设错一个环境参数或路径,代码就死活也跑不起来:明明严格按 ...

  8. 想学java编程从哪入手_初学编程从哪方面入手?

    感谢邀请! 从最初的机器语言到汇编语言,再到百花齐放的高级语言,编程语言种类繁多,多达上百种.当然每一种语言都有自己特殊的用途.例如,java,php专门用来显示网页:Perl更适合文本处理:C语言被 ...

  9. 自学编程的人,90%以上都会掉进这些坑,避开这些误区能提高N倍学习效率

    前言 几乎每一个程序员都会走上那么一段自学的道路,尤其是在校生或进入工作岗位之后,技术的提升基本都靠自学,有的虽然是网上报班学习,但更多时候还是自己在学习,师傅引进门,修行靠个人. 有的人自学很快,几 ...

最新文章

  1. shell中和||的使用方法
  2. RabbitMQ之Exchange分类
  3. MySQL5.7 版本的安装、配置
  4. easyui datagrid local pager 表格本地分页
  5. arm linux读cpu id,基于ARM架构的芯片获取CPU信息(cpuID)的多种方法
  6. 收集常用电路基础公式换算
  7. ip_vs实现分析(2)
  8. C语言中的指针有什么作用
  9. 以前的某个程序安装已在安装计算机上创建挂起的文件操作
  10. Python使用TCPServer编写(多线程)Socket服务
  11. 初识验收测试管理工具FitNesse
  12. ubuntu16.04安装ros操作系统,解决网络问题
  13. Flink 动态配置(参数 算子 CEP)
  14. mysql 磁盘满_mysql磁盘满了如何恢复
  15. 密码学原语如何应用?解析单向哈希的妙用|第9论
  16. 在iOS开发中如何高效使用静态库
  17. [WDS]Disconnected!
  18. 本科课程【数字图像处理】实验5 - 空洞填充
  19. 《X3D: Expanding Architectures for Efficient Video Recognition》论文详解
  20. 多路分支之月份天数计算

热门文章

  1. 华为战略方法论:BLM模型之市场洞察-五看工具篇(加餐)
  2. convert命令常用图片操作
  3. 写硕士毕业论文时的一些小技巧总结
  4. Golang:输出Emoji表情符号
  5. 微信隐藏功能系列:微信发现页管理,强迫症人士必看
  6. 我的世界服务器钟表菜单怎么制作,论钟表菜单的食用[使用]方法
  7. 十 手游开发神器 cocos2d-x editor 之触摸事件
  8. FreeRTOS检测堆栈溢出方法
  9. TOP Token锁仓与Token烧毁 | Part 2
  10. 作为一个程序员怎么通过android开发赚钱