Guida Enciclopedia dei linguaggi di programmazione

Elysium

Bannato
14 Giugno 2010
320
19
33
134
Ultima modifica da un moderatore:
Giorno a tutti, questa è una raccolta che spiega (cosa sono, a cosa servono e la storia) dei linguaggi di programmazione, scripting, markup, stile e database.

Ringrazio il moderatore della sezione Dev, quindi @Kolo93 di tutti i consigli dati e lo ringrazio anche per tutti i consigli dati per far si che la guida sia portata a termine nella maniera corretta e ordinata.

Aggiornamenti: una volta creata una guida su un linguaggio di programmazione e non in Download & Guide nella categoria Programmazione verrà copiato il link e incollato in questa discussione in modo tale che se voi volete prenderne visione basta semplicemente un click e vi re-indirizzerà alla discussione creata in Download & Guide.
o8dZmR4.jpg

Linguaggi di programmazione
In informatica, gruppo di parole e regole, dette in maniera esplicita, per concedere la programmazione di un elaboratore perché effettua compiti prestabiliti. Esistono linguaggi di programmazione di alto livello e di basso livello:

ad alto livello: consentono allo sviluppatore di dedicarsi su calcoli logici, lasciando a un programma, detto compilatore, il compito di tradurle in istruzioni per il processore scritte in linguaggio macchina, cioè in parti di codice binario comprensibili dal processore;

a basso livello: sono simili o che coincide al linguaggio macchina e le istruzioni stese non debbono essere sottoposte al lavoro compilatore.

Apro una piccola parentesi per elencare i linguaggi di programmazione e non da me conosciuti quindi tratteremo solo questi linguaggi momentaneamente.

