2008年07月22日

时至现在,由于更新速度越来越慢,这个博客的读者已经没有了,最近一次更新也是半年前的事了。

经过一段时间的考虑,今天终于决定,永久停止更新这个博客,主要原因如下:

  • 由于我变更了居住地,访问本博客的速度慢了很多,影响了继续维护的便利性
  • 进入2008年以来,忙于生活各方面的事情,至使没有了维护博客的精力和时间
  • Donews的博客系统不思进取,裹足不前,而且还不稳定,早已落后于其它BSP数年

但是这个博客里面有很多文章,特别一些原作的文章,我还是挺喜欢的,所以决定把它们封存起来,留作纪念。

或许再过一些日子,我会再考虑在另外的地方再开新的博客,但这是以后的事了,暂且不谈。至此,感谢曾经支持过和阅读过我博客的朋友,以及Donews那套曾经还算可以的博客系统。

2008年01月13日

英文原文地址:http://itmanagement.earthweb.com/osrc/article.php/3720506
中文译文源地址:http://www.yeeyan.com/articles/view/888888/4021

操作系统是随着编程这样的文化成长起来的。 假期里,当家人和邻居像抓壮丁一样叫我去解决他们Windows电脑的故障时,我深刻的认识到这个事实。虽然我们中没有一个正式接受电脑培训,并且几乎对 Windows一点也不了解,我还是能够解决其他人解决不了的问题--不是因为任何技术上的天赋,而是因为我经历的自由软件文化让我能更好的应付这些问 题。

这些文化的起源或多或少是显而易见的。Windows和其他私有软件是商业软件市场的产品。在商业软件的文化中,信息流是单向的--从厂商到用户--并且这些公司所谓的知识产权和厂商锁定助长了他们强制把用户定义为一个不问是非的角色的气焰。

相反,自由软件文化有两个起源。第一个是Eric Raymond在Unix编程艺术里描述的Unix文化,它强调优秀。第二个是自由软件定义的四个自由度

诚然,最终用户未必对学习和改善他们自己的编程技术有兴趣。但是,对开发者来说这种自由的选择取决于他们自己的期望。此外,这种运行和再发布程序的 自由,在某种程序上减轻了大家对私有软件不受欢迎方面的感受。至少,集合这些资源创造了一批更活跃、更苛刻的用户,而这在私有软件里是不可能的。

无疑,这些起源的差异将产生截然不同的期望。当然,一定会有例外,并且用户专门技能越丰富,差异越不显著。此外,像Firefox和 OpenOffice.org这些自由软件正在越来越多的集成到私有平台。并且当自由软件发展成一个大市场时,私有文化同样也正在渗透到自由软件里来了。

在大多数情况下,你仍然可以认为自由软件用户与私有软件用户在很多基本方式上是不同的。更进一步,当你销售或开发软件时,是否解这些区别能严重影响你的成功。

1) 自由软件用户希望开放的软件许可,而且不需要激活

像Adobe和Xare这种已经在测试GNU/Linux版本软件的私有厂商,通常认为自由软件用户不会购买商业软件。然而,像Mandriva  和 Red Hat 这样的公司已经证明了,比起对现实的观察,这更像是一个对替代商业想法失败的假想。如果没有别的情况,商业用户基本是会购买商业软件,只是为了拥有与厂商 保持传统关系的安慰。

然而,只要给他们任何一点机会,自由软件用户真的会拒绝私有许可证和激活方式,这阻碍了他们复制和再发布软件的自由。如果别处没有合适功能的软件, 有些人会忍耐私有许可。对不重要的软件比如游戏这些他们可能会接受私有许可。但是,只要一看到替代品,他们会抛弃私有产品。当然,大多数甚至都不会接受这 个暂时的折衷。

如果你要向自由软件社区销售,请你放弃从软件身上赚钱的方法,想一想软件周边你能提供什么服务吧。那么你想一想文件分享和自由文化是否是根植于自由软件文化的? 

2) 自由软件用户希望规律的升级和补丁

自由操作系统是为完全满意而设定的。你想要一个软件?切换到根用户,5分钟它就安装好并且在没有重启的情况下投入使用。

