[转]编程语言的圣战

类别:编程语言 点击:0 评论:0 推荐:

[转]编程语言的圣战

讨论那种编程语言比较好实在是一个危险的工作, 随时可能被人拖出去海k一顿
以下是个人观点, 你不同意, 那是你的事情, 不要打我:

机器语言: 不是人学的, forget it.

汇编语言: 是目前还能学到的最低级的语言, 功能最强大, 只有你编不出来的, 没有做不到的. 但是开发效率很低, 在写应用程序的时候不推荐, 越少用越好, 对效率, 程序长度要求很高, 写shellcode或直接对硬件[单片机]进行操作的时候才使用.
Windows下著名的开发环境有MASM和TASM

C: 高级语言中效率最高的一个 [确切地说是中级语言], 平台兼容性非常的好, 几乎所有系统都有C语言编译器. 语言本身比较简单, 结合操作系统后功能强大, 巅峰境界几乎是无所不能, 但对于大工程的开发效率不高. 适合任何阶段的人士使用, 尤其适合初学者.[你不学我看看.]

FORTRAN: 适合数学运算的语言, 在DOS, Windows, UNIX下均有环境. 现在学的人比较少了, 但还是有点用的, 如果你是专业人士, 可以学习一下, 有帮助的.

BASIC: "初学者通用指令码"的缩写, 是一种简单的语言, 功能不强, 开发效率高, 运行效率低, 在DOS平台下著名的BASIC平台有Turbo Basic, Quick Basic, Visual Basic for DOS;在Windows平台下有Visual Basic, Real Basic, Repaid-Q等; 在Linux下有KBasic; 在Mac下有Real Basic for Mac. 纯粹的BASIC语言除了对学习编程本身以外现在几乎没有什么用处, Visual Basic等开发工具提供了一些比较强大的库来扩充功能, 但因为实在是太简单了, VB几乎不是编程, 而大多数时间是在"画程", 对初学者有害无益, 不要学习vb.

Pascal: 很流行的一种语言, 目前其面向对象[OO]版本Object-Pascal应用相当广泛. 代 表开发工具有Turbo Pascal, Delphi, Kylix [均为Borland公司产品]. 开发效率一般, 运行效率较高. 在教学, 应用和系统各方面都有使用 [个人感觉是没什么特点的一个语言]

LOGO: 基本上是给小学生接触电脑用的, 也有人来进行简单的几何绘图. 又叫"小海龟" 在DOS和Windows上均有运行环境 [中文小海龟].

COBOL: 商业开发语言, 曾经极度流行, 现在很少有人用了. 个人感觉开发效率不是很高, 由于当年COBOL程序员的过量培养, 导致了大批的事业情况, 现在同样的情况也发生在C程序员身上.

C++: 全世界应用最广泛的语言, 主流语言中功能最强大[最近听到另一个试验期的语言据说比C++还猛]. 开发平台多地说不完, 在Windows上主要Borland C++ Builder和Visual C++, 我个人使用Dev-C++. 开发效率一般, 运行效率较高. 支持三种变成模式:面向过程, 面向对象, 模板. 在应用编程方面主要应用其面向对象的特性. 难度一般, 但应用就比较麻烦. 如果你想拍拍胸脯说:"我是个程序员"的话就学C++吧.

Java: 解释型的语言, 基于虚拟机, 真正的面向对象[一切都是类]在web中的applet应用广泛, 在系统编程方面一无是处, 但可以跨平台: 一次编写, 到处运行 [戏称: 一次编写, 到处调试]. 开发效率高, 运行效率低. 另外, 在嵌入式系统中的应用也比较常见. Borland 的JBuiler, IBM的Visual Age for Java以及Visual Cafe等都是常见的开发环境.

Python: 我喜欢的语言. 脚本语言, 支持面向对象, 语法优美, 易学易用, 功能强大, 跨平台, 在各种UNIX, Mac, Windows上都有平台. 非常适合初学者, 在CGI以及小应用方面比较合适.

