【如鹏网网友】:请问老师,C要学到什么程度才能去学JAVA之类的面向对象的语言呢?
【杨中科】:能写有必定难度的程序。好比写一个俄罗斯方块、聊天软件什么的。面向对象的核心仍是面向过程,面向过程都没学好呢,理解面向对象纯属越学越糊涂
【如鹏网网友】:对,当初就是C都没学好,因此学C++也是越学越累
【杨中科】:我反感大学这一点。上学期学C、下学期学C++。彻底违背学习规律。应该在学完C后安排一个学期的实战开发课。像我们如鹏网的课那样。积累的足够的开发经验,明白了“一切语言、面向对象都是纸老虎”之后再学其余的。
【如鹏网网友】:我也好反感,但是没办法,还好遇到了杨哥,哈哈,贵人呐
【杨中科】:如今大学里彻底把编程当成高数、几率教。。。一切语言的本质都是if else、while、for。输出、处理、输出
【如鹏网网友】:嗯,如今我从头学C,理解比之前深入,对这点颇有体会
=========================================================
【如鹏网网友】:能精通C语言就能很快得熟练C++吗?这两个不是不一样得吗
【杨中科】:C++的面向过程部分仍是C语言。C是C++的基础。C++只是加了面向对象特性的C。C++之前就被叫作“带类的C”
【如鹏网网友】:可是在编程的时候不是思路不是不同得吗?
【杨中科】:同样。总体上是面向对象,可是具体每一个函数仍是面向过程。就像美国风格的建筑和中国风格的建筑在总体布局上有区别,可是到具体的时候仍是钢筋、水泥搞起来的。只有掌握了微观才有宏观的角度。
【如鹏网网友】:即便我如今只懂C,只要很精通C就能够很快掌握C++了?
【杨中科】:
面向对象和面向过程不是敌对关系而是相辅相成的。编程最难的不是面向什么什么。。。而是程序化的思惟方式。也就是给你问题,你能不能站在计算机的角度来思考怎么解决这个问题。具体用什么语言、什么函数库都是次要的。我有时候面试人的时候甚至要他们画流程图就行,我只看他有没有程序的思惟,不关系具体细节
【如鹏网网友】:只要熟练得掌握一种语言去编写不少得程序就能够了吗?你那个半天学会PHP的故事我看了,我有点难以想象。
【杨中科】:没什么难以想象的。让一个开了一生宝马的司机去开大奔,他决对不用再去学半年
【如鹏网网友】:那我学好了C能一天就学会JAVA吗?
【杨中科】:Java仍是有面向对象的。因此还须要必定的学习时间来熟悉面向对象的概念。
【如鹏网网友】:那我不是还不懂面向对象???
【杨中科】:你先要学面向过程呀。不然就走火入魔了
【如鹏网网友】:我真得以为我有点像你文章说得那种人:什么都学,什么都不懂
【杨中科】:
面向对象是跑,面向过程是走。走都不会,就别想着跑。别急。踏实下来学好C。半年以后你就发现不少事情都明白了。不少人都不踏实,老是想这想那。
【如鹏网网友】:是啊 。你当年学那个是面向对象仍是面向过程啊?
【杨中科】:面向过程。面向对象我是毕业之后工做时才慢慢学的
【如鹏网网友】:为何咱们得老师都不跟咱们说这些的呢
【杨中科】:编程的本质是面向过程,面向对象只是添头。我甚至反对在大学里教面向对象的课程。由于面向过程都没学好就想学面向对象。就像学土木工程的连一块混凝土的力学分析都没弄懂的人就去学盖楼,最后只能是盖成危楼。别心急,把C语言搞精通了,学面向对象会很是快,若是说学C语言须要N天的话,学面向对象只须要N/50天,面向对象只不过是数据、函数的一个不一样的组织方式而已,思惟方式仍是面向过程的。我调查过,那些所谓学过VC的学生,也号称是用面向对象的程序写东西,其实什么是面向对象都没真正弄明白。写出来的代码也一团糟,这就是C的基础没学好的必而后果。
【如鹏网网友】:那我如今应该静下心看C得书籍了?我该看哪方面得啊?
【杨中科】:别老是看,要练。先把C的书复习一遍。而后看如鹏网的《C语言也能干大事》的视频讲座,本身写一些有必定难度的Windows程序出来。要用C写程序,别总盯着书。
【如鹏网网友】:
我今年大四了,我都没什么程序得做品,连个很小很小得系统都作不了,悲哀死了。我能用三个月得时间来熟悉你说的这些基础吗,并且能开发系统,能够吗?
【杨中科】:就抓住C语言吧。三个月熟悉C语言绝对没问题,而后作一个拿的出手的做品
【如鹏网网友】:咱们毕业要作系统还要作网站
【杨中科 】:作系统仍是作网站都是毕业之后的事情。如今的主要任务是把本身卖出去,卖个好价钱。至于毕业之后作什么,别操心
【如鹏网网友】:主要是我不知道该往哪学。我也一直在学C
【杨中科】:不要“学”,要“作”,要“写”,要Coding。写出东西来
【如鹏网网友】:我最近看那MFC得视频,就像听天书同样
【杨中科】:
别看那些东西了,别在浪费时间在“学新东西”上,大学生的通病是“学学学”、“学新东西”,历来不实践。你最熟悉的是C语言,就学C语言,深刻研究C语言,而后用C语言作出有用的东西来。你要是学MFC,又要学C++。大量的时间浪费在“学”上,而不是“作”上。
我面试的不少人又会Java、又会C++,但是我让他写一个简单的程序他都不会写,连流程图都不会画,只懂一些零散的Java、C++的语法,根本没有程序化的思惟方式。这就是“学”的后果。
要写!coding!coding!coding!
剩下的几个月别学新东西了。要勤动手。用现有的C的知识来写东西,什么Java、C++、MFC之类的一边去。一切语言都是纸老虎,惟有程序化的思惟才最重要。面试