这个日常功能的高效性在升级和补丁同样适用。在自由软件中,升级和补丁不是在beta版和RC版完成后才发生的年度事件。它们接近于一个日常的事件。计划维护者认真负责的对待,这是众所周知,他们尽快会从工作中会抽出私人时间去修复一个BUG或打安全补丁。

3)  自由软件用户希望以自己的方式工作

从Windows转换到GNU/Linux,用户可能注意到的第一件事就是,仅仅对于外观和桌面操作,就有那么多的定制选项。如果不出意外,他们可能会感觉到可选项真是太多了。通常,他们无法想象曾经能有这个一半的选项。

这些选项是自由软件向它的用户灌输支配感的直接结果。 用户不仅希望使用菜单、工具栏或快捷键作为他们偏爱的指令,而且希望简洁有效的控制颜色、窗 口小部件甚至桌面特性的布局。如果他们以另一种方式转换,从GNU/Linux到Windows,他们会感觉到自己受到约束,他们强制被要求做开发者让他 们做的事,而不是咨询他们自己的意义。

4)自由软件用户想要控制自己的系统

对自由软件用户来说,Windows XP或Vista最让人不能忍受的一个方面是,你会被不时弹出的东西骚扰。系统会提醒你可用升级、可能的安全风险和当前系统状态。同样你的软件,比如 Java和很多其他程序,会有自己的信息这也并不奇怪。这就是说,操作系统和一或两个基本程序像电话屋一样,并且锁定技术管制了你的电脑。有时候,看起来 你的工作每30秒那样就要被打断一次。

自由软件操作系统的桌面也开始有系统提示了,但是,迄今为止,它们是针对整个系统的。更重要的是,它们能被关闭。有经验的GNU/Linux或FreeBSD用户知道例行系统事件在日志文件里,他们能在空闲时再去读它。

至于锁定和监视技术,忘记它吧。很多自由软件用户对相对良性的自动监视工具比如Debian Popularity Contest或Smolt存有疑虑,更不用说那些从他们手中夺走控制权的软件了。

5)自由软件用户喜欢探究

假期里,我大约在瞬间解决了面对的两个Windows问题。一个是简单的把显示器插到专用显卡上,而不是主板集成的那块显卡。另一个通过用一个文件 管理器代替新硬件自带的专用工具也解决了。我问他们为什么不自己找找看有什么办法,他们都说我帮了大忙、支支吾吾之类的话,但是最后他们或多或少都承认他 们只是害怕尝试而已。

对我来说,这些反应代表了私有软件通常造成的习得性无助。桌面上只有可见的几个工具--大多数都隐藏着几个对话框之下--并且这些工具并没有说明它们是如果达到这个结果的--普通Windows用户很少有动机去学习如果管理系统。

然而,在自由软件系统上,探究是很容易的。例如,大多数配置通过能从文件管理器浏览的纯文本文件完成。因为探究能带来了快速有效的结果,自由操作系 统的用户被鼓励去研究,并且迅速成长为有能力那样做的用户。如果把他们放到Windows系统,他们可能会报怨,他们被系统孤立出来了,就像戴着拳击手套 打字一样。

6) 自由软件用户希望自力更生

自由软件用户不反对帮助文件。如果没有意外,他们喜欢帮助文件。对于传统Unix man页面,在命令行它们有信息页面,在桌面他们有在线帮助。但是这与私有软件用户期望的正式技术支持相差很远。相反,自由软件用户期望的是自力更生-- 不仅是帮助文件,而且还有容易理解的配置文件(更完美的是用易读的纯文本形式),和邮件列表、IRC聊天频道这些能与别人交流的形式。DIY哲学深深根植 在每一位自由软件用户身上。他们使用自由软件越久,这种哲学越深。

7) 自由软件用户不惧怕命令行

对Windows用户来说,命令行是一个可怕的地方。这并不奇怪,考虑到命令行的笨拙与限制;这里有一个例子就是Vista允诺提供后来又放弃的那个命令行。但是在自由操作系统中命令行比在Windows中更友好,大多数用户很快就适应了它。