(Assembly, AutoIt, Bash, C, C++, C#, CSS3, HTML5, JavaScript, jQuery, (La)TeX, LUA, Perl, PHP, Python, Ruby, SQL, Swift e VB .NET)

Linguaggi di scripting:
AutoIt
JavaScript
Ruby

Linguaggi di markup:
HTML5
(La)TeX

Linguaggi di programmazione ad alto livello:
C
C++
C#
Perl
PHP
Python
Swift
Visual Basic .NET

Linguaggi di programmazione a basso livello:
Assembly

Linguaggi di stile:
CSS

Linguaggio di query al database:

SQL


Tutorial Correlati:
[TUT]Come scegliere un Linguaggio di Programmazione (di Zanzo)​
 
Stai sostenendo che i linguaggi di basso livello non hanno bisogno di compilatore e che l'assembly è un linguaggio di basso livello. Però l'assembly deve essere compilato. Come gli altri linguaggi di basso livello.
La distinzione si fa solitamente tra linguaggi compilati e linguaggi interpretati, non tra alto e basso livello (che è difficile stabilirne un esatto limite che separi l'alto livello dal basso livello). Ad esempio esistono linguaggi (come MSIL o il bytecode del Java) che vengono definiti di "livello intermedio", in quanto stanno in mezzo ai linguaggi di alto livello e a quelli di basso livello.
Non è adeguato utilizzare alto livello e basso livello per distinguere i linguaggi. Piuttosto è meglio dividere tra interpretati e compilati.

Scrivo qui anche i commetti relativi alle guide:
AutoIT
(formalmente) è sempre stato un linguaggio di programmazione: un linguaggio di scripting è necessariamente anche definibile un linguaggio di programmazione. È corretto chiamarlo linguaggio di scripting e di automazione per distinguerlo dagli altri linguaggi di programmazione (in quanto ha caratteristiche di scripting e non è adatto allo sviluppo di grandi software), però non è corretto dire che "è diventato successivamente" un linguaggio di programmazione: lo è sempre stato.

JavaScript
JavaScript NON produce applet per il web. Le applet si fanno in Java. JavaScript non sviluppa piccole applicazioni, ma solo degli script che vengono eseguiti dal browser (è un linguaggio interpretato: il browser lo interpreta).

LaTeX e TeX
NON sono linguaggi di markup: sono linguaggi di typesetting. Nel testo sembra quasi che ritieni che l'unica cosa che puoi fare in LaTeX è inserire formule matematiche. Inoltre non sono d'accordo con gli svantaggi: dici che documenti molto flessibili non devono essere prodotti con questo linguaggio - in realtà viene utilizzato sopratutto in questi casi: riviste e magazine (tutta quella roba con impaginazione fighe); giornali; libri; manuali di testo per scuole e università; relazioni e tesi; ecc. sono al 99% sempre fatte in LaTeX.

C
"Fra i linguaggi di basso livello è quello di più alto livello". Corretto: "Fra i linguaggi di alto livello è quello di più basso livello". Comunque, ribadisco, dividere nettamente i linguaggi per alto e basso livello non è una buona idea.

C++
Il C++ ha librerie standard per lavorare con liste, vettori, stringhe, ecc.

PHP
Il prezzo? Quale prezzo?

Visual Basic
"Nel Visual Studio è integrato il VB.NET la suite per programmazione della Microsoft". In italiano? :\
Il .NET non è indipendente dalla piattaforma. Non propriamente almeno: per poter essere eseguito, è necessario che sulla macchina sia installato il framework .NET di Microsoft. Quindi, su OS non Microsoft (senza quindi il framework) non è ufficialmente supportato. (non leggo il resto è troppo lungo :\ )

Assembly
Parli di linguaggio assembly e poi dici che il compilatore dell'assembly si chiama assembler (o assemblatore) e poi chiami il linguaggio assembly "linguaggio assemblatore".
 
AutoIT
(formalmente) è sempre stato un linguaggio di programmazione: un linguaggio di scripting è necessariamente anche definibile un linguaggio di programmazione. È corretto chiamarlo linguaggio di scripting e di automazione per distinguerlo dagli altri linguaggi di programmazione (in quanto ha caratteristiche di scripting e non è adatto allo sviluppo di grandi software), però non è corretto dire che "è diventato successivamente" un linguaggio di programmazione: lo è sempre stato.

Divertente, ma ...
Codice:
AutoIT non è neanche un linguaggio di programmazione completo
La coerenza Jack!
 
Divertente, ma ...
Codice:
AutoIT non è neanche un linguaggio di programmazione completo
La coerenza Jack!
Sei veramente incredibile.
Come ho spiegato 200 milioni di volte nel topic che hai creato solo per discutere di 'sta minchiata, con "completo" intendevo dire che lo distinguo da i linguaggi di programmazione NON di scripting che sono adatti allo sviluppo di grandi applicativi.
 
Sei veramente incredibile.
Come ho spiegato 200 milioni di volte nel topic che hai creato solo per discutere di 'sta minchiata con "completo", intendevo dire che lo distinguo da i linguaggi di programmazione NON di scripting che sono adatti allo sviluppo di grandi applicativi.
E io non ho scritto più perchè non puoi distinguerlo dicendo che non è un linguaggio di programmazione.
Non farmi parlare.
 
In ogni caso guida/elenco (?) che da quanto ho capito fungerà da indice per dare vita a guide dedicate ad ogni linguaggio. Giusto? Se è così, buona idea.
 
Ultima modifica:
Ma fagli del male, passa la vita a mettere zizzania tra l'utenza del forum questo srsly.

In ogni caso guida/elenco (?) che da quanto ho capito fungerà da indice per dare vita a guide dedicate ad ogni linguaggio. Giusto? Se è così, buona idea.
L'idea era quella di spiegare (cos'è, a cosa serve/caratteristiche e cenni storici), l'idea è stata portata avanti da me e @Kolo93 che lo ringrazio nuovamente.
 
Magari si posso aver sbagliato qualcosa sui linguaggi come guida, ma vorrei vedere in pratica chi è bravo a programmare veramente.
Premessa: depennatemi subito da questa lista così eventuali problemi sono risolti.

Detto questo, @SpeedJack ha già elencato diverse problematiche che sono, purtroppo, presenti. E ce ne sarebbero molte altre da evidenziare volendo.
Questa tipologia di thread sono un po' fini a sé stessi. Le informazioni (ben più complete) si trovano facilmente anche su Wikipedia.

A questo punto sarebbe più interessante avere dei pareri su tali linguaggi, anche solo personali pro e contro. Qui sono presenti ma sono molto blandi: ad esempio PHP è confrontato solo con ASP (senza contare tra i più usati Python, Ruby, JavaScript - sì, server side - e Java) o il C ha un'analisi molto superficiale, infatti lavorandoci un pochino si nota che le "qualità standard di un compilatore C" hanno un'accoglienza "differente" da compilatore a compilatore.

Un'infografica o guida basilare (perché poi tutto è soggettivo) del tipo: http://carlcheo.com/wp-content/uplo...language-should-i-learn-first-infographic.png potrebbe servire molto di più ai nuovi utenti che ripropongono la sempre stessa domanda su "con che linguaggio iniziare".

Ovviamente dico questo con tutti il rispetto per il vostro lavoro, è sempre un bene che vengano creati contenuti, anche se personalmente vorrei volentieri vedere più thread che scendono in dettaglio.
Qualche buon esempio che mi viene in mente adesso sono i thread di @_ _, @alynaa e @ManHunter. Peccato che ci siano solo un paio di implementazioni di strutture dati come liste e stack, ce ne sarebbero molte altre da discutere e che sicuramente molti utenti non hanno visto.

P.S.
TeX era un vecchio linguaggio per scrivere dei testi e ne gestiva la formattazione utilizzando dei particolari codici da inserire insieme al documento (in modo decisamente non WYSIWYG ).
(La)TeX è una sua estensione che può gestire pure le formule matematiche.
Donald Knuth si sta rigirando nel letto però. :p