C、Lisp 和 Perl 是 GNU/Linux 文化中传统的黑客语言;Python、PHP、Java 和 C++ 最近获得了新的发展。
该语言的常用名称。
指示该语言对于几乎没有编程经验的人来说有多么适合。“是”标记的语言应该适合作为初学者的第一门编程语言。
当您将应用程序投入生产使用时,您的应用程序可能运行的速度有多快。性能更多地取决于您的算法编程技能,而不是实际的语言。作为经验法则,C、C++ 和 Fortran 有时是必要的,因为它们可以提供比其他语言更好的性能 - 但在其他时候,它们可能对于期望的目的来说显得笨拙。(对语言进行非科学的“基准测试”的一个想法是在所有语言中实现一个简单的排序算法并比较运行时间。这当然不是衡量实际语言的性能 - 因为这个概念没有意义 - 而只是衡量实现。当然,这也不是一个非常可靠或彻底的方法,但它可以举例说明不同语言的运行时间可能如何不同。有人愿意帮我做这件事吗?)
面向对象编程是一种重要的编程范例,它正变得越来越流行。在面向对象编程中,数据结构和算法被集成到单元中,通常称为类。OOP 通常与过程式编程(使用单独的算法和数据结构)形成对比。它并不严格依赖于语言:您可以在未列为 OOP 的语言(例如 C)中进行 OOP,并在列为 OOP 的语言中以过程式风格进行编程。我已将具有特殊功能或附加组件以促进 OOP 的语言列为 OOP 语言。函数式语言(例如 Lisp)有点不同 - 除此之外,函数式编程是 OOP 的超集。另一方面,逻辑编程 (Prolog),也称为声明式编程,与类似意义上的其他类型的编程无关。
更多地依赖于您正在使用的工具,而不是实际的语言。有一个关于 Linux GUI 开发工具的 HOWTO,尽管它已经过时了。使用好的图形工具,您可以进行 RAD。当基于代码重用时,RAD 也可以很强大,因此自由软件可以提供一个良好的起点。
提及该语言最常用于的编程领域。存在其他好的(和坏的)用途,但它们不太典型。
关于该语言的附加信息,例如功能和方言。
Perl Beginner: Yes - OOP: Yes Examples: Scripting, sysadmin, www Comments: Powerful for handling text and strings Python Beginner: Yes - OOP: Yes Examples: Scripting, application scripting, www Comments: TCL Beginner: Yes - OOP: No Examples: Scripting, sysadmin, applications Comments: PHP Beginner: Yes - OOP: Yes Examples: Www Comments: Popular for web databases Java Beginner: Yes - OOP: Yes Examples: Cross-platform applications, www Comments: Spreading to new areas, eg. e-commerce infrastructure Lisp Beginner: Yes - OOP: Functional Examples: Emacs modes (for Elisp), AI Comments: Variants Elisp, Clisp and Scheme Fortran Beginner: No - OOP: No Examples: Mathematical (scientific) applications Comments: Variants f77 and f90/95 C Beginner: No - OOP: No Examples: System programming, applications Comments: C++ Beginner: No - OOP: Yes Examples: Applications Comments:
Shell 也是重要的编程环境。我还没有介绍它们,因为我对这个领域的理解还不够透彻。对于任何经常在 Linux 上工作的人来说,Shell 知识都很重要,对于系统管理员来说更是如此。Shell 编程和其他类型的脚本编写之间存在相似之处 - 它们通常可以实现相同的目标,并且您可以选择使用本机 shell 和单独的脚本语言。最流行的 shell 包括 bash、tcsh、csh、ksh 和 zsh。您可以使用 man 命令获取有关 shell 的基本信息,例如 man bash。
其他值得注意的语言:AWK、SED、Smalltalk、Eiffel、Ada、Prolog、汇编程序、Objective C、Logo、Pascal (p2c 转换器)