几乎在每一种情况下,自由软件里文字命令比它对应的图形界面有更多的选项并更强大。用户很乐意使用图形界面,但是,当它的极限到达时,大多数用户还 是会很高兴的进入命令行。这听起来有一点极客,但是这个习惯大部分是有绝对实用性的。除非接口设计者设法给图形界面提供与命令行一样的功能,那你就不用改 变什么了--不过,坦白的说,很少有人那样做。

8) 自由软件用户学习软件种类,而不是程序

私有软件用户很难了解他们的操作系统,他们就像在玩魔术拼字一样--仪式程序一样对待它,如果使用完全正确,会得到他们想要的结果。另外考虑到私有软件很昂贵,他们趋向于熟悉某一个办公套件,某一个网络浏览器和某一个邮件阅读器。结果,转换软件对他们来说就像一场伤害。

相反,自由软件用户既有系统知识也有软件选择体验。他们会在每一类别的软件中选择其中一个,但是这在体验了所有的可能目标之后才会做出。如果需要一 个他们的软件没有的特性,他们会找到一个临时或永久的替代品,并相信他们需要的其他特性这两个程序都会有。和私有软件用户不同,自由软件用户的忠心是暂时 的,并且依赖于软件的质量和选择。他们缺乏把私有软件用户绑定到一个特定公司的那种财政投入,并且好像没有理由要他们改变这种情况。

9) 自由软件用户希望能与研发者和其它工作人员交流

自由软件社区因自己是一个精英而感到自豪,在那里地位是成就和贡献的结果。因为地位依赖于最近你完成了什么,它不像传统办公室里的关系那样固定。甚 至在存在明显领导者的地方,他们最初也是在一个比经理直接控制其他人那种情况更公平的环境之中。那就是说社区成员不可能把自己孤立在权力之墙后面。社区成 员通常可以直接和项目领导者交流,一般是通过email和IRC。也没有项目领导者反对这项安排。

甚至在公司里,这种平面结构的踪迹也存在。与其去反抗它,明智的管理者会接受它并要求一个特殊的地方,纯粹是因为他们的立场。

结论

这些自由软件用户的特点还能存在多久并不确定。在过去的几年,一个自由操作系统用户的新类别开始形成:那些完全呆在图形界面的用户。接下来的几年, 在奔向更“用户界面友好”--这通常意味着更像Windows--的途中,有可能存在自由软件用户文化不被老派用户承认的现象。

然而,这看起来不太可能。极大程度上,在被同化与孤立为特殊事件的过程中,纯图形界面用户的敏感性还不至于触碰到自由软件用户文化的根基。除非他们 满足于呆在自己习惯的环境里,在一或两年里,图形界面用户会碰到一些他们不能解决的问题,除了变得更喜欢冒险探究或与主流文化更多交流之外别无他法。当上 面的情况发生时,他们已经迈出了远离被动用户的第一步,并向成为自己机器主人的方向前进。

Bruce Byfield是一个电脑记者,定期为Datamation, Linux.com、和Linux Journal撰稿。

2008年01月05日

  PHP开发小组近日发布了PHP 4.4.8。和之前的版本一样,这次发布依然是以改进4.4系统的安全性和稳定性为主,官方建议用户尽可能升级。由于这次的发布包括了PHP 4.4系列主要的补丁,所以可能会是最多一个正式的PHP 4.4发行版。但是,以后如果要解决一些安全漏洞的话,也可能继续发布修订版,直至2008年08月08日。

  PHP 4.4.8中主要的安全改进:

  • 改进了MOPB-02-2007的补丁
  • 修正了chunk_split()函数内部的整数溢出问题
  • 修正了str[c]spn()函数内部的整数溢出问题
  • 修正了因#41655导致的当open_basedir开启时的全局回归问题
  • 修正了money_format()不能接受多个%i或%n参数的问题
  • 向php.ini中添加了max_input_nesting_level指令,用于限制输入数据的嵌套层数
  • 修正了MySQL处理INFILE LOCAL选项的行为,当open_basedir或safe_mode开启时,该选项会被禁用
  • 修正了session.save_path和error_log会忽略open_basedir和safe_mode

  更详细的更新列表,可参见PHP 4.4.8的ChangeLog

  下载地址:http://cn.php.net/downloads.php#v4

