Linguaggio
- simboli + regole
- parole + regole
Linguaggio naturale – artificiale – formale – logico/matematico – di programmazione – di progetto – pseudolinguaggio – metalinguaggio – di alto livello – di basso livello – linguaggio macchina – lato client – lato server – di script – di comandi – esoterico – …
Cronologia
- 1957 – FORTRAN
- 1958 – ALGOL
- 1959 – LISP
- 1961 – COBOL
- 1964 – BASIC
- 1967 – LOGO
- 1970 – Pascal
- 1972 – C
- 1979 – Ada
- 1983 – C++
- 1987 – Perl
- 1991 – Python – Visual Basic
- 1993 – R
- 1995 – ASP – Delphi – Java – Javascript – PHP
- 2000 – C#
- 2007 – Go
- 2010 – Rust
- …
In ordine alfabetico
Significato | Versioni | |
---|---|---|
Ada | Augusta Ada Byron, contessa di Lovelace | 83, 95, … |
ALGOL | ALGOrithmic Language | 60, 68, … |
ASP | Active Server Pages | … |
BASIC | Beginner’s All purpose Symbolic Instruction Code | QBasic, QuickBasic, Small Basic, Visual Basic, … |
C | C++, Objective C, TurboC, Visual C, … | |
COBOL | COmmon Business-Oriented Language | 68, 74, 85, 2002, … |
FORTRAN | FORmula TRANslator | 77, 90, … |
Haskell | ||
Java | C#, Visual J | |
Javascript | ||
LISP | LISt Processor | AutoLISP, Common Lisp, … |
LOGO | LibreLogo, XLogo, … | |
Pascal | Blaise Pascal | Delphi, TurboPascal, … |
PHP | PHP: Hypertext Preprocessor | |
Processing.org | p5js, Processing.js | |
Python | ||
Ruby | ||
… | … | .. |
Paradigma
I linguaggi possono essere classificati a seconda del paradigma di programmazione che realizzano
Funzionale | AutoLISP, Common Lisp, Haskell, LISP, LOGO, Mathematica, Scala, Scheme |
Imperativo | Assembly, BASIC, … |
Logico | PROLOG |
Orientato agli oggetti | C++, Eiffel, Delphi, Java, Simula, Smalltalk, TurboPascal 5.5, VisualBasic 4 |
Script | ActionScript, AppleScript, ASP, Bash, Javascript, JSP, Perl, PHP, Python, Ruby, Tcl, VBScript |
Strutturato | Pascal… |
Visuale | Alice, Blockly, mBlock, Scratch |
Molti linguaggi si presentano come multiparadigma, forniscono al programmatore una sintassi molto flessibile / completa
- Ada: programmazione modulare, orientata agli oggetti, concorrente, distribuita
- C#: … imperativa, dichiarativa, funzionale, generica, object-oriented, component-oriented
- Common Lisp: procedurale, imperativa, funzionale, object-oriented
- F#: … imperativa, funzionale, object-oriented
- Scala: … funzionale, object-oriented
Strumenti di sviluppo
Editor | Blocco note, … |
Editor evoluto | Notepad2, Notepad++, RSciTE, Sublime Text, … |
IDE generico | Aptana, Code::Blocks, CodeLite, Eclipse, Geany, NetBeans, PSPad, Visual Studio Express |
IDE dedicato | Dev-C++, Dev-Pascal, Free Pascal, JCreator, Lazarus, … |
Online | C++ shell, codepad, Coding Ground, Compile And Execute Program Online, compile … online, Ideone, Java Online Compile & Runner, tech.io, Online Compiler, repl.it |
Forse non hai bisogno di un linguaggio di programmazione tradizionale, considera
- Android
- Coding
- Game design: GameMaker – Mettiti in gioco!
- Grafica/animazioni: Blender – ContextFree – GIMP – GlowScript – POV-Ray – Processing – SVG – Visual Python – VRML
- Matematica: GeoGebra – Maple – Octave – R – …
- Programmazione visuale
- STEM
- WWW: CMS – CSS – HTML – Javascript – PHP – …
RISORSE ONLINE
- Lista dei linguaggi di programmazione
- tutorialspoint (C, C++, C#, Java, Pascal, Python, …)
- tekh.io