Linguaggi di programmazione
Storia
1957 FORTRAN, Formula Translator
1961 COBOL, COmmon Business-Oriented Language
1970 Pascal
1972 C
1979 Ada
1991 VisualBasic
1995 Delphi, Java
77, 90, ...
1958 ALGOL, ALGOrithmic Language
60, 68
1959 LISP, List Processor1961 COBOL, COmmon Business-Oriented Language
68, 74, 85, 2002
1964 BASIC1970 Pascal
1972 C
1979 Ada
83, 95, ...
1983 C++1991 VisualBasic
1995 Delphi, Java
Scegli
Linguaggi
- Linguaggio
- simboli + regole
- parole + regole
- Linguaggio naturale
- italiano, inglese, ...
- Metalinguaggio
- Pseudolinguaggio
- Linguaggio di progetto
- Linguaggio formale
- Linguaggio di comandi
- Linguaggio di programmazione
- di alto/basso livello
- lato client/server
- di script
- Linguaggio macchina
In ordine alfabetico
Ada, ALGOL, ASP, BASIC, C, C++, COBOL, ContextFree, FORTRAN, GameMaker, Java, JavaScript, LISP, LOGO, Pascal, Perl, PHP, PovRay, ProcessingJs, ProcessingOrg, PROLOG, Python, VisualBasic, VRML, XLogo, ...
Paradigmi di programmazione
Lo stesso problema può essere risolto con tecniche di programmazione molto diverse...Alcune tipologie di problemi si risolvono più facilmente con certi paradigmi di programmazione...
| Procedurale | Sottoprogrammi, procedure, funzioni |
|---|---|
| Imperativa | Variabili, comandi, istruzioni per il controllo del flusso |
| Strutturata | Sequenza, cicli, alternative, NO SALTI |
| Modulare | Moduli, interfacce |
| Orientata agli oggetti | Classi, incapsulamento, ereditarietà, polimorfismo |
| Funzionale | Valutazione di funzioni |
| Logica | Clausole, unificazione |
| Concorrente | Processi |
| Parallela | Concorrenza |
| Genetica | Apprendimento automatico |
| Orientata agli eventi | Eventi, gestori degli eventi |
| Di script | Shell, interpretato |
Funzionale
Valutazione di funzioniLogica
Clausole, unificazione
1987 PROLOG, Programming logic, PROgrammation en LOGique
Orientata agli oggetti
Classi, incapsulamento, ereditarietà, polimorfismoScript
- ActionScript, Flash
- AppleScript, Apple
- JavaScript
- AJAX
- VBScript
- Bash, Unix, Linux
- ASP, Active server page
- JSP, Java server page
- PHP, PHP Hypertext Preprocessor
- Perl, Python, Ruby, Tcl
Linguaggi multiparadigma
Molti linguaggi offrono diverse modalità di programmazione| 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 |
Editor
Estensioni dei file sorgente- .asm, .bas, .c, .cpp, .h, .pas, .py, .java, .vbp
- .js, .php, .pl, .jsp
IDE
| Win - Gratis | Dev-C++ Microsoft Visual Studio Express PSPad | Aptana Code::Blocks CodeLite Eclipse FreePascal Lazarus NetBeans Qt SDK |
|---|---|---|
| Linux - Gratis | Anjuta KDevelop | |
| Win - A pagamento | Microsoft Visual Studio |
Strumenti e tecnologie
- Flow-chart, diagramma di flusso
- UML, Unified modeling language
- API, Application Programming Interface
- IDE, Integrated Development Environment
- RAD, Rapid Application Development
- SDK, Software development kit
- ADO, Active data object
- CGI, Common gateway interface
- COM, Common object model
- DDE, Dynamic data exchange
- DLL, Dynamically linked library
- OLE, Object linking and embedding