C#: 微软公司生产的鸡肋语言, 几乎是Copy Java的, 在各个方面都很像, 而且不如Java, 只是有了MS的大量金钱支持, 才会慢慢进入市场. 不管有没有钱途, 我都不喜欢, 也不推荐任何人学.

Shell: 分系统, Windows的Shell在NT内核下比较强大, Unix的一向都很不错. 做一些小小的工作的时候可以省力, 几乎需要学习.

PERL: 一种脚本语言, 在各种系统上都有环境. 学起来不是很简单, 符号化太严重了, 一般用于做生物数学和CGI, 功能强, 非常流行.

PHP: 也是一种脚本语言, 用于写CGI. 流行

ASP: 并不是一种语言, 是一个规范, 一般基于VBscript, 用于编写CGI, 非常流行.


以上是几种主流语言的评论, 说实话一个Programmer不会LISP是十分可笑的事情, 但很可惜, 我的确没有接触过LISP也就不敢妄加评论. 还有一些非主流的语言:

Prolog: 人工智能常用的"语言", 其实最后是翻译成C语言

SmallTalk: 最早实现OO的几种语言之一, C++的灵感来源

HTML: 不是一种编程语言, 是一个标签描述脚本, 用来写网页的

  编程语言有几千几百种, 剩下的都是一些专业领域的, 是古老的, 或者是仍处在试验期的语言, 但也难免挂一漏万, 望这些语言的Programmer见谅.
代程序设计语言不断繁衍嬗变,进化出数以千计的语种和变体。所有程序设计语言似乎都从其他语言那里剽窃了或多或少的语法特征,以至于语言和语言之间的界限越来越模糊,你有时还真搞不清自己正在用的到底是哪一种语言。这篇指南正是为了解救那些在语言选型上进退维谷的程序员而设计的。

你的任务:射击你自己的脚丫子。

C 语言:你射击你自己的脚丫子。

C++ 语言:你意外地创建了你自己的一打实例对象,并向这24只脚丫子射击。你无法为你自己包扎伤口,因为你无法断定哪一个对象是你自己的原始拷贝,哪一个对象是你自己的指针或者引用,况且那些用指针和引用假冒你的家伙还在不停地叫嚷:“嘿,这就是我,我在这儿!”

FORTRAN 语言:你射击你自己脚丫子上的每一个脚趾,直到一只脚上的所有脚趾都被打光,然后切换到下一层循环,开始射击另一只脚上的脚趾。如果你射光了子弹,你将继续装腔作势地朝你自己射击,因为你没有异常处理功能。

Pascal 语言:编译器不会让你射击你自己的脚丫子。

Ada 语言:当你正确地把你自己的脚丫子包好以后,你试图并发地完成以下任务:装填子弹,拉栓,扣扳机,尖叫,射击脚丫子。但是,当你这么做的时候,你会发现这是一个无法完成的任务,因为你脚丫子的数据类型不匹配。

COBOL 语言:使用柯特45型手枪,瞄准“腿.脚”,将“臂.手.指”放到“手枪.扳机”上,按下去。然后,将枪收回皮套,检查一下你的鞋带是不是需要重新系一下。

LISP 语言:你射击你自己的假肢,那条假肢拿着枪,你用这枝枪射击你自己的假肢,那条假肢拿着枪,你用这枝枪射击你自己的假肢,那条假肢拿着枪,你用这枝枪射击你自己的假肢,那条假肢拿着枪,你用这枝枪射击你自己的假肢,那条假肢拿着枪,你用这枝枪射击你自己的假肢……

FORTH 语言:脚丫子你自己的射击。

Prolog 语言:你告诉你的程序你想要射击你自己的脚丫子。程序计算出你的射击方法和步骤,但程序的语法不允许把这些东西讲给你听。

BASIC 语言:你用一把水枪射击你自己的脚丫子。在大型系统中,射击将持续到你的下半身都湿透了为止。