2008年01月03日

1、钱不是问题,问题是没钱。
2、钻石恒久远,一颗就破产。
3、水能载舟,亦能煮粥。
4、一山不能容二虎,除非一公和一母。
5、火可以试金,金可以试女人,女人可以试男人。
6、烧香的不一定是和尚,还可能是熊猫。
7、喝醉了我谁也不服,我就扶墙。
8、我就像一只趴在玻璃上的苍蝇,前途光明,出路没有。
9、避孕的效果:不成功,便成人。
10、问世间情为何物?一物降一物

2007年12月29日

日前Netscape官方博客上发表了一篇公告,宣布对Netscape浏览器的支持到2008年2月1日正式结束。在经历了开创互联网时代、引领Web潮流、AOL的并购、遭遇浏览器大战的滑铁卢以及创立Mozilla基金会以图力挽狂澜的风风雨雨之后,Netscape终于走完了它的路。公告还表示以后的工作及Netscape浏览器的地位将会由Mozilla基金会及期拳头产品Firefox浏览器所取代。这篇公告是一个墓碑,也是一个里程碑,标志着在网络浏览器领域Netscape时代的彻底终结,也标志着Mozilla与微软之间的竞争即将进入白热化的阶段。尽管如此,我们仍将怀念这个Netscape这个英雄,为互联网的发展作出了不可磨灭的贡献。

2007年12月23日

  我所在的高校是一所民办的二级软件学院,虽然实事求是的说在国内确实不怎么样,但是在地级市里内尚算是一所小有名气的高校,曾获“2006年度综合实力20强独立学院”荣誉。学院里的主要是以软件技术为导向设置各系和其下专业的,而我所就读的正是软件工程类的专业。在这两年多以来,我在软件技术上有很大的长进,我感谢学院对我的培养。然而另一方面,我却深深感觉到了学院师资方面的不足,当然,这些可能也普遍存在于国内的一些高校。鉴于我对学院和教导我的老师还是颇有感情的,所以用一些偏激的语句写了这篇丑文,从另一个角度揭示了学院在师资方面的不足,希望能让读到这篇文章的人都有所想法。另外要说明的是,本文提到的所有内容纯粹是个人有很大局限性的愚见,请读者心平气和地对待,本人对该本所发表的所有言论负责,欢迎拍砖,或者一笑置之。

