使用异类语言的开发人员(转载)

使用异类语言的开发人员

2001 年 4 月 9 日张贴   将于 2001 年 5 月 14 日存档

很少有程序员只懂得一种语言。人们在不同的工作或不同的计算机环境中掌握几种不同的计算机语言,这不稀奇。对于任何给定的项目,似乎总是存在一种事实上的标准语言。于是许多“编程爱好者”只是出于兴趣学会了多种语言,这超出了他们的本职工作范围。

我本人引以为荣的是,非但懂得多种语言,而且还用它们来编程。我不但了解 C、C++、Fortran 和 COBOL 等主流语言,而且还了解 FORTH、Modula-2 和 Postscript(可能有的人对此不太了解,Postscript 是一种基于 Forth 的,专为打印机设计的编程语言)等较为深奥和很少有人深究的语言。在大学的暑假里,我在华盛顿州开始了我的第一批编程作业。我和他们会面,谈论我的编程背景、数据库设计和其他方面的话题,他们告诉我将在下星期一向我介绍他们的工作。刚要出门时我突然想到,于是就问他们要用什么语言编程。他们说是用“Cobol”...嗨呀,我从来没有用它来编程过,于是很快打了个电话给我的朋友,借了一本关于 Cobol 的书,整个周末我都在钻研这本书。到了星期一我就精通这门语言了,没有人比我更行

随着时间的推移,我已经学会了很多种编程语言,有时干一些一次性的小项目,或者兼职做些试验工作,而有时确实做了些重要的编码工作。

我的一些更新的编程工作经验,帮助我更好理解整个应用开发过程。我还记得最早进行“Visual Basic”编程时的那些日日夜夜。我不辞辛劳兴致勃勃地写了一些基本的程序,以确定我在这个新的开发环境中究竟能干什么和不能干什么。这真是与时间赛跑。这一简化的可视编程环境真是有趣极了。以前我使用过的其他一些高级可视开发环境,很少有像 Visual Basic® 那样提供如此吸引人的更全面的简化。但与此同时,似乎 Visual Basic 仍有某些不尽人意之处...,这妨碍我的使用。不管是消息循环、窗口句柄,还是设备上下文,传统的 Windows API 一概隐藏起来。作为 Windows 开发人员,我因为有这些概念而得心应手,而没有了它们我会感到捉襟见肘

又过了许多年,Visual Basic 开发环境的优势和功能已经演进到,用 C/C++ 程序可以实现的任何事情,现在用 Visual Basic 同样可以实现。但是,在两种开发环境之间,与底层操作系统 (Windows®) 相连接的许多核心概念仍有很大的差别。

近来,Web 技术给开发领域带来了意义深远的新模式和新概念。在这里我不能肯定您和我有多少相同体验,但是我发现我经常在 VBScript 和 JavaScript 之间交叉使用;以前我从来没有如此频繁地交叉使用过。一个十分简单明了的情况就是使用一种语言来写某个项目,而使用另一种语言来写另一个项目。或者也许使用 Visual Basic 来编写主 EXE,用 C/C++ 来编写 DLL。 但是在网页上经常发生的情况是,在该页的某一部分中编写 VBScript 代码,而在另一部分中编写 JavaScript 代码。有时这样做的原因是由于某些固有利益,即这些脚本语言中的一种可能优于另一种。但常常还因为已经有现成的用某种语言编写的代码,我想把它用在正在用另一种语言开发的页面中。 我最近才感觉到使用多种语言协调开发的能力的重要性!尤其是因为我不仅混用了函数的调用,我还混用了对全局变量的访问,不管这些全局变量是用何种语言定义的。不过,网页编程也必然会带来问题,即这些语言与 C、C++ 或 VB 中提供的全部功能相比,它们不但称不上二等公民,而只能算是三等甚至可能是四等公民。

因此,在新的 .NET 开发环境出台之时,它的主要原则之一便是所有的语言不仅是一等公民,而且语言的互用性也是设计的核心目标。我非常清楚地了解,这是提供供开发应用程序使用的功能丰富而又完善的系统的最好途径。作为编程人员,我热衷于使用新的语言进行发现和开发的机会。但是,如果一种新的语言不能让我实现所有的功能,而这些功能我已经用其他语言实现过,这时我也不由滋生一种受骗的感觉。所以,使用 .NET,我们不仅能够为手头的任务选择最好的编程语言,而且还有望找到一些重又流行的更深奥的语言。有哪位正在使用 FORTH for .NET 的先生愿意和我一起讨论?


Robert Hess 是平台策略组的经理,并且主持 .NET Show(英文)。


已存档的 More 或 Hess 专栏

2001 年
3 月 12 日    演示剖析(英文)
2 月 12 日    边缘编码(英文)
1 月 8 日    软件即服务
2000 年
12 月 11 日    .NET 入门?(英文)
11 月 13 日    彩色娱乐(英文)
10 月 9 日    患有色盲的用户是否能阅读您站点上的信息?
9 月 11 日    配色方案
8 月 14 日    色环
7 月 10 日    使您的世界绚丽多彩(英文)
6 月 12 日    真是太奇妙了:浏览器中的高速缓存(英文)
5 月 9 日    事情的实质与外表(英文)
4 月 10 日    避免“滥信商务”(英文)
3 月 13 日    服务简史(英文)
2 月 14 日    回到 Windows 2000 的未来(英文)
1 月 10 日    演变中的接口(英文)
1999 年
12 月 13 日    达到并超越极限(英文)
11 月 8 日    安全的利弊(英文)
10 月 11 日    普遍适用(英文)
9 月 13 日    您可以使用的脚本(英文)
8 月 9 日    进行更深层的 Web 连接(英文)
7 月 12 日    将它弄到网上去(英文)
6 月 14 日    XML:逼近商业话题(英文)
4 月 12 日    新的浏览器,新的特性,新的选择(英文)
3 月 30 日    科技的未来发展(英文)
2 月 8 日    是上网还是不上(英文)
1 月 11 日 有关脚本的独家新闻(英文)
1998 年
12 月 14 日 Web 应用程序轻率的一面(英文)
11 月 16 日 使您的 Web 应用的实际效果与期望一样好(英文)
10 月 12 日 应用程序的正确工具(英文)
8 月 17 日 应用 Web(英文)
7 月 17 日 正视它:我和你是一类吗?(英文)
6 月 17 日 频道:前途未卜
5 月 20 日 鼓足勇气,从简单做起
4 月 20 日 常识与敏感
3 月 23 日 您的 Web 观念是什么?(英文)
2 月 23 日 安全之舞
1 月 26 日 您的 HTML 兼容吗?
1997 年
12 月 23 日 使用框架(英文)
11 月 25 日 让我动起来(英文)
10 月 12 日 崇拜我吧,我是个网站设计者(英文)
9 月 22 日 样式:不那么容易(英文)
6 月 2 日 相互促进?使您的站点浏览器兼容(英文)
5 月 1 日 废除用户税(英文)
3 月 27 日 Vulcan 文档(英文)
2 月 27 日 丑陋的 Web(英文)

照片的商誉权属于:Sean Masterton/Microsoft Corporation

posted @ 2005-07-16 15:25  Freedom  阅读(276)  评论(0编辑  收藏  举报