Visual Basic:你的工作将仅仅“显示”出你射击了你自己的脚丫子,无论你是否在意,你将在这一过程中得到许许多多乐趣。

HyperTalk 语言:把枪里的第一发子弹塞进你自己的左脚,然后给出结果信息。

Motif 语言:你花了好几天时间,用界面描述语言详细描绘你的脚丫子,你的子弹,子弹的弹道曲线,以及枪柄上复杂的象牙雕花。当你最后腾出时间装子弹的时候——枪卡壳儿了。

APL 语言:你射击你自己的脚丫子,然后整天琢磨怎么用更少的字符来完成这个任务。

SNOBOL 语言:如果你成功了,射击你自己的左脚;如果你失败了,射击你自己的右脚。

并发 Euclid 语言:你射击你自己的其他人的脚丫子。

370 系统的 JCL 语言:你把你自己的脚丫子放到系统批队列中等待处理,里面要包含至少400页文档,详细说明你想如何处置你自己的脚丫子。3年以后,你的脚丫子回到你的面前,整只脚都已经被烤焦了。

Paradox 数据库:不仅你可以射击你自己的脚丫子,你的用户也可以。

Access 数据库:你试图将枪指向你自己的脚丫子,但枪却不停地在你买Borland产品光盘上射出洞洞来。

Revelation 数据库:你一旦指出子弹中所含的所有不同元素的功用,你就会确信你有能力射击你自己的脚丫子了。

dBase 数据库:你买了一枝枪。子弹只在其他公司出售。出售子弹的公司向你保证子弹是可用的,于是你也买了子弹。然后你发现,那枝枪的下一个版本才可以真正用来做实弹射击。

PL/I 语言:在耗尽了包括子弹在内的所有资源后,数据处理部门将其业务规模翻了一番,新购置了两台大型计算机,同时弄丢了你脚丫子的原型。

汇编语言:想射击你自己的脚丫子的话,你必须先发明枪、子弹、扳机,以及你自己的脚丫子。

汇编语言的另一个版本:你搞瘫了操作系统,覆盖了根分区。于是,系统管理员跑过来射击你的脚丫子。接下来,一番沉思之后,系统管理员射击了他自己的脚丫子,然后单脚跳着,绕着屋子飞速转圈,射击他看见的每一个人。

Modula-2 语言:等你明白了你实际上不能用这种语言完成任何事情之后,你向你自己的脑袋开了一枪。

C Shell语言:你不停地检索文档,你的脚都等得睡着了,然后你向计算机开枪,然后切换到C语言。

Smalltalk 语言:玩儿了3周的图形功能之后,程序经理射击你的脑袋。或者,你反复做着射击你自己脚丫子的白日梦。

HTML 语言:

<a target="http://身体/下半身/腿/脚.假肢">射击这里</a>

Java 语言:射击得非常漂亮,但你的脚无法确定子弹是什么类型的对象,只好忽略了它们。

C# 语言:把你的脚丫子改写成Java程序,然后射击它们。

FTP:
% ftp lower-body.me.org
ftp> cd /foot
ftp> put bullets

Unix:

% ls
foot.c foot.h foot.o toe.c toe.o
% rm * .o
rm:.o no such file or directory
% ls
%

Windows 95:
d:\setup

Apple 公司:我们允许你射击你自己,但价格很贵哦。

IBM 公司:你把弹夹装到枪里,等半个小时,然后子弹向四面八方发射。如果有一颗子弹碰巧射中了你的脚,那你真是太幸运了。

Microsoft 公司:“脚”这个对象将在下一版本中提供,你需要支付500美金的升级费用。

HP 公司:你可以用这挺机枪射击你自己的脚丫子,但枪的撞针是断的。

Sun 公司:只要Solaris系统一到,你就想射哪儿射哪儿。

 

本文地址:http://com.8s8s.com/it/it25902.htm