以下是我想对我们学院老师所说的:

  1. 请您明白,作为一门工程类学科的教育工作者,严谨的态度是非常非常重要的
  2. 请您更新一下您十年前所学习的知识,因为您所做的不是恒古不变的基础性研究和教学,了解一下象牙塔之外的现实世界是有多么的残酷
  3. 请您让您的学生了解在有很多免费and/or开源解决方案的前提下,您还坚持大量使用盗版软件教学导致学院接到律师函这种事情并不是您无能无知无法无良的表现,也没有对软件业造成任何负面影响
  4. 请您向学生解释为什么直到2008年您仍然严厉禁止他们用VC2005做作业而必须使用VC6
  5. 请您不要以为您总能比学生懂得多
  6. 请您不要以为您总能忽悠学生
  7. 请您不要以为学生的观念必须要和您的一样……落后
  8. 请您不要以为Internet Explorer 6能正解显示的HTML、CSS和JavaScript代码是最标准的
  9. 请您不要以为在原版VC6编译通过的C++代码是最标准的
  10. 请您不要以为JBuilder现在还是最多人用的Java开发工具
  11. 请您不要以为ASP.Net是一种编程语言
  12. 请您不要以为一个汉字就一定是两个字节,或者一个英文字符就一定是一个字节
  13. 请您不要以为Internet Explorer和Netscape依然是目前市场的两大浏览器软件
  14. 请您不要以为Java的ORM组件只有Hibernate一种
  15. 请您不要以为Java的JDK只有Sun Microsystem一家提供
  16. 请您不要以为Sun Microsystem是做Java起家的
  17. 请您不要以为Linux就像Windows一样是一个产品
  18. 请您不要以为RedHat Linux桌面版本现在还是叫RedHat Linux
  19. 请您不要以为国产Linux就只有RedFlag一家
  20. 请您不要以为操作系统就只有Windows、Linux或者Unix几种
  21. 请您不要以为软件开发过程只有瀑布模型
  22. 请您不要以为RUP是软件工程的原子弹
  23. 请您不要以为软件设计总是要画一大坨的UML图
  24. 请您不要以为系统建模就非得用Rose
  25. 请您不要以为软件开发必须有完整的需求才能开始设计和编码
  26. 请您不要以为需求总是长长地列在文档上
  27. 请您不要以为面向对象编程才是王道
  28. 请您不要以为现在还是单机单处理器单线程的年代
  29. 请您不要以为编码完成后才能进行测试
  30. 请您不要以为调试是除错的唯一方法
  31. 请您不要以为您懂得排序算法后就能在任何一种编程语言中优雅的把它重现,因为有的语言的排序甚至不需要你自己写流程控制语句
  32. 请您不要以为编程语言只有Java、C、C++、C#、VB。作为您的学生,也许是我辜负了您的教导,因为以上语言,我在实际开发中基本不用,我另有所爱。
  33. 请您不要以为数据库就只有SQL Server、Access、Oracle、DB2。作为您的学生,也许是我辜负了您的教导,因为以上数据库,我在实际开发中基本不用,我另有所爱。
  34. 请您不要以为开发一套软件只会用到一种编程语言或者一种数据库系统
  35. 请您不要以为这个地球上能够进行软件开发的组织只有“公司”一种
  36. 请您不要以为开源软件就是免费或者没有版权,那是您无知的表现
  37. 请您不要以为在残酷而实际的软件开发工作中您的学生能像您在学校一样自己实现所有的软件功能
  38. 请您不要以为您的课程里那一大坨长长的判断语句很强大就能叫做是人工智能并且是您炫耀的资本
  39. 请您不要以为DirectX拥有系统级的优势就意味着Flash在任何情况下都比不上它
  40. 请您不要以为实际应用都会像您布置给学生的作业一样把程序做得可以运行就可以了,现实之中往往还要考虑成本、时间、进度、质量、人力、资金、技术水平和技能熟练程度,这些问题可能是您教一辈子书也不会遇到的
  41. 请您不要以为您把网上看到的那些文章背下来,就成为了您的实际经验
  42. 请您不要以为数据仓库就一定能解决大数据量的问题
  43. 请您不要以为大型数据库产品就一定能胜任繁重的任务
  44. 请您不要以为高性能服务器就一定能解决高并发量的问题
  45. 请您不要以为复杂性在任何时候都能对抗复杂性,正如以上三条所说
  46. 请您不要以为流行的技术就是好的技术
  47. 请您不要以为好的技术就会有市场
  48. 请您不要以为有市场的技术就是有前途
  49. 请您不要以为有前途的技术就一定会流行
  50. 请您不要以为以上四句是死循环
  51. 请您不要歧视冷门的技术,正如您不会歧视少数民族那样
  52. 请您不要不知道国产的数据库系统
  53. 请您不要老是盯着学生要用哪种编程语言、哪个开发工具和哪个数据库
  54. 请您不要强迫您的学生提交.doc后缀的文档,要知道Microsoft Office不是世界唯一的Office套件
  55. 如果您是关注软件工程方面的话,请您多了解SCM方面的知识
  56. 如果您不知道现在的行业情况或者一项技术概念,请谦虚的承认您不知道,不要把凭空想象的结论和建议用来误人子弟
  57. 如果您想在学生面前耍Cool,请不要用B/S、C/S或者网页三剑客这些老掉牙的概念,SOA也许会是一个能让你不太丢脸的砝码
  58. 如果条件允许,请教授您的学生编写单元测试和自动加载测试数据的脚本。当然,您那种把测试数据一条一条手动录入再一次一次手动执行程序的做法也失为一种笨办法
  59. 如果条件允许,请教授您的学生有关程序部署的知识,实际应用不可能拿着IDE去运行一个系统
  60. 不得不承认您把网上看到的那个用车库来比喻ORM的教程复制到课堂上相比起照本宣读来说确实是一种进步

  如果您是老师,看完以上的东西觉得很不爽,请务必知道和记住一点,这篇文章的作者也就是您的学生,其实是很无知、很幼稚的。

  行文至此,希望各位读者无论是相关的教育工作者或者学生,又或者是软件业的从业者,都能从中得到一些启发或者思考的空间。不过我仍然坚信在曲折中前进的中国软件业,会有一个比较光明的未来。临近年未,谨以此文与大家共勉。

