Llenguatge de programació
De Viquipèdia
Un llenguatge de programació és un llenguatge informàtic usat per controlar el comportament d'una màquina, normalment un ordinador. Cada llenguatge té una sèrie de regles sintàctiques i semàntiques estrictes que cal seguir per escriure un programa informàtic, i que en descriuen l'estructura i el significat respectivament. Aquestes regles permeten especificar tant la classe de dades amb què treballarà el programa com les accions que realitzarà. Mentre que alguns llenguatges es defineixen per una especificació formal (un document), altres són definits oficiosament per una implementació concreta (un compilador).
Actualment existeixen milers de llenguatges de programació, i se'n creen de nous contínuament. Alguns dels més extesos són, discutiblement, ASM, C, C++, C# i Java.
Taula de continguts |
[edita] Classificació alt nivell-baix nivell
Els llenguatges se solen classificar principalment en llenguatges de baix nivell, que son molt propers al codi binari utilitzat internament per un tipus d'ordinador determinat, i llenguatges d'alt nivell, que son més propers al llenguatge humà i més independents del tipus d'ordinador.
La diferència entre llenguatges de baix i alt nivell es fa evident comparant dos programes que escriuen "Hola" en pantalla, el primer usant llenguatge assemblador per màquines x86 (baix nivell),
MODEL SMALL IDEAL STACK 100H
DATASEG HW DB 'Hola!$'
CODESEG MOV AX, @data MOV DS, AX MOV DX, OFFSET HW MOV AH, 09H INT 21H MOV AX, 4C00H INT 21H END
i el segon utilitzant un llenguatge d'alt nivell (Python),
print "Hola!"
Els llenguatges d'alt nivell es poden classificar també segons el tipus de model de programació que utilitzen (procedimentals, funcionals, orientats a objectes, etc.). També hi ha llenguatges de marcatge, que no són llenguatges de programació, sinó que s'utilitzen per estructurar o donar forma a un text. Avui en dia existeixen gran quantitat de llenguatges, més o menys especialitzats en diferents tasques.
[edita] Sistema de tipatge
El sistema de tipus defineix com un llenguatge de programació classifica els valors i expressions en tipus, com els manipula, i com hi interacciona. Generalment això inclou la descripció de les estructures de dades que el llenguatge pot construir. El disseny i estudi matemàtic d'aquests sistemes és conegut com la Teoria de tipus (type theory).
S'ha de recordar però que els computadors digitals moderns emmagatzemen internament totes les estructures simplement com a uns i zeros (binari)
[edita] Llenguatges tipats vers llenguatges no tipats
Un llenguatge és tipat si l'especificació de cada operació defineix a quins tipus de dades una operació és aplicable, amb l'implicació que no és aplicable als altres tipus.[1] Per exemple, "aquest text entre cometes" és un string
. En la majoria de llenguatges de programació, dividir un número per un string
no té sentit. En conseqüència la majoria dels llenguatges de programació moderns rebutjaran qualsevol intent de dur a terme una operació com aquesta. En alguns llenguatges, l'operació sense sentit es detectarà en temps de compilació (comprovació de tipus "estàtica") i serà rebutjada pel compilador. Mentre que en d'altres, l'operació sense sentit es detectarà en temps d'execució (comprovació de tipus "dinàmica"), resultant en una excepció en temps d'execució (runtime exception
).
Un cas especial de llenguatges tipats són els llenguatges mono-tipats. Normalment són llenguatges de script o de marcatge, com Rexx o SGML, i només tenen un tipus de dades - majoritàriament, cadenes de caràcters que són usats tan per dades simbòliques com numèriques.
En constrast, un llenguatge no tipat, com la majoria de llenguatges ensambladors, permet qualsevol operació sobre qualsevol tipus de dades, considerades com a seqüències de bits de mides vàries. Llenguatges d'alt nivell no tipats inclouen BCPL i algunes varietats de Forth.
A la pràctica, mentre que pocs llenguatges es consideren tipats des del punt de vista de la Teoria de tipus (verificar o rebutjar totes les operacions), la majoria del llenguatges moderns ofereixen un cert grau de tipatge. Molts llenguatges de producció ofereixen alguna manera de subvertir o fer un bypass al sistema de tipus.
[edita] Classificació dels principals llenguatges de programació
- Llenguatge màquina
- Llenguatge simbòlic
- Llenguatges de programació d'alt nivell
- Llenguatges de programació esotèrics
[edita] Referències
- ↑ Andrew Cooke. An Introduction to Programming Languages. Data d'accés June 30, 2006.
[edita] Vegeu també
[edita] Enllaços externs
- LiteratePrograms.org (anglès) Wiki d'algorismes implementats en diferents llenguatges de programació.
- Computer Languages History (anglès) Línia de temps dels 50 principals llenguatges de programació.
- The Language List (anglès) Informació recompilada de 2.500 llenguatges de programació.
Llenguatges de programació |
---|
Ada | ALGOL | Assemblador | Awk | Basic| BCPL | C | C++ | C# | Cobol | D | Delphi | Eiffel | Forth | Fortran | Haskell | Java | Lisp | Logo | MAGIC | Mercury | Miranda | Modula-2 | Oberon | Ocaml | Pascal | PHP | Perl | Prolog | Python | Rexx | Ruby | Scala | Smalltalk | Altres llenguatges... |