“每种语言都是为特定目的而创建的”

时间:2009-06-28 10:27:48

标签: language-agnostic programming-languages

我正在阅读“Dot Net思想”中的Why Language is Important (Why I prefer C#)帖子,文章的第一段以此声明结束:

  

...为a创建了每种语言   具体目的。

这让我想到了为什么某些语言存在的确切原因......即它们存在的具体原因是什么。

我从这个问题的目标是列出尽可能多的编程语言及其存在的主要原因 ......为什么使用它们;这将有助于人们决定使用什么语言进行特定任务。

C#VBHaskellEiffelPerlPythonJava等语言; 过程语言,功能语言,面向对象的语言等......

16 个答案:

答案 0 :(得分:20)

只是我的意见:

C# - 微软想要自己的Java

Haskell - 纯函数式语言的研究

Perl - 文字处理

Python - 可读的脚本语言

程序语言 - 易于编译Von Neumann样式架构

LISP&功能语言 - 帮助自下而上的软件设计

Ruby - OO-Perl

Lua - 可嵌入的脚本语言

C - 便携式汇编程序

C ++ - 带对象的便携式汇编程序

Emacs Lisp - Scheme或CL当时没有足够的表现

Pascal - 教学编程。出于某些变态的原因,人们也坚持将其用于生产软件。

汇编语言 - 在纸上手动编写机器语言和解析JMP地址非常繁琐。 (我试过了)

Power shell - 替换BAT脚本

PHP - 用于制作互联网

Javascript - 用于制作互联网2.0

APL - 使模糊编码竞赛过时

答案 1 :(得分:14)

Brainfuck的存在表明您可以在200字节以内为图灵完整语言编写编译器:)

答案 2 :(得分:7)

  • Perl,因为开发人员应该学会欣赏痛苦
  • C ++,因为地球上有5个人应该能够创建操作系统和嵌入式系统,因为D太远了字母
  • C,因为B需要继任者
  • D,因为C需要一个“真正的”继任者
  • Python,因为写尖括号对你的健康有害
  • Java,因为C ++太难了,而Gosling认为(错误地)我们需要一种没有多重继承的语言
  • VB,因为比尔盖茨的孩子需要“VB继承”
  • C#,因为Java开始从“Visual C ++”中窃取市场份额

但我猜这个名单可能会引起争议......;)

答案 3 :(得分:6)

PHP 最初代表“个人主页”,这就是我想的全部内容。

APL 代表“编程语言”,是为“教授和分析与计算机应用相关的主题”而创建的

TCL 发音“嘀嗒”是由John Ousterhout“沮丧地诞生”并且意在嵌入其他应用程序

Applescript 是来自Hypertalk for Appels HyperCard应用程序的进展,并且像TCL一样,旨在嵌入其他应用程序以便于编写脚本。

这就是全部。我的编程语言历史不是很好。

答案 4 :(得分:4)

我认为 JAVA 是唯一宣传其目的的语言:

  

write once, run anywhere

答案 5 :(得分:4)

Python:一种易于阅读和使用的编程语言。

APL:一种非常善于解决数学问题的语言。

J和K:两者都试图让拥有qwerty键盘的人可以使用APL。

Java:作为更好的C ++,专注于使用单个代码库。

C ++:使用面向对象的更好的C。

Qt:虽然它不是一种编程语言,但它确实扩展了值得一提的C ++。Qt是一个GUI工具包,一个数据库抽象和许多更多的东西。它也是交叉的平台。)

C:更好的B(严重)

Objective-C: Apple尝试使用面向对象来制作更好的C语言。

Perl:用于处理文本的语言构建,但现在是一种广泛使用的“脚本”语言。它还建立在“应该有不止一种方法来实现它”的理念之上。

Haskell:尝试制作一种完全纯粹的功能语言,重点强调功能。

Lisp:最初名为List Processor。今天,它是一种开创了现代语言所具有的许多技术的语言。 Lisp是标准而不是实际语言。有时也称为“可编程编程语言”。

Common Lisp: Lisp的常见实现。它具有现代语言所具有的许多功能,但也具有现代语言所没有的许多功能。

方案:旨在成为现存最纯粹的语言。它主要用作研究。

JavaScript:基于某些可能是Java的东西的脚本语言。除了名称,它与Java无关。它几乎只用作网络的脚本语言。 JavaScript基于标准的ECMAScript。

Lua:一种脚本语言,其目标是成为一种优秀的脚本语言。对其他一切都没用。

XML:旨在成为制作统一数据格式的一种方式,主要用于平台之间的数据交换。高度可扩展,例如XHTML(网页)可以嵌入SVG(矢量图形)和MathML(猜猜什么)文档,使XHTML几乎无限可能。

CSS:专为HTML和XHTML文档设计风格。

深奥编程语言:语言设计混乱且难以使用。

现在,我无法真正命名任何其他语言,我希望它有用:)

答案 6 :(得分:3)

我认为这不是一个有用的陈述。有一般目的语言,最初服务于特定目的的一些语言已经发展成为相当普遍的(例如Perl)。有些语言也被认为是特殊目的,即使它们从一开始就是通用的(Lisp)。

该文章还展示了编程语言环境的一个非常狭隘的视图。

答案 7 :(得分:2)

最明显的一个是COBOL: 面向商业的通用语言 你也可以通过阅读源代码来看到它。 Python主要有多种范式和清晰的简单性(但总是可以争辩我同意)。

答案 8 :(得分:2)

我认为最好说“每种语言最适合特定目的。”并非每种语言都是为特定目的而创建的,但通常会有少数几个领域擅长。

例如,“Scala是一种通用编程语言,旨在以简洁,优雅和类型安全的方式表达常见的编程模式。” C和C ++是更常见的通用语言。

现在有了语言列表以及它们实际使用的内容,而不仅仅是人们对它们的看法:

PHP,ASP,JSP,Ruby,Python: Web应用程序( Haskell 也开始在这里考虑[感谢Reddit])

Javascript: AJAX,DOM操作

BASIC,VB:快速原型制作,教学

AWK:文字处理

C& co。:系统(操作系统等),应用软件,设备驱动程序,嵌入式系统,服务器/客户端应用程序等/

目标C: iPhone

Lisp,Prolog: AI

Erlang:多线程,并行,容错编程。

Scala,Haskell:找不到任何一件清楚的东西,它们看起来都很一般(我没用过)。

Pascal:教学

埃菲尔:金融,航空航天,健康,游戏和教学(显然)。

R:统计计算和图形。

答案 9 :(得分:2)

Fortran - 尽可能快地进行数值计算。

答案 10 :(得分:1)

INTERCAL:通过使代码如此混乱来提高开发人员的智能,没有人能理解它。 =:)

答案 11 :(得分:1)

Perl - 系统管理员的粘合语言,现已发展成为通用编程语言。

答案 12 :(得分:1)

我必须借此机会向Piet提及,其唯一的设计原则是:程序代码将采用抽象艺术的形式。是的,它是一种真实的语言,从某种意义上说,它有解释器和一些工作程序。这是一个生成素数的人:

a prime number generator written, I mean, drawn in Piet
(来源:dangermouse.net

我曾经花了大约半个小时的时间试图绘制一个可以确定数字是偶数还是奇数的极小程序。

答案 13 :(得分:1)

<强> R language

用于统计计算。

答案 14 :(得分:0)

J

  J特别强大   数学,统计和逻辑   数据分析。它是一个强大的   建立新的和更好的工具   解决老问题甚至是   更好地找到解决方案   问题还不是很好   理解。

答案 15 :(得分:0)

Ada - 由国防部为安全关键的嵌入式/实时系统设计。