2007年12月22日

一种新型的基于 Web 的数据集成应用程序正在 Internet 上逐渐兴起。通常用术语 mashup 表示,它们的流行萌芽于对交互式用户参与和集成第三方数据的类似于科学怪人方式的重视。我们使用萌芽一词是有一定原因的;mashup Web 站点的特点就表现为它正在 Web 上扎根发芽,它们利用了从组织边界之外的数据源获取的内容和功能。

mashup 这种隐晦的数据集成定义当然不是非常严格。要深入了解什么是 mashup,就应该了解一下这个单词的起源:它源于流行音乐,mashup 是从两首不同的歌曲(通常属于不同的流派)中混合演唱和乐器的音轨而构成的一首新歌。与那些 “bastard pop” 歌曲类似,mashup 也是内容的一种不常见的创新组合(通常都源自于无关的数据源),这都是人工进行合成的(而不是通过计算机来合成的)。

那么,mashup 看起来到底是什么样子呢?ChicagoCrime.org 的 Web 站点上有非常直观的例子,它解释了地图 mashup 到底是什么。最初广泛流行起来的 mashup 之一是一个 Web 站点,它将芝加哥警局在线数据库中的犯罪记录与 Google Maps 上的地图复合在一起。用户可以与 mashup 站点进行交互,例如告诉它在图形界面上显示一个包含图钉的地图,图钉展示南加州最近所有入室抢劫案件的详细信息。这种概念和呈现方式非常简单,犯罪和地图 数据复合之后提供的可视化的功能非常强大。

Mashup 流派 中,我们探索了流行的 mashup,包括地图 mashup。相关技术 简要介绍了与 mashup 的构建和操作有关的技术前景。技术挑战社会挑战 分别介绍了影响 mashup 的主要技术挑战和社会挑战。

全文请浏览IBM developerWorks网站:http://www.ibm.com/developerworks/cn/xml/x-mashups.html

2007年12月21日

1.tp-link 无线路由

管理登录地址: http://192.168.1.1

默认管理帐号: admin
默认密码:admin

2.netgear

管理登录地址:192.168.1.1   /   10.0.0.1

默认管理帐号: admin
默认密码:password

3.asus 华硕

管理登录地址:192.168.1.1

默认管理帐号:admin
默认密码:admin

4.d-link 无线路由

管理登录地址:192.168.0.1

默认管理帐号: admin
默认密码:空

5.阿尔法

管理登录地址:192.168.18.1

默认管理帐号:admin
默认密码:admin

6.netcore

管理登录地址:192.168.1.1

默认管理帐号:admin
默认密码:admin

7.buffalo

管理登录地址:192.168.11.1

默认管理帐号:root
默认密码:空

8.linksys

管理登录地址:192.168.1.1

默认管理帐号:admin
默认密码:admin

转载请注明出处:phpv.net

2007年12月20日

  近日在Internet Explorer的官方博客登截了一了篇关于Internet Explorer 8 已在标准模式下通过Acid2测试的消息。到目前为止,就算是Firefox 2也未能正确地渲染Acid2,因而无可否认这是IE的一个重大进步。然而,我认为文章中提及的一些观点仍然表现出微软对抗拒Web标准所持的顽固不化的态度。在IE节节败退的今日,微软是否会宁为玉碎,不为瓦存?是否真的没有任何的力量可以使巨人低下它高昂的头?

2007年12月19日

0-9

1C products internal script
2.PAK
20-GATE
473L Query
51-FORTH

A

