Quina diferència hi ha entre escriure un programa, un script o un algorisme?


Resposta 1:

Bona pregunta!

Estic xerrant amb un autor que escriu llibres de programació per a nens pre-K (enganxar-los a principis!) - hauríem d’utilitzar més la paraula “programa” o “algorisme”? Com es pot delimitar clarament entre els dos? Quan són intercanviables?

El consens general entre els científics informàtics és que un algorisme es refereix generalment a una abstracció matemàtica d’un programa (és a dir, amb emmagatzematge de memòria + substrat computacional els detalls físics del qual es “abstreuen”. Tot el que queda són estructures de dades com llistes / matrius enllaçades, i potser una pissarra :)

El "programa" seria la implementació física d'aquest programa, és a dir, l'intèrpret de pitons + un script que descriu l'algorisme + totes les biblioteques dinàmiques proporcionades pel sistema operatiu per donar suport a l'execució d'aquest programa.

Tanmateix, a la pràctica, les coses són una mica difuminades: alguns algoritmes són extremadament específics per a l’entorn en què s’executa i no té sentit “abstraure” aquests detalls. Les funcions del sistema operatiu que proporcionen estructures de dades de programes compatibles amb l’algoritme “abstracte” (per exemple, matrius de C ++ STL i llista d’enllaços d’algoritmes abstractes) s’implementen utilitzant altres algorismes, que tenen el suport d’estructures de programació més abstractes, que són ells mateixos algoritmes. De manera que es tracta d'algorismes fins a la baixa. O al final del dia, tot és només un programa i els algoritmes són només una estructura matemàtica que fem servir per raonar convenientment sobre programes sense suar els detalls.

Un guió és una mena de programa que normalment s’interpreta en comptes de compilar (però no és raonable dir “guió”, “automatitzar” o “personalitzar” algun programari com un motor de jocs escrivint petits fragments de codi C ++ que es compilen) . I la distinció moderna entre programes interpretats i compilats és una mica difosa, de manera que no crec que sigui important traçar una línia entre scripts i programes (o scripts i programacions).


Resposta 2:

Un guió és realment el mateix que un programa, però “script” té la implicació que és “interpretat” (és a dir, analitzat i entès mentre s’està executant). Sí, ho sé, hi ha compiladors per a Javascript i intèrprets per a .NET IL, així que és una mena de zona confusa. Funcionalment, no hi ha diferència.

Un algorisme és un mètode per resoldre un problema. Els algoritmes s’implementen sovint com a programes, però també es podrien presentar en un llibre o representats per arbres de decisió, manuals, receptes, etc.

També podeu tenir un programa que no representi un algorisme. Un requisit matemàtic per a un algorisme és que es finalitzi en un temps finit. Alguna vegada l’ordinador s’ha “congelat”? És un programa que no implementa un algorisme.


Resposta 3:

Un guió és realment el mateix que un programa, però “script” té la implicació que és “interpretat” (és a dir, analitzat i entès mentre s’està executant). Sí, ho sé, hi ha compiladors per a Javascript i intèrprets per a .NET IL, així que és una mena de zona confusa. Funcionalment, no hi ha diferència.

Un algorisme és un mètode per resoldre un problema. Els algoritmes s’implementen sovint com a programes, però també es podrien presentar en un llibre o representats per arbres de decisió, manuals, receptes, etc.

També podeu tenir un programa que no representi un algorisme. Un requisit matemàtic per a un algorisme és que es finalitzi en un temps finit. Alguna vegada l’ordinador s’ha “congelat”? És un programa que no implementa un algorisme.


Resposta 4:

Un guió és realment el mateix que un programa, però “script” té la implicació que és “interpretat” (és a dir, analitzat i entès mentre s’està executant). Sí, ho sé, hi ha compiladors per a Javascript i intèrprets per a .NET IL, així que és una mena de zona confusa. Funcionalment, no hi ha diferència.

Un algorisme és un mètode per resoldre un problema. Els algoritmes s’implementen sovint com a programes, però també es podrien presentar en un llibre o representats per arbres de decisió, manuals, receptes, etc.

També podeu tenir un programa que no representi un algorisme. Un requisit matemàtic per a un algorisme és que es finalitzi en un temps finit. Alguna vegada l’ordinador s’ha “congelat”? És un programa que no implementa un algorisme.