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

问题描述 投票:12回答:16

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

......每种语言都是为特定目的而创建的。

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

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

语言包括C#VBHaskellEiffelPerlPythonJava等;程序语言,函数语言,面向对象语言等......

language-agnostic programming-languages
16个回答
20
投票

只是我的意见:

C# - 微软想要自己的Java

Haskell - 纯函数式语言的研究

Perl - 文本操作

Python - 可读的脚本语言

程序语言 - 易于编译为冯诺依曼风格的架构

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

Ruby - OO-Perl

Lua - 可嵌入的脚本语言

C - 便携式组装

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

Emacs Lisp - Scheme或CL当时没有足够的性能

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

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

Powershell - 取代BAT脚本

PHP - 用于制作互联网

Javascript - 用于制作互联网2.0

APL - 使混淆的编码竞赛过时


2
投票

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

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

现在,我们会列出一系列语言以及它们实际使用的内容,而不仅仅是人们对它们的看法:

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

Javascript:AJAX,DOM操作

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

AWK:文本处理

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

目标C:iPhone

Lisp,Prolog:AI

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

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

帕斯卡:教学

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

R:统计计算和图形。


1
投票

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


1
投票

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


1
投票

R language

用于统计计算。


1
投票

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

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

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


0
投票

J

J在数据的数学,统计和逻辑分析方面特别强大。它是一个强大的工具,可以为旧问题构建新的更好的解决方案,甚至可以更好地找到问题尚未完全理解的解决方案。


0
投票

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


14
投票

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


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

但我想这个列表可能会引起一些争议...;)


6
投票

PHP原本代表“个人主页”,它说的就是我所想的。

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

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

Applescript是Hypertalk for Appels HyperCard应用程序的一个进展,与TCL一样,旨在嵌入到其他应用程序中以便于编写脚本。

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


4
投票

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

write once, run anywhere


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文档的样式。

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

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


3
投票

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

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


2
投票

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


2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.