A+
A++
A# .NET
A# (Axiom)
A-0
ABAP
ABC
ABC ALGOL
ABLE
ABSET
ABSYS
ACC
Accent
ACT-III
Action!
ACS
ActionScript
Actor
Ada
ADMINS – Automated Data Methods for Information Naming Systems [1]
ADS/Online
AdvPL
Aleph
AIMMS
Alan
ALC Assembly Language Common, IBM acronym for BAL Basic assembly language
Aldor
Alef – concurrent language used in early versions of Plan 9
Algae
ALGO
ALGOL
Alice
Alphard
AmigaE
AMOS
AMPL
ApeScript
APL
AppleScript
Apply – A domain-specific language for image processing on parallel or conventional architectures
AREXX – Amiga version of REXX scripting language
Argos
ARS++
ASP
AspectJ
Assembly
ATLAS
Atlas Autocode
ATOLL – Acceptance, Test Or Launch Language
Aubit-4GL
Autocoder
AutoHotkey
AutoIt
AutoLISP
Averest
AWK – Also derivatives gawk, mawk, and nawk
Axiom
Axiom-XL

B

B
BACI
BASIC – See also List of BASIC dialects (by platform)
bc
bcompile
BCPL
BeanShell
BETA
Bigwig
Bistro
BLISS
Blitz Basic
Block And List Manipulation (BALM)
Blue – Rejected prototype for Ada
Blue
Boo
Bourne shell (sh)
Bourne-Again shell (bash)
Boxx
BPEL – Business Process Execution Language
Brainfuck
BUGSYS
BuildProfessional

C

C
C–
C-script
C++
C#
C shell (csh)
Caché ObjectScript – See also Caché Basic
Caml
Cayenne
CeeBot
Cecil
Cesil
Cg
Chapel
CHAIN
Charity
Chey
CHILL
Chrome
ChucK
Cilk
Clarion
Clipper
CLIPS
CLIST – Programming language for online applications in the MVS TSO environment
CLU
CMS-2
COBOL
CobolScript
Cocoa
CODE
CodeSimian
ColdFusion
COMAL
Common Intermediate Language (CIL)
Common Lisp
CLOS
Component Pascal
COMIT – List or string processing language
Concurrent Clean
Constraint Handling Rules
CORAL66
Corn
CorVision
COWSEL
CPL
CSP
Csound
Cue
Curl
Curry
Cyclone

D

D
DASL (historical)
Dark Basic
Dataflex
Datalog
dBASE
dc
Deesel (formerly G)
DCL
Delphi
Dialog Manager
DIBOL
Dream Maker
Dylan

E

E
Ease
Easy PL/I
eDeveloper
Edinburgh IMP
Eiffel
Elan
elastiC
Elf
Emacs Lisp
Enterprise Generation Language (EGL)
Epigram
Erlang
Escapade – server-side programming
Esterel
Euclid
Euphoria
Euler
EXEC
EXEC2

F

F
F#
Factor
Felix
Ferite
FL
FLOW-MATIC
FOCAL
FOCUS
FOIL
FORMAC
Formula language
Forth
Fortran
Fortress
FoxPro
FP
Franz Lisp
Frink
Frontier

G

G (LabVIEW)
GAMS
GML
Gambas
Gclisp
G-code
Gema
GEMBASE
GENIE
Gibiane
GJ
Godiva
Gödel
GOTRAN see IBM 1620
GPSS
Green
Green – Prototype for Ada
Groovy
Gypsy
Emma P

H

HAL/S – Real-time aerospace programming language
HAScript
Haskell
High Level Assembly (HLA)
Hugo
HyperTalk
HTML/OS

I

ICI programming language
Icon
IDL programming language
IMP
Inform
Information Processing Language (IPL)
Informix-4GL
INTERCAL
Io
IPTSCRAE

J

J
J#
J++
JADE
JAG
Jal
Janus
Java
JavaScript
JCL
Join Java
JOSS
Joule
JOVIAL
Joy
JSP
JScript
Jython
J2EE
J2ME

K

K
Kid’s Programming Language (KPL)
Kiev
Kite
Kogut
KRC
KRYPTON

L

