学习编程因该选择那种语言论
linux吧
全部回复
仅看楼主
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 9
危言耸听啊,我很少给别人建议学什么什么的,学习是自己的事情,一般大部分想学编程的人我建议从Java开始,先培养兴趣最重要。要知道学了Java,可以写普通程序、GUI、web、Server、手机、Android……做了些东西才能让人有成就感,才有继续学的动力与兴趣,而如果是C,光学C是没有用的,必须再加汇编、计算机体系结构、操作系统……做GUI的还得看GTK之类的,如果用Qt/MFC那还得继续看C++,做服务端、网络的得看Stevens的那几本大部头……周期太长,大部分人会在这个长周期中将兴趣耗尽。
等入了门,想继续下去就自然会涉及到体系结构之类的,这时候自然需要去了解C,要记住C也仅仅是工具而已,是帮助你工作或理解一样东西的工具。
另外:将前两天在微波上看到的一段话送给
lz
:“一个人进入职场通常经历四个阶段,1、不知道自己不知道(无知+狂妄)2、知道自己不知道(虚心学习)3、知道自己知道(自信)4、不知道自己知道(炉火纯青+谦虚)。”

2011年08月05日 02点08分 5
level 10
又见月经帖。
编程语言是为了提高开发效率而存在的。根据需要来选择语言才是基本原则。
比如做web service,ajax+java/php/python是王道。你用C的话,别人的都已经部属好了,你的还没写完呢。
现在有相当多的人愿意在计算方面从C迁移到python,不是因为python执行效率高(差了不止30倍),而是因为python书写维护容易。用python做前端,使用C或fortran写的计算库,比单纯用C好得多。
再举个极端的:给android开发软件,就得用java + eclipse + android sdk。你没的选。
题外话:从学习角度,而非应用角度来说的话,最好还是按照出现的先后都涉及的好。比如没汇编的知识,理解C/C++的指针就很困难。
2011年08月05日 02点08分 6
level 6
[抛媚眼]我都不知到自己知道了,唉,真寂寞啊
2011年08月05日 02点08分 13
level 10
膜拜13L的牛牛……
2011年08月05日 02点08分 17
level 6
不敢不敢,咱俩个其实差不多..
2011年08月05日 02点08分 18
1 2 3 尾页