[转载]你该学什么程序语言
信息来源:forum.blogchina.com文章原作:蔡学镛
程序语言可分为5类
1、web page script languages
就是网页代码,比如Html、javascript、Css、Asp、Php、Xml都应该属于此类(照蔡的意思,Html不应该属于anguages的,可能他觉得太简单了吧,不过我觉得Html也应该算的,大家爱听谁的就听谁的好了,这个不重要)
2、Interpreted Languages(解释型语言)
包括Perl、Python、REBOL、Ruby等(后面三个听豆没听过),也常被称作Script语言,通常被用于和底下的操作系统沟通。照蔡的意思,每个人至少应该学会一套这类的语言。这类语言的缺点是效率差、源代码外露——所以不适合用来开发软件产品,一般用于网页服务器。
3、Hybrid Laguages(混合型语言)
代表是JAVA和C#。介于解释型和编译型之间。蔡认为C#是.NET最重要的语言,值得期待其后续发展;至于JAVA,蔡叫看他的《Sleepless in Java》——我倒!
4、COMPILING Languages(编译型语言)
C/C++,JAVA都是编译型语言。蔡说C++很复杂,要成为高手没三五年是不行的(就凭这句话,我决定向JAVA投降),虽然如此,但真正要成为高手的都应该懂C/C++。
关于Delphi,蔡说如果想要跨Linux和Windows平台的语言,则Delphi似乎是最好的选择。
5、Assembly Languages(汇编语言)
汇编语言是最接近于硬件的语言,不过现在几乎没多少人用了。
程序语言学习顺序建议
如果完全没有程序经验,可照这个顺序:javascript——解释型语言——混合型语言——编译型语言——汇编(如果需要的话)
用业界流行一句话做结尾“真正的程序员用C++,聪明的程序员用Delphi”,那么,什么样的程序员用JAVA呢?
虚怀若谷题外话
看在我这么晚了还这么辛苦的敲字的面子上,看到这篇帖子的朋友给点掌声吧,虽然没什么自己的思想。
另外,本文完全据蔡学镛先生同名文章精简,所以如果这篇文章给你的程序员生涯有什么不好的作用,那我不介意你去扁他。当然如果这篇文章对你有什么积极影响,我很高兴你能请我吃大餐。
如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!
方案一 Basic语言 & Visual Basic
优点
(1)Basic 简单易学,很容易上手。
(2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。
(3)众多的控件让编程变得象垒积木一样简单。
(4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。
缺点
(1)Visual Basic 不是真正的面向对象的开发文具。
(2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限。
(3)Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得Visual Basic 的编译速度大大变慢。
综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB 做出自己的作品。对于那些把编程当做游戏的朋友来说,VB 是您最佳的选择。
方案二 Pascal语言 & Delphi
优点
(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。
(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。
(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。
(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。
缺点
Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。
综述: 方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。
方案三 C语言 & Visual C++
优点
(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。
(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。
(3)VC是微软制作的产品,与操作系统的结合更加紧密。
缺点
对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。
综述: VC是程序员用的东西。如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。
方案四 C++语言 & C++ Builder
优点
(1)C++语言的优点全部得以继承。
(2)完全的可是化。
(3)极强的兼容性,支持OWL、VCL和MFC三大类库。
(4)编译速度非常快。
缺点
由于推出的时间太短,关于它的各种资料还不太多。
综述:我认为C++ Builder 是最好的编程工具。它既保持了C++语言编程的优点,又做到了完全的可视化。
方案五 SQL语言 & Power Builder
对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说,PowerBuilder也许是最好的数据库开发工具。各种各样的控件,功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。
补充:关于网页后台语言和其他语言的关系,一般认为:
C语言学的好,那么学习PHP会有事半功倍的效果
VC学的好,那么学习ASP会有事半功倍的效果
JAVA学的好,那么学习JSP、JAVASCRIPT会有事半功倍的效果
关于网页后台语言和数据库,通常来说:
PHP与MYSQL是黄金搭档
ASP小型网站用ACCESS,大型用SQL
JSP我就不知道了
关于电子商务流行的语言,目前
当当、卓越、6688、igo5、雅宝使用的是asp语言
易趣、淘宝使用的是php语言
贝塔斯曼使用的是jsp语言 学了C 就不要多学C++ 记差异比记相同还麻烦
同理PHP也会给你带来痛苦
学了ASP 想学PHP 最好把ASP全部忘记 一通而百通。
只要学好一门,其他的确实很简单。
PS:学习WEB编程,ASP是很好的 初学用语。
其实,我更推荐HTML,
实际上,一般初学也是学习ASP+HTML。 汇编,其实可以只求一解,就可以了。
——这是对于 程序员来说。
ASP实在很容易。 关于VC++,其中MFC确实方便,但记得看过一篇文章,豪杰超级解霸创始人梁肇新对大学生说过的话,真正的高手不是利用可视化的工具生成几句代码,而应该熟练掌握API。利用API编写的程序效率比MFC要高得多!
距离还很遥远。。。 [quote][b]下面是引用kkkks于2005-04-08 13:51发表的:[/b]
不敢赞同,个人感觉这个文章比较差,对初学者容易误导。说实在话,我个人实在不知道现在再去学pascal,basic之类有什么用,我是靠编程吃饭的,所以我选择了java,虽然个人爱好c++。无论哪种语言,应该去学对自己作用最大的那种,你喜欢crack,那么汇编和C是不二的选择,喜欢hack,那么费力去学dephi、PB之类的有多大用处呢?[/quote]
见仁见智 文章的优点并非是他的[b]指导意义[/b] 而是对各种语言做的[b]诠释十分详尽[/b] 学什么东西 关键在你兴趣
Just for fun:)
而无论什么语言学精了 都是有出路的 可是现在有几个真正精通某种语言的呢?
但是 我有一个观点我不同意楼上的
喜欢hack 未必程序就不重要 C和汇编是一个Hacker最应该掌握的 Cracker的C基础要求并不深 关键是汇编语言和一些技巧性的东西
另外 [b]广外和灰鸽子[/b]都是出自Delphi吧 如果你真的想成为一个Hacker 那么 没有理由去忽视任何一种语言 而是正式你的需要和兴趣
关键在于你如何理解Hack的意思 很遗憾 它的意思并不是[b]入侵和渗透[/b]仅此而已 很多Hacker都是不错的程序员
我在努力成为一个真正的Hacker 而并非是脚本小子 我只会ASP与JSP的入门水平!没有深入,感觉JSP很不错!听说CGI更强,但是太难学了! C#看着不错!尽管有抄袭Java的嫌疑···不过我一学长说得很好:“微软主力推荐的东西,成为潮流还是比较容易的!” [quote][b]下面是引用evilbogy于2005-04-08 15:15发表的:[/b]
我顶~~楼上的家伙说得太对了,一个好的程序员转变成为一个hacker是很容易的。[/quote]
支持,这句话反过来成立不? [s:51] [浮躁的人容易问:我到底该学什么?—— 别问,学就对了;
浮躁的人容易问:JSP有钱途吗?—— 建议你去抢银行;
浮躁的人容易说:我要中文版!我英文不行!—— 不行?学呀!
浮躁的人分两种:只观望而不学的人;只学而不坚持的人;
浮躁的人永远不是一个高手。]
---引用
条条大陆通罗马,任何语言都有其优点,学编程不在于语言的好坏,而在于学习的人,我觉得Perl不错,本身就使用C写的,和C有很多相同之处,而且跨平台 个人认为要成黑客高手就必须精通C/C++,ASM也要有所了解;如果不是想成为高手、或者是计算机专业人员的,就没必要学C/C++;至少不必作为初学的语言;
梁老师在他的《编程高手箴言》中说过,到了最高境界之后就已经不在乎是什么语言了而是其中的编程思想;即使是不懂的语言要用的时候拿来学一下就OK了;
所以现在实在没必要纠缠于学什么好;选定一个努力去学就是了;关键的是其中的编程思想;
不管什么语言其思想都一样 我从来没为自己准备学什么而苦恼过。
web语言学的是asp。。。因为当初用html写叶子十分麻烦 突然有天上一个小站。看她更新的那么快。就问了以下。才知道是用asp写的。。所以就学asp了
至于编程。是delphi。没什么理由
记得在什么文章里面看到过一句话。认为写的很不错:
不要因为你应该学什么而苦恼,学就是了!!!
不管什么语言。只要你投了精力去学。都应该有成就的。。。 呵呵语言只是一种工具~语法结构。功能调用都是次要的最主要的是学习他的思想。例如学习vb。delphi就要知道如何快速开发。模块重用。统一界面和数据。学习vc就要学习windows的内在机理。什么是消息循环如何进行消息快映射/什么是商业注册。什么是callback。什么是线程…… 学习java要知道什么是面向对象。什么是继承。什么是封装。什么是多态……学习com就要知道vtalbe。类厂。接口。idl……关键是学一种思想。有了这些思想,那么我们就可以触类旁通了~~ 晕 看来我还是现学delphi吧 呵呵 毕竟我着方面资料还可以。。。。。
c。。。。停留在指针数组楼 HTML 很简单的东东 算上是我学过的第一门语言吧
不过我宁愿把他叫做"标签" 像<body>.......</body> 之类的对来对去的
哇哇
个人比较推宠 C语言 并从不把它当成入门语言来看 更没有先学那个再学那个的想法
暂时不想用那个MFC >>C语言学的好,那么学习PHP会有事半功倍的效果
>>VC学的好,那么学习ASP会有事半功倍的效果
>>JAVA学的好,那么学习JSP、JAVASCRIPT会有事半功倍的效果
其中有些谬误.
第一句没错
第二句应该是VB学的好.asp会事半功倍.因为ASP可以使用2种.一种jscript.一种vbscript.其中vbscript使用的比较多.而jscript和c比较类似.怎么说来.也和VC没什么关系
第三句的最后.JAVASCRIPT和JAVA绝对是除了名字以外一点关系没有.JAVA SCRIPT和JSCRIPT在语法上比较类似.也就是C类的.其中完全没有继承等等特性.所以完全和OO的JAVA不同.和C倒是有几分相似. Visual Basic 的数据类型太少,而且不支持指针??????
看看网上的《VB葵花宝典》----VB到底为我们做了什么?
里面讲了VB指针的应用
呵呵
不是不支持~~~~ 我感觉先从java起不错,找一本入门的书,把各种原理概念搞东了;其实是比较简单的,
然后再转向 c++ 个人比较喜欢Java!(上次这个标题出来时,我还是C++阵营的呢··)主要是学着比较容易···而且用这感觉还是不错的。
其实学什么语言,我个人认为关系不大。大部分时候,不同的只是语法规则和关键字,及某些方法名·就想在C中用printf,而在C++中是cout!思路是最关键的!
个人意见,随时准备接受批评··
:) 有人用4000行的basic能写出编译器!
有人用C只能写个printf
语言只是一种工具,编程在于思想! 我现在发现COBOL是一种很好的语言~!
就是老了点~1
我希望到时候有能力了~1
给他改编以下~!
但现在连我用的教程都没有~1
有点郁闷`1 [quote][b]下面是引用yzg147于2005-09-09 21:14发表的:[/b]
语言,自认为是一通百通,真的,又很大的关系,具体学什么的语言,还是要看自己,自己要又自己拿手的语言,但还要看好社会的需要,不要盲目的看着自己的语言!要学着适应社会,才又发展,最重要的是可以挣到钱
!![/quote]
我开始和你的想法的一样的,但我在学完了JAVA后,又学了RPG和COBOL就改变了这个观点~!
他们是完全不同的体系~!
COBOL几乎是和C一起出来的语言~!
有点接近英语~!
你要是英语好的话那学COBOL一定很容易的~!
八进制不让我发帖子~!
要是让的话~!
我给大家发 个系列教程~!
[s:46] 不是说聪明的程序员学习delphi,真正的程序员学习vc么 我对E.S.T.是那种刻在课桌上的崇拜!知道了他们,我没有理由再浅层次地游荡下去,我想去看看冰山下面的世界!我刚起步,什么都不懂,只是觉得学语言,不在你学什么,而是你能学什么,你有没有一种精神去学,否则学每一种语言都是痛苦的,就像学英语!为了成为一名真正的“黑客”,我要努力学英语和数学!痛并快乐着!向E.S.T看齐!向E.S.T.敬礼! [quote][b]下面是引用白色黑夜于2005-09-24 20:39发表的:[/b]
我对E.S.T.是那种刻在课桌上的崇拜!知道了他们,我没有理由再浅层次地游荡下去,我想去看看冰山下面的世界!我刚起步,什么都不懂,只是觉得学语言,不在你学什么,而是你能学什么,你有没有一种精神去学,否则学每一种语言都是痛苦的,就像学英语!为了成为一名真正的“黑客”,我要努力学英语和数学!痛并快乐着!向E.S.T看齐!向E.S.T.敬礼![/quote]
你的想法是好的`!
但是黑客不是你自己叫的~!
你要用你的行动来证明你有做黑客的能力~!
就这里的每个人`!
我想你要问他们是不是黑客他们都不承认的`!
因为在这个世界上厉害的人太多了~! 我个人认为,无论学什么语言,一定要学到精益求精。什么东西都不是白学的,
如果你觉得过时了,但是你要学别的语言的话,你一定比别人快的。
因为你有基础,语言是互通的。 学习编程语言,就是要学好编程思想,重要学竟精了 ,一种语言,学其它的就快多了,只要看看各种语言的语法,看看函数都能上手的 个人感觉先学习pascal,然后delphi比较适合。都说:真正的程序员学习C++,聪明的程序员学习delphi。此外jsp+oracle也是不错的选择 Perl不是和PHP,ASP ,JSP那样是楼主说的第一种的吗?怎么是第二种的啊。?有没有人用过啊? 我现在就会一点DELPHI和C++
总的来说感觉其实都差不多(望高手来批我)
我最先学的是C++
用了些时间,然后学DELPHI的时候就简单得多
不过就是拖几个控件上去然后语法不一样而已
感觉DELPHI容易上手,不过很郁闷的就是,劝新手朋友们不要太依赖这种功能强大的控件
总觉得会使变笨的。
真正控件用得再好,都不是程序员,最多叫个控件员,呵呵 个人在学C++,基本上学到现在是空白,喜欢的JAVE因为这个好象比较流行,而且在未来十年内应该不会被淘汰
个人观点~~ 不管什么语言。只要你投了精力去学。都应该有成就的。。。 我现在才只了解点C/C++语言.但语言和平台毕竟不是一回事!学C/C++最好要掌握UNIX,LINUX,
现在很多用户已经很少用DOS了,可我看那些高校计算机等级考试中还给你来什么Turbo C之类的古老版本,
真不明白他们是怎么想的,就不能升下级吗?就算不考LINUX GCC之类的,那Windows中的VC++,C++ Builder
也可以作为上机考试的开发环境嘛!这TC开发16位DOS应用程序在入今windows满天飞的垄断时代下用得很少!真的,中国的高校计算机教育需要改革,太落后了!
就编那么一个简单的约瑟夫环,排序之类的算法,明明用高级语言足以实现,这里与硬件操作,接口技术等毫无关联,有些高校计算机老师居然要求学生用汇编。他们简直是又落后又疯,他们怎么不用机器语言呀!
我被这么一折腾,耽误了不少,我要好好努力了! [quote][b]这里是引用第[/b][color=#ff0000][14 楼][/color][b]的[color=#000066]eight_degree[/color]于[/b]2005-05-14 13:07[b]发表的:[/b]
个人认为要成黑客高手就必须精通C/C++,ASM也要有所了解;如果不是想成为高手、或者是计算机专业人员的,就没必要学C/C++;至少不必作为初学的语言;
梁老师在他的《编程高手箴言》中说过,到了最高境界之后就已经不在乎是什么语言了而是其中的编程思想;即使是不懂的语言要用的时候拿来学一下就OK了;
所以现在实在没必要纠缠于学什么好;选定一个努力去学就是了;关键的是其中的编程思想;
不管什么语言其思想都一样[/quote]
满同意的,比较客观的态度,对于思想,觉得有点抽象,我不是天才,要思想还是要去学习的,所以比较推崇算法拉,数据结构,数学比较精通的朋友就更好了 呵呵,偶是不莱塞啊...^oo^ 加油! 第三种方案比较适合我,决定对其发动进攻了! 很多初学者混淆了程序设计和程序语言的概念了,把程序设计等同于某种语言。
程序设计是你大脑中实现某一目标的抽象方法,而程序语言则是实现这一方法的具体描述。
不同的程序语言它的设计理念是不同的,各有其的侧重点和薄弱点,具体采用哪种,看目标的要求了。
而且同一种语言,有着不同的开发环境,不同开发环境对应的目标和效率也不一样。
以上是我个人的拙见,说得有点抽象,欢迎指正,相信有过程序设计经验的人可以看明白。 [quote]不要因为你应该学什么而苦恼,学就是了!!![/quote]
页:
[1]
