level 7
学习编程因该选择那种语言论
我是学习编程的过来人,看见很多初学者为了选择那种编程语言而整天烦恼着,也看见很多人走我曾经走过的弯路。
有些人,迟迟不学;有些人学,今天学习c,明天C++,流行java,又去学习java,到头来什么都没学会,就整天和语法打交道!!
强烈建议初学者学习C语言,why?因为只有32个关键字,你能很快的掌握基本的语法!帮你开启编程大门的钥匙!
好!学完基本的语法的时候不要以为你什么都会了!更不要狂妄自大的认为,C语言就这样简单!那你就错了!
我来慢慢解释给你听,为什么选择C语言!
注: 学习环境定为linux,why?因为你可以在linux学到很多你在windows学不到的东西!!linux学会了,转windows没问题!!
注: 学习linux,就要装起linux,选择一个发行版!!
选择C语言,你能在学习完C语言,用最短的时间去接触其它的东西.
先来看看学完C语言的基本语法你能干些什么??
数据库编程,网络编程,CGI开发,界面开发(GTK+ 或 QT)!![这个是后面的]
如果坚持下来,你能剩下很多时间和减少很多不必要的麻烦!
你可以学习完C语言,学习一下汇编,让你对CPU有个大概的了解!
这个时候可以学习一下数据结构和一些常用的算法,没有必要的算法就不要接触了,浪费时间,学多了,你也忘记,不如先不学,只记住一些常用的OK!!要用了,再学习!!
后面可以看看操作系统原理的书籍,了解一下整个系统平台!!
这个时候你可以买本linux程序设计,开始真正的进入应用编程领域!!
linux程序设计可以让你学到,网络编程,数据库编程,gtk+... ...
这个时候需要一段磨合时期,把你学到的东西多实践,多应用!!
可以买<<代码大全>>和一些软件工程方面的书籍看看!!
过一段时间后... ...
然后再去学习一下linux系统编程!!
好吧!是时候接触系统底层拉!学习微机原理+IA-32手册[保护模式下的汇编],大灰狼汇编视频!!
最后就是最接触linux内核源码,买书看吧!不建议直接看源码!
<<linux内核完全剖析,linux内核设计艺术,一个操作系统的实现>>!!
第一本,复杂而详细!第二本,将复杂化为简单!!让你从复杂中领悟内核的基本原理!第三本,是一本实践如何写内核的书籍!
如果感觉不足,不建议再去买书籍了,浪费钱!!可以去下载电子书来扩充自己又或者看别人的源码... ...
到达这里,你就明白为什么要学习linux程序设计,linux系统编程,原来是为看内核作为基础!
学习东西需要循环渐进!!一步一个脚印,需要坚强意志力和超乎常人的决心!!
建议初学者不要一开始就使用可视化开发工具,不然你连编译器,连接器,编辑器都弄不清除是什么东西!那些东西是给高手减少开发周期而设计的,并不适合初学者!!
渡过这些艰苦的时间,你已经成为一个可以独立思考,独立学习的编程爱好者拉!
就像是内功心法一般!你拥有强劲的内功心法,学什么东西都快!就像张无忌又九阳神功一样,学习明教的武功简单的很,内功并非一天或者一个月就能修炼成功!需要长期的坚持和勤学苦练!加油各位初学者!!
2011年08月04日 20点08分
1
level 7
这是相对于想进入软件编程行业的初学者,并不是你们说的科学计算,网页设计,那种和软件编程不沾边的事情!当然每一种行业都自己的学习方法,科学计算也有,当然不会使用C语言!网页设计也有,当然也不会使用C语言!在软件行业上,java,c
#都是和操作系统平台脱离的,我发现很多学习java,c#
,.net的朋友,工作以后就很难有提升的空间拉!对于那些不想一辈子当代码工人,追着微软金额其它公司跑的人,到头来还要回过头来接触系统底层!那与其这样,初学者(软件行业)还不如一开始就接触系统底层,用C语言,汇编!反正java,c#那些东西都是应用的工具!C语言熟悉了,用来干了许多事情!学习java也不用3个月而已!就可以开始接触项目拉!
你一开始就接触java,c#,后面去接触系统底层,你已经没有时间拉!工作那么紧张,你也没有多少时间去学习!减去学习新东西的时间,吃饭的时间,上班的时间,洗澡的时间,。。。你就没有多少时间去接触系统底层!
所以初学者一开始难点,吃点苦!后面就没有那么幸苦了!面向对象的语言不在于它是面向对象对象的!而在于使用的人,真正掌握面向对象的思想,C语言也能实现!不懂面向对象思想的,拿着java也写不出好的代码!
所以初学者一开始学习C语言,接触系统底层是没有错的!
2011年08月05日 07点08分
29
level 7
这是相对于想进入软件编程行业的初学者,并不是你们说的科学计算,网页设计,那种和软件编程不沾边的事情!当然每一种行业都自己的学习方法,科学计算也有,当然不会使用C语言!网页设计也有,当然也不会使用C语言!在软件行业上,java,c
#都是和操作系统平台脱离的,我发现很多学习java,c#
,.net的朋友,工作以后就很难有提升的空间拉!对于那些不想一辈子当代码工人,追着微软金额其它公司跑的人,到头来还要回过头来接触系统底层!那与其这样,初学者(软件行业)还不如一开始就接触系统底层,用C语言,汇编!反正java,c#那些东西都是应用的工具!C语言熟悉了,用来干了许多事情!学习java也不用3个月而已!就可以开始接触项目拉!
你一开始就接触java,c#,后面去接触系统底层,你已经没有时间拉!工作那么紧张,你也没有多少时间去学习!减去学习新东西的时间,吃饭的时间,上班的时间,洗澡的时间,。。。你就没有多少时间去接触系统底层!
所以初学者一开始难点,吃点苦!后面就没有那么幸苦了!面向对象的语言不在于它是面向对象对象的!而在于使用的人,真正掌握面向对象的思想,C语言也能实现!不懂面向对象思想的,拿着java也写不出好的代码!
所以初学者一开始学习C语言,接触系统底层是没有错的!
2011年08月05日 07点08分
30
level 7
这是相对于想进入软件编程行业的初学者,并不是你们说的科学计算,网页设计,那种和软件编程不沾边的事情!当然每一种行业都自己的学习方法,科学计算也有,当然不会使用C语言!网页设计也有,当然也不会使用C语言!在软件行业上,java,c
#都是和操作系统平台脱离的,我发现很多学习java,c#
,.net的朋友,工作以后就很难有提升的空间拉!对于那些不想一辈子当代码工人,追着微软金额其它公司跑的人,到头来还要回过头来接触系统底层!那与其这样,初学者(软件行业)还不如一开始就接触系统底层,用C语言,汇编!反正java,c#那些东西都是应用的工具!C语言熟悉了,用来干了许多事情!学习java也不用3个月而已!就可以开始接触项目拉!
你一开始就接触java,c#,后面去接触系统底层,你已经没有时间拉!工作那么紧张,你也没有多少时间去学习!减去学习新东西的时间,吃饭的时间,上班的时间,洗澡的时间,。。。你就没有多少时间去接触系统底层!
所以初学者一开始难点,吃点苦!后面就没有那么幸苦了!面向对象的语言不在于它是面向对象对象的!而在于使用的人,真正掌握面向对象的思想,C语言也能实现!不懂面向对象思想的,拿着java也写不出好的代码!
所以初学者一开始学习C语言,接触系统底层是没有错的!
2011年08月05日 07点08分
31
level 7
这是相对于想进入软件编程行业的初学者,并不是你们说的科学计算,网页设计,那种和软件编程不沾边的事情!当然每一种行业都自己的学习方法,科学计算也有,当然不会使用C语言!网页设计也有,当然也不会使用C语言!在软件行业上,java,c
#都是和操作系统平台脱离的,我发现很多学习java,c#
,.net的朋友,工作以后就很难有提升的空间拉!对于那些不想一辈子当代码工人,追着微软金额其它公司跑的人,到头来还要回过头来接触系统底层!那与其这样,初学者(软件行业)还不如一开始就接触系统底层,用C语言,汇编!反正java,c#那些东西都是应用的工具!C语言熟悉了,用来干了许多事情!学习java也不用3个月而已!就可以开始接触项目拉!
你一开始就接触java,c#,后面去接触系统底层,你已经没有时间拉!工作那么紧张,你也没有多少时间去学习!减去学习新东西的时间,吃饭的时间,上班的时间,洗澡的时间,。。。你就没有多少时间去接触系统底层!
所以初学者一开始难点,吃点苦!后面就没有那么幸苦了!面向对象的语言不在于它是面向对象对象的!而在于使用的人,真正掌握面向对象的思想,C语言也能实现!不懂面向对象思想的,拿着java也写不出好的代码!
所以初学者一开始学习C语言,接触系统底层是没有错的!
2011年08月05日 07点08分
32
level 7
这是相对于想进入软件编程行业的初学者,并不是你们说的科学计算,网页设计,那种和软件编程不沾边的事情!当然每一种行业都自己的学习方法,科学计算也有,当然不会使用C语言!网页设计也有,当然也不会使用C语言!在软件行业上,java,c
#都是和操作系统平台脱离的,我发现很多学习java,c#
,.net的朋友,工作以后就很难有提升的空间拉!对于那些不想一辈子当代码工人,追着微软金额其它公司跑的人,到头来还要回过头来接触系统底层!那与其这样,初学者(软件行业)还不如一开始就接触系统底层,用C语言,汇编!反正java,c#那些东西都是应用的工具!C语言熟悉了,用来干了许多事情!学习java也不用3个月而已!就可以开始接触项目拉!
你一开始就接触java,c#,后面去接触系统底层,你已经没有时间拉!工作那么紧张,你也没有多少时间去学习!减去学习新东西的时间,吃饭的时间,上班的时间,洗澡的时间,。。。你就没有多少时间去接触系统底层!
所以初学者一开始难点,吃点苦!后面就没有那么幸苦了!面向对象的语言不在于它是面向对象对象的!而在于使用的人,真正掌握面向对象的思想,C语言也能实现!不懂面向对象思想的,拿着java也写不出好的代码!
所以初学者一开始学习C语言,接触系统底层是没有错的!
2011年08月05日 07点08分
33
level 7
这是相对于想进入软件编程行业的初学者,并不是你们说的科学计算,网页设计,那种和软件编程不沾边的事情!当然每一种行业都自己的学习方法,科学计算也有,当然不会使用C语言!网页设计也有,当然也不会使用C语言!在软件行业上,java,c
#都是和操作系统平台脱离的,我发现很多学习java,c#
,.net的朋友,工作以后就很难有提升的空间拉!对于那些不想一辈子当代码工人,追着微软金额其它公司跑的人,到头来还要回过头来接触系统底层!那与其这样,初学者(软件行业)还不如一开始就接触系统底层,用C语言,汇编!反正java,c#那些东西都是应用的工具!C语言熟悉了,用来干了许多事情!学习java也不用3个月而已!就可以开始接触项目拉!
你一开始就接触java,c#,后面去接触系统底层,你已经没有时间拉!工作那么紧张,你也没有多少时间去学习!减去学习新东西的时间,吃饭的时间,上班的时间,洗澡的时间,。。。你就没有多少时间去接触系统底层!
所以初学者一开始难点,吃点苦!后面就没有那么幸苦了!面向对象的语言不在于它是面向对象对象的!而在于使用的人,真正掌握面向对象的思想,C语言也能实现!不懂面向对象思想的,拿着java也写不出好的代码!
所以初学者一开始学习C语言,接触系统底层是没有错的!
2011年08月05日 08点08分
35
level 7
这是相对于想进入软件编程行业的初学者,并不是你们说的科学计算,网页设计,那种和软件编程不沾边的事情!当然每一种行业都自己的学习方法,科学计算也有,当然不会使用C语言!网页设计也有,当然也不会使用C语言!在软件行业上,java,c
#都是和操作系统平台脱离的,我发现很多学习java,c#
,.net的朋友,工作以后就很难有提升的空间拉!对于那些不想一辈子当代码工人,追着微软金额其它公司跑的人,到头来还要回过头来接触系统底层!那与其这样,初学者(软件行业)还不如一开始就接触系统底层,用C语言,汇编!反正java,c#那些东西都是应用的工具!C语言熟悉了,用来干了许多事情!学习java也不用3个月而已!就可以开始接触项目拉!
你一开始就接触java,c#,后面去接触系统底层,你已经没有时间拉!工作那么紧张,你也没有多少时间去学习!减去学习新东西的时间,吃饭的时间,上班的时间,洗澡的时间,。。。你就没有多少时间去接触系统底层!
所以初学者一开始难点,吃点苦!后面就没有那么幸苦了!面向对象的语言不在于它是面向对象对象的!而在于使用的人,真正掌握面向对象的思想,C语言也能实现!不懂面向对象思想的,拿着java也写不出好的代码!
所以初学者一开始学习C语言,接触系统底层是没有错的!
2011年08月05日 08点08分
36
level 7
你怎么知道我是学生呢!
我感觉学习编程就应该从linux开始!从vb开始,就误导了好多初学者!
我以前学是从windows编程转向linux编程!
以前在windows不懂的东西,来到linux,全部都公开化了,一目了然!
就比如makefile,我们使用可视化编程的人,永远都不知道这个东西!
我是用gcc,后面才发现的!大型的项目管理都需要这个东西!
可视化可见不是一般的毒害初学者!
如果我以前不浪费时间去学习vb,那我可以又很多时间去找寻linux快乐!
谁又来告诉我呢!没有!现在我只想告诉那些初学者,高手可以飘过!
2011年08月08日 18点08分
45
level 7
凡事都是一步一个脚印的走,不可浮躁,这个谁都知道!
如果想要一步登天,那是不可能的!
基础是多么的重要!
就像篮球运动一样!运球是最基本最基本的东西!
哪怕你投篮十分准,但是运球不好,连三分线都
靠近不了,那还谈什么投篮!你就没有发挥的余地了!
可想而知,基础是多么的重要!
2011年08月08日 18点08分
46
level 7
凡事都是一步一个脚印的走,不可浮躁,这个谁都知道!
如果想要一步登天,那是不可能的!
基础是多么的重要!
就像篮球运动一样!运球是最基本最基本的东西!
哪怕你投篮十分准,但是运球不好,连三分线都
靠近不了,那还谈什么投篮!你就没有发挥的余地了!
可想而知,基础是多么的重要!
2011年08月08日 18点08分
47
level 7
我并不是 狂妄自大!!年少轻狂已经不负存在,我是一名学生,我大一的时候确实是不可一世,但是
我改正了,因为天外有天,人外... .. 学习的东西就是那么一点点而已!
学海无涯!
我想说的只是!当初我也是初学者,虽然现在谈不上什么高手,但是linux编程也学了差不多两年了!
别人在打游戏的时候,我在学习,别人在和女朋友约会的时候,我在看书!
别人暑假,寒假!都在玩,我就学习!
我不感觉我对不起谁!也没有你说那样!人都是会变的,慢慢的成熟稳重!
高二的时候,我学习的是VB,哎!简直就是浪费我的时间!
后来大一就接触到了C语言,后来学习的linux!!
今年开学就大三了!
当时,要是我要是知道linux怎么爽!我早就不学vb拉!我也是学习的linux,才将我的基础打好的,比如
微软系统上都不开源,虽然编程的书很多!但是搞来搞去都是那些东西!相同的太多!
学习linux,看别人的源码,就能学习到书本上,学不到的东西!学习别人的思想!学习别人代码风格!
软件设计思想!这个微软系统上办不到的时候!所以我感觉初学者就应该学习linux上的东西!
我感觉我个人的观点没有错!我就是一个很好的例子!
还又好多人也是这样的!尤其是学习linux内核的源码!那个文件都是开源,你可以对照IA-32手册学习,还
可以买一些书籍学习!@看视频都可以!
成长的非常快!虽然学习的周期久!但是入门后,就是非常快乐的时候!所以我感觉初学者就应该选择linux@!
2011年08月08日 18点08分
48