Què és un llenguatge de programació?
Un llenguatge de programació és un llenguatge informàtic utilitzat 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).
Diferència entre programa i procès.
Un programa és l’arxiu document( arxiu.js, arxiu.py, arxiu.sh, …) o arxiu compilat(arxiu.exe, a.out, …) que conté les instruccions del programa.
Un procès és un programa en execució. Ho és, per exemple, aquest navegador on llegiu el text.
Els processos quan estan en execució ocupen espai dins la memòria principal de l’ordinador. Es divideix en tres parts: instruccions, dades i pila.
Per veure els processos en execució podeu usar la instrucció top.
Tipus de Llenguatges de programació
Exemples de llenguatges
Llenguatge assemblador:
//
// Assembler program to print "Hello World!"
// to stdout.
//
// X0-X2 - parameters to linux function services
// X16 - linux function number
//
.global _start // Provide program starting address to linker
.align 2
// Setup the parameters to print hello world
// and then call Linux to do it.
_start: mov X0, #1 // 1 = StdOut
adr X1, helloworld // string to print
mov X2, #13 // length of our string
mov X16, #4 // MacOS write system call
svc 0 // Call linux to output the string
// Setup the parameters to exit the program
// and then call Linux to do it.
mov X0, #0 // Use 0 return code
mov X16, #1 // Service command code 1 terminates this program
svc 0 // Call MacOS to terminate the program
helloworld: .ascii "Hello World!\n"
A la pàgina https://pythontutor.com/ podem veure l’execució pas a pas i comportament a la memòria principal d’alguns llenguatges de programació.