Comparison of programming languages and tools
Content
- Programming Language
- Programming tools
This article compares various languages, including syntax and execution, variables and expressions, mathematics and logic, strings, regular expressions, dates and times, variable arrays, dictionaries, functions, execution control, exceptions, concurrency, and file, object, inheritance and polymorphism, reflection, network and web, unit testing and so on.
However, I 'd like to know the design philosophy of these languages, but unfortunately I do not ~
Programming Language
Interpreted Languages: JavaScript, PHP, Python, and Ruby. Compared with compiled languages, source code is not directly translated into machine languages. Instead, it is first translated into intermediate code, and then interpreted and run the intermediate code by the interpreter. Therefore, interpreter programs do not need to be compiled and are translated into machine languages at runtime. Each execution must be translated once. Therefore, the efficiency is relatively low and the interpreter is dependent on, but cross-platform performance is good.
More Interpreted Languages (More Interpreted Languages): Perl, Tcl, Lua, Groovy
Operating System Automation: POSIX Shell, Cmd.exe, and PowerShell. These languages are a command line shell and script environment.
GUI Scripting (GUI script): Smalltalk, AutoHotkey, AppleScript
Stack-Oriented Languages (Stack-Oriented language): Forth, PostScript
Prolog and Erlang: Prolog, Erlang
Lisp Dialects (Lisp dialect): Common Lisp, Racket, Clojure, Emacs Lisp
C ++ Style Languages (C ++-Style language): C ++, Objective-C, Java, C #
C, Go, and Dart: C, Go, Dart
Pascal Style programming ages (Pascal-Style language): Pascal, Ada, PL/pgSQL
Rust, Swift, Scala: Rust, Swift, Scala
ML Dialects and Haskell: SML, OCaml, F #, Haskell
Numerical Analysis & Statistics (Numerical Analysis and Statistics): MATLAB, R, NumPy
Relational Data programming ages (Relational Data Language): SQL, Awk, Pig
Fortran and APL: Fortran, APL
Gnuplot, GLPK, Coq: Gnuplot, GLPK, Coq
Computer Algebra Software (Computer Algebra Software): Mathematica, SymPy, GAP, Pari/GP
Programming tools
Unix Shells: ash, Fish, Ksh, Tcsh, Zsh
Text Mode Editors (Text Editor): Vim, Emacs, Nano
Version Control: Git, Mercurial
Build Tools: Make, Rake, Ant, and MSBuild
Terminal Multiplexers (): Screen, Tmux
Relational Databases (Relational Database): PostgreSQL, MySQL, SQLite
Lightweight Markup (Lightweight tag): Markdown, reStructuredText, MediaWiki, AsciiDoc, Org-mode
2D Vector Graphics (2D Vector Graphics): PostScript, Processing, SVG
References
- Http://hyperpolyglot.org/