L
LabVIEW
Lagoona
LANSA
Lasso
Lava
Leda
Lead
Legoscript
Leopard
Lexico
Lfyre
Limbo
Limnor
LINC
Lingo
Lisaac
Lisp
Lite-C
Logo
LPC
LSL
LSE
Lua
Lucid
Lush
Lustre
LYaPAS

M

M4
MAD
MADCAP
MAGIC – See eDeveloper
Magma
MapBasic
Maple
MAPPER (Unisys/Sperry) now part of BIS
MARK-IV (Sterling/Informatics) now VISION:BUILDER of CA
Mary
Mathematica
Matlab
MATA
Maya
Mercury
Mesa
METAL
Michigan Algorithmic Decoder see MAD programming language
Microcode
MicroScript
MillScript
MIMIC
Mindscript
Miranda
Miva
ML
Moby
MODCAP
Model 204 User Language
Modula
Modula-2
Modula-3
Mondrian
Mortran
Moto
MOUSE
MSIL – Deprecated name for Common Intermediate Language
MUMPS

N

Napier88
Natural
Nemerle
NESL
NGL
Nial
Nice
Nickle
Nosica

O

o:XML
Oberon
Objective Modula-2
Object Pascal
Objective-C
Objective Caml
Obliq
occam
occam
Octave
Opal
Open programming language
OPS5
Organiser Programming Language (OPL) – cf. Psion Organiser
Oz

P

Parser
Pascal
Free Pascal
IP Pascal
Object Pascal – See also Delphi
Turbo Pascal
Virtual Pascal
Pawn
PBASIC
Perl
Perl Data Language
PHP
Pico
Piet
Pike
PILOT
Pizza
PL 11
PL/0
PL/8
PL/B
PL/C
PL/I
PL/M
PLD
PL/SQL
Plankalkl
Pliant
PPL
POP-11
Poplog
PORTRAN
PostScript
POV-Ray
Ppc++
Processing
Prograph
Progress 4GL
Prolog
Turbo Prolog
Promela
Proteus
Python

Q

Q
QuakeC
QML
QPL
Quikcomp (for the Monrobot XI)

R

R
R++ – Based on C++ and added semanteme description
Rascal
Ratfiv
Ratfor
RBScript
rc
REALbasic
REPL – Really Easy Programming Language
REBOL – Relative Expression Based Object Language
Red – Rejected prototype for Ada
Redcode
REDO
REFAL
Revolution
REXX
Rigal
Rlab
Robot Scripting Language (RSL)
RPG (Report Program Generator)
RPL
Ruby
RuneScript

S

S
S2
S-Lang
SAIL
SAKO
SAM76
SAS
Sather
Scala
SCAR
Scheme
Sed
Self
SETL
SIGNAL
SiMPLE
SIMSCRIPT
Simula
SISAL
Slate
SLIP
SMALL Machine Algol Like Language
Small
Smalltalk
Snobol
SPITBOL
Snowball
SPARK
Spice
SPIN
SP/k
SPS (1620) see IBM 1620
Squeak
SR
SSL
Standard ML
Subtext
SuperCollider
Suneido
SYMPL
SyncCharts
Synergy/DE

T

T
TACL
TACPOL
TADS
Transaction Application Language
Tcl
Transact SQL
teco
TELCOMP
Telon
Tempo
Titanium
TI-Basic
Today
Tom
TOM
Topspeed see Clarion
TorqueScript
tpu
Trac
TTCN
Turing
TUTOR
Tutorial D
TXL

U

Ubercode
Ultra 32
Unicon
Uniface (programming language)
UnrealScript

V

Visual DataFlex
Visual DialogScript
Visual FoxPro
Visual Objects
VBScript
Visual Basic
Visual Basic .NET
VRML

W

Water
WATFOR see WATFIV
WATFIV
WAXHTML
WebQL
Whitespace
Winbatch
WinDev
Windows PowerShell
WML

X

X10
XBL
xbScript – Also xBaseScript
xHarbour
XL
XOTcl
XPL
XPL0
XQuery
XSLT – See XPath

Y

YAFL
Yellow – Rejected prototype for Ada
Yorick
Y programming language

Z

Z notation – A program specification language, like UML.
ZPL
ZZT-oop
ZOPL
ZUG