Newsgroup: it.lavoro.informatica
Titolo: Linguaggi di programmazione

>>>>  
http://www.bb2002.it
 :)  <<<<<
........... [ al lavoro ] ...........

Dunque vediamo di ricapitolare un pochino:
 
Bash: è un interprete di comandi (un po' come il batch per ambienti DOS 
ma molto piu' evoluto)
 
DOS: è uno dei primi sistemi operativi "moderni", infatti la sigla 
significa [D]isck [O]operative [S]ystem
 
HTML: è un interprete di ipertesti
 
CSS: è un insieme di fogli di stili
 
JavaScript: è un linguaggio di scripting utilizzato (normalmente) nella 
programmazione web lato client
 
SQL: è un linguaggio orientato alla gestione di data base
 
PHP: è un linguaggio interpretato e si usa per la programmazione web nel 
caso di pagine dinamiche
 
Java: è un linguaggio orientato agli oggetti indipendente dalla 
piattaforma di utilizzo
 
C#: è un evoluzione del C creato dalla Microsoft per lavorare in 
ambiente .NET
 
Delphi: è un linguaggio derivato dal Pascal
 
Ora, tu cosa intendi per linguaggio di programmazione? Tutti quelli a 
cui ho inserito la parola "linguaggio" sono linguaggi, alcuni orientati 
al web, altri interpretati ed altri compilati
 
 

 al web, altri interpretati ed altri compilati
 
 
AAArrrgghghhh nel C# non c'e' la parola "linguaggio"!!! :-DDDD
 
 

 Ora, tu cosa intendi per linguaggio di programmazione? 
 
grazie per i chiarimenti
 
oggi è arrivato un CV in cui il personaggio dichiara di conoscere i 
sopracitati "linguaggi"
avevo qualche dubbio sulla validità della lista, che mi hai confermato: 
p.e. i comandi di un s.o. non si possono definire linguaggio di 
programmazione, un foglio di stile idem. 



 
DOS non e' un linguaggio di programmazione, ne' propriamente ne' 
impropriamente. Quindi direi HTML e CSS.

 programmazione, un foglio di stile idem.
 
E quindi? Non andrai a fargli le pulci spero. Ci sono un sacco di validi 
programmatori che considerano html linguaggio di programmazione, alla 
fine e' una questione di lana caprina.
 

 
 
io no, non sono incaricato della valutazione dei candidati, volevo 
solo chiarire alcune cose


Ok mea culpa mi era sfuggito (sarà che non sopporto proprio il .net ;) )


 
guarda, quello non sarà il curriculum del candidato, ma sarà il 
curriculum di una risorsa proposta da una body rental.
L'elenco delle conoscenze è tipico delle body rental.
 
-- 
Ripristinare il trattato di Vienna è imperativo!
W IL LOMBARDO-VENETO.
W LA LIBERTA'.
ONORE E GLORIA A S.M. CARLO D'ASBURGO-LORENA!!!

 caso di pagine dinamiche
Ecco PHP (PHP Hypertext Preprocessor) e' un interprete, poi identifica 
anche il linguaggio di scripting sotteso.
 
 

 avevo qualche dubbio
 
butta pure nel cesso quel CV.
 
 

 ha scritto:

sì va beh, poi ne verrà un altro che asserirà che HTML è meglio
di Java... Dai, in informatica bisogna essere precisi. HTML NON E'
un linguaggio di programmazione, e chi sostiene il contrario
NON E' un "valido programmatore" ma un peracottaro.
 
 


Peracottaro sarai TU !
Non riesci ad argomentare senza offendere le persone?
Non riesci a capire che ci si puo' confrontare senza ricorrere agli 
improperi?
Non riesci a comprendere quanto sei ridicolo?
 

 Non riesci a comprendere quanto sei ridicolo?
 
A' Robbé, statti calmo o ti parte na' vena! 
 
 

 programmazione?
 
Credo che la domanda sia mal posta, perche` non esiste un linguaggio 
"impropriamente" definibile come "di programmazione".
 
O e` "di programmazione" o non lo e`.
 
Tutto dipende *cosa* stai programmando e quanto spazia la definizione di 
"programmazione".
 
Se per "programmazione" intendi, in astratto, il voler fornire 
istruzioni simboliche ad un sistema al fine di svolgere un determinato 
compito, allora tutti quelli che hai citato possono essere considerati 
linguaggi di programmazione: shell scripts Bash, C#, Java, JS, Delphi, 
PHP, PL/SQL ricadono tutti, piu` o meno agevolmente, in quella definizione.
 
HTML e` linguaggio di mark-up, ma un qualunque contenuto HTML fornisce 
al renderer istruzioni su come visualizzare/interagire con una pagina 
web - quindi, attenendosi a quella definizione astratta di 
programmazione di cui sopra, e` un linguaggio di programmazione 
anch'esso. CSS dichiara degli stili, ma anch'esso definisce istruzioni 
simboliche su come visualizzare elementi di una pagina.
 
Ovvio che, se per "linguaggio di programmazione" la categoria de facto 
dei linguaggi general-purpose, e` chiaro che, di quella lista, devi 
considerare solo C#, Java, JS, e Delphi.
 
Dubito molto che costui intendesse una definizione astratta di 
"programmazione". Credo, invece, abbia fatto la scelta infelice di 
raggruppare delle keyword sotto un unico titolo. Non e` poi cosi` grave, 
pero`.
 
Piuttosto, mi preoccuperei di uno che, nel 2017, reputa importante 
specificare che conosce il DOS.
 
-- 
4ndre4

 
 
Quindi é così che funziona oggi la selezione,
Uno che scrive nel curriculum cose che non conosce e l'altro che
 legge cose di cui non sa nulla!
Mi vengono i brividi
 
 
-- 
Beppino Occelli
 
 
----Android NewsGroup Reader----
http://usenet.sinaapp.com/
 


 
Non ho letto tutti gli interventi.
un Linguaggio, per me, ha tre /milestone/
1) Operazione di spostamento
2) Operazine di salto
3) Operazione di test
N.B. Il ciclo non e' altro che untest+unsalto
Almeno HTML e CSS mancano di qualcosa
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)

 un linguaggio di programmazione, 
 
Ok, io sono un peracottaro. Non lo pratico, ma è un linguaggio eccome.
D'altra parte, te la rigiro: mi definisci 'linguaggio di programmazione'?
 
NOTA. Per me anche quando si parla di script bash si parla di programmazione.
 
-- 
Ciao!
Luca

 specificare che conosce il DOS.
 
Già...
 
-- 
Ciao!
Luca

 Ok, io sono un peracottaro. Non lo pratico, ma è un linguaggio eccome.
 
Ok, scrivi qui sotto l'algoritmo che somma i primi 100 numeri in HTML,
e ti meriti un posto d'onore nell'Olimpo degli Informatici.
 
Altrimenti l'hai già detto tu cosa sei ;-D
 
 

 Ecco, qui io lo vedo più di supporto a HTML. D'altra parte, senza HTML un
file CSS serve a pochino....
 
Sbagliato, CSS può servire anche senza HTML:
 
https://wiki.eclipse.org/Eclipse4/CSS
 
 
 

 3) Operazione di test
 
Un esempio?
 
 


 
Non proprio PHP è un linguaggio di programmazione a tutti gli effetti
 
l'interprete se mai è ZEND ENGINE o HipHop (HHVM)
 
Ciao

 Un esempio?
 
if a=a goto forseeraa else magarieraa
x=if(!a=b,0,1)
 
P.S.
Le Label e le Variabili le davo per scontate.



 
Gli altri lo sono
 

 Almeno HTML e CSS mancano di qualcosa
 
Generalizzando il tuo discorso:
un linguaggio di programmazione e'un sovrainsieme (o coincide) del 
linguaggio della macchina di Turing.
HTML e CSS non sono un sovrainsieme del citato linguaggio ma linguaggi 
di markup.
 

 programmazione, un foglio di stile idem.
 
sì ma voi cosa cercate (a parte le imprecisioni semantiche sui cv)?
 

 
 
forse si riferiva a questo:
https://it.wikipedia.org/wiki/Denial_of_Service
 


 linguaggio della macchina di Turing.
 
Scusa ma se la macchina di Turing è computazionalmente completa nessun linguaggio può essere un sovrainsieme o sbaglio qualcosa?
 
Ciao
 Francesco

 e ti meriti un posto d'onore nell'Olimpo degli Informatici.
 
Noto che non hai risposto alla domanda diretta.
No, non si può, perché non è quello lo scopo del linguaggio. Non è un linguaggio di tipo generico, è esclusivamente pensato per fare una cosa specifica. 
Ancora, come lo definisci, tu, un linguaggio?
 
-- 
Ciao!
Luca

 pero`.
 
Senza dubbio un errore veniale. Uno fa la lista delle robe che sa, guarderei peggio qualcuno che mi separa i linguaggi in base allo scopo.
Certo che riporre un po' di attenzione sul proprio CV quando si cerca lavoro...
 
  ngw


Ma uno script Bash è senza dubbio programmazione.
HTML non è un linguaggio di programmazione in quanto incapace di implementare gli algoritmi implementabili nei normali linguaggi di programmazione, sia in forma pratica che teorica.
In poche parole, se non puoi controllare il flusso ti attacchi.
 
  ngw


Ti ha risposto invece. Se è un linguaggio di programmazione esprimi il più banale degli algoritmi. Avrebbe dovuto suggerirti che stai confondendo un "linguaggio" con un "linguaggio di programmazione".
 
  ngw


Computazionalmente completa non significa che c'è un limite alle astrazioni che un linguaggio può apportare.
Se pensi che le operazioni basiche supportate da una macchina di Turing sono soltanto andare a destra o sinistra di un nastro, vedi immediatamente che già un ciclo fa parte del sovrainsieme di cui parla enoquick.
 
  ngw

 In poche parole, se non puoi controllare il flusso ti attacchi.
 
In pratica quello che si riusciva a far fare a Sendmail :-)
 
Ciao
  Francesco


E SQL e' un linguaggio di programmazione?
 


se parliamo di SQL ANSI 92 (la specifica ufficiale) NO
 
SQL è un liguaggio (inteso come sintassi e struttura) per manipolare e 
interrogare dati
 
non permette di creare algoritmi
 
poi ogni produttore di DBMS ha creato un superset di sintassi proprio 
che per chi lo conosce bene può simulare algoritmi di manipolazione dati 
anche complessi.
 
 
altro discorso invece sono i linguaggi di scripting associati all'SQL
come PL/SQL
T-SQL
ecc..
 
questi ultimi sono linguaggi di programmazione a tutti gli effetti, 
anche se orientati (ma non limitati) alla manipolazione ed estrazione 
dei dati.
 
Ciao

 non permette di creare algoritmi
 
Si intendevo questo, non PL/SQL. Effettivamente non pare essere Turing 
completo, quindi secondo la definizione di ngw, non e' linguaggio di 
programmazione.
 
Ora pero' non so quanti siano disposti ad accettare che SQL non sia un 
linguaggio di programmazione. Intuitivamente lo e'. Con SQL programmo 
l'accesso alla base dati dopo tutto.
 
Questo per dire che se restringi il campo d'azione (parliamo di Domain 
Specific Language, DSL, quindi), diventa un linguaggio con cui si 
programma in un ambito specifico. Questo puo' essere l'accesso alla base 
dati, o il rendering di una pagina web.
 
 


Scherzi? La configurazione di sendmail è di fatto turing completa: 
http://okmij.org/ftp/Computation/sendmail-as-turing-machine.txt
 
 
  ngw

 Scherzi? La configurazione di sendmail è di fatto turing completa: 
http://okmij.org/ftp/Computation/sendmail-as-turing-machine.txt
 
 
Mi riferivo proprio a quello :-)
 
Ciao
  Francesco

 Però elimini tutto il resto. E allora, automaticamente, crolla la definizione.
 
Il succo e` che non c'e` una definizione propria. La definizione la stabilisci tu.

 
https://it.wikipedia.org/wiki/Denial_of_Service
 
 
Peggio ancora, in quel caso. Se con "DOS" gli si puo` ancora concedere la scusa di riferirsi al set dei comandi MS-DOS, con DoS non piu`.

 Penso sia accettabile definire un linguaggio di programmazione come tale quanto è Turing completo
 
...che e` quel che intendevo con "categoria dei linguaggi general purpose".

 Ancora, come lo definisci, tu, un linguaggio?
 
E` proprio la definizione di "linguaggio di programmazione" il nodo. Se per "linguaggio di programmazione", come e` lecito aspettarsi, consideri un linguaggio Turing-completo, HTML/CSS non lo sono. 
 
Se vogliamo perdonare a questo tale il fatto di aver messo HTML nella lista dei "linguaggi di programmazione" sul CV, dobbiamo pensare che avesse nella testa un concetto piuttosto "ampio" di programmazione. Io pero` non mi fiderei.
 
Il selezionatore potrebbe pensare "Se non ci tieni a far bella figura col tuo CV, probabilmente non meriti di lavorare nella mia azienda."
 
 

 soltanto andare a destra o sinistra di un nastro, vedi immediatamente che già un > ciclo fa parte del sovrainsieme di cui parla enoquick.
 
Hai perfettamente ragione.
 
Ciao
  Francesco

 l'accesso alla base dati dopo tutto.
 
Il problema e`, come dicevo nel mio messaggio, cosa si intende per "programmazione". Bisogna cioe` decidere se affidarsi a definizioni gia` esistenti (come quella di Turing-completo) o sconfinare nella filosofia.
 
 


Sono d'accordo. Usare la turing-completezza e' un modo intelligente per
tracciare una linea ben demarcata, ma rimane pur sempre una linea
arbitraria.
 

 Il selezionatore potrebbe pensare "Se non ci tieni a far bella figura col tuo CV, probabilmente non meriti di lavorare nella mia azienda."
 
E questo è esattamente il punto. Ci vuole così poco a non scriver cazzate su cose tra l'altro ipernozionistiche come queste.
 
  ngw

 Quale "roba"? Hai almeno capito quel che ho scritto? 
 
Santo Iddio, era una battuta...
E mi pareva pure evidente.
 
-- 
Ciao!
Luca

 E` proprio la definizione di "linguaggio di programmazione" il nodo. Se per "linguaggio di programmazione", come e` lecito aspettarsi, consideri un linguaggio Turing-completo, HTML/CSS non lo sono. 
 
Esattamente. E' sufficiente oggi ciò che ricade pienamente nell'ambito della Touring-equivalenza per essere definito linguaggio? Io penso di no, perché ci sono altre cose - e mi riferivo proprio a HTML - che hanno struttura, sono complesse se vogliono essere usate bene, richiedono conoscenza e hanno pienamente diritto di essere definiti linguaggi pur non essendo Touring-equivalenti.
 
[warning: sto per usare l'accetta, per brevità, per cui tollera qualche imprecisione] Io penso che il discrimine debba essere: cosa programmo? se programmo qualcosa che sia di applicazione generale (un processore) mi serve tutto l'armamentario del caso (cicli, salti, shift ecc.); se programmo il renderer di un browser, allora può tranquillamente essere che quelle cose non servano.
 
-- 
Ciao!
Luca

 Santo Iddio, era una battuta...
 
Yawn.
 
-- 
4ndre4

 E questo è esattamente il punto. Ci vuole così poco a non scriver cazzate su cose tra l'altro ipernozionistiche come queste.
 
Io però vorrei anche vedere l'annuncio cui è stato risposto. Mi capita spesso annunci zeppi di termini pseudo-tecnici, per di più riportati in modo non corretto, cui rispondere in modo casuale sarebbe l'unica opzione possibile...
 
-- 
Ciao!
Luca

 Io penso che il discrimine debba essere: cosa programmo?
 
Non hai evidentemente letto la "roba" che ho scritto nel mio messaggio 
precedente, ovvero che "tutto dipende *cosa* stai programmando e quanto 
spazia la definizione di programmazione".
 
-- 
4ndre4

 Le Label e le Variabili le davo per scontate.
 
Quindi alla luce di quanto detto, non è meglio riassumere queste cose
nella famosa ed universale triade:
 
Sequenza, selezione, iterazione
 
?
 
 
 

[...]
 > quindi un'assegnazione... Mentre "Operazione di spostamento" può essere
 > confusionario
 
Confusionario per gli ignoranti incompetenti come te, forse. 
Spostamento, test, e salto sono concetti conosciuti a chiunque abbia un 
minimo di dimestichezza con la programmazione Assembly, per esempio. E 
no, "salto" non vuol dire "goto" (prova a vedere com'e` implementato un 
for a basso livello) e "test" non vuol dire "selezione".

4ndre4
<626401fd-4bc7-4f8f...@626401fd-4bc7-4f8f-b641-563ae0f72920.invalid>
ha scritto:

Genio Incommensurabile dell'Informatica, lo sanno pure i bambini dell'asilo
che in Assembly sei costretto ad accumulare un valore in un registro
con quel tipo di operazione, ma a livello logico sempre assegnazione è.
 
 
 
 

 con quel tipo di operazione, ma a livello logico sempre assegnazione è.
 
LOL e che cazzo c'entra con quanto ho scritto? :D
Niente, sei sempre il solito idiota.
 
-- 
4ndre4


 
La mia era solo una /banalizzazione/
Della macchina di Turing conosco solo il nome
Era quello matto con tendenze /altempo/ strane?
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)

 Sequenza, selezione, iterazione
 
Come ti piace.
Esclusa la iterazione che, come dicevo nel mio post iniziale,
e' operazione di test+salto o /non/ salto (quindi selezione come dici tu)
La iterazione e' comparsa, appunto, fuori quando si cominciato a
parlare di programmazione strutturata  (talvolta la chiamo /ordinata/
per non confonderla con gli /spaghetti/ , su cui sono un /capo/ )
 
Personalmente continuero' ad usare le mie.


 Era quello matto con tendenze /altempo/ strane?
 
Ehi ehi ehi... Rispetto per uno dei più Grandi Informatici della Storia!
 
 
 
 

> Sequenza, selezione, iterazione
 
Oddio!
Questo mi ricorda un nanetto che descrivero' se me lo chiedi.
Sta roba era il /vangelo/ di un venditore di software (*) inizio
anni 80 e di cui non mi ricordo il nome che vendeva una roba
che se ne vedevi lo sviluppo soprattutto nelle iterazioni era
una cosa da....Maddai!
 
 
(*) La mia memoria ha strane associazioni: Jackson?



Rispettato sempre /tutti/ nella mia vita (tranne quei due di Ferrara o
quei due di Roma un po di tempo fa).
Per me /matto/ = genio e /tendenzestrane/ = uno avanti rispetto al suo 
tempo.



 
Sovrainsieme come istruzioni.
 

 [warning: sto per usare l'accetta, per brevità, per cui tollera qualche imprecisione] Io penso che il discrimine debba essere: cosa programmo? se programmo qualcosa che sia di applicazione generale (un processore) mi serve tutto l'armamentario del caso (cicli, salti, shift ecc.); se programmo il renderer di un browser, allora può tranquillamente essere che quelle cose non servano.
 
Non stai usando l'accetta, ma un termine in modo improprio. Per me te HTML non lo conosci tantissimo, innanzitutto se c'è qualcosa di semplice è proprio HTML, tant'è, sempre usato come gigantesco discriminante quando dovevo assumere designer: se non sai HTML (e vuoi occuparti di web design), davvero non vali un cazzo.
Inoltre, posto che un linguaggio di markup possa essere considerato qualcosa di vagamente paragonabile ad un DSL (letto in un altro commento, e per me proprio no, nemmeno vicino), con HTML non stai *affatto* programmando il renderer di un browser: ogni browser ha degli stili di default per gli elementi, quindi HTML non ha nulla a che fare con il renderer, casomai CSS. Stai semplicemente marcando un testo, punto. Questo markup viene usato da CSS e Javascript come hook per fornire istruzioni al renderer o aggiungere feature di altro tipo (con un vero linguaggio di programmazione, Javascript).
Non c'è verso che qualcuno "programmi" in HTML.
 
  ngw

arbitraria.
 
Church sarebbe d'accordo. Ma non posso dimostrarlo.

>>>>  
http://www.bb2002.it
 :)  <<<<<
........... [ al lavoro ] ...........

 Io penso di no, perché ci sono altre cose - e mi riferivo proprio a HTML - che >hanno struttura, sono complesse se vogliono essere usate bene, richiedono >conoscenza e hanno pienamente diritto di essere definiti linguaggi pur non >essendo Touring-equivalenti.
 
Certo sono che sono linguaggi ma non di programmazione.
 
La confusione in queste cose fa solo danni.
 
Ciao
  Francesco

 programmazione" si intende, normalmente, un linguaggio Turing-completo.
 
Certamente quello che dici e' piu' che esatto. Probabilmente troppo 
esatto per il contesto di cui stiamo parlando - ti ricordo - il cv. 
Documento che di norma passa per mani che di Turing conoscono il nome 
solo se filatelici.
Fatto sta che il termine linguaggio, senza alcun attributo, e' piuttosto 
generico e, con occhio bonario, il termine linguaggio di programmazione 
puo' essere tranquillamente esteso a qualsiasi linguaggio utilizzato in 
informatica. D'altra parte, consultando un dizionario della lingua 
italiana, difficilmente alla distinzione secondo Turing si fa cenno.
 
 
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

 informatica.
 
Che e` quel che dicevo nell'altro mio messaggio.

Questo markup viene usato da CSS e Javascript come hook per fornire istruzioni al renderer
 
Voler tracciare distinzioni troppo rigide tra tecnologie che, insieme, vengono utilizzate per uno scopo, porta a contraddizioni come quella che hai scritto. Si`, a voler essere formali, HTML definisce la struttura della pagina, CSS gli stili, ma e` indubbio che servono entrambi per il rendering della pagina.
 
 

 spazia la definizione di programmazione".
 
Andrea, stai giocando a non capire. Io sto CONTINUAMENTE confermando con altri elementi quel che dici E, indirettamente (strano non si fosse capito), rispondendo a Ciccio.
 
NOTA. Quando ho detto 'roba' non mi stavo lamentando del contenuto, mi stavo lamentando del fatto che tu avessi dato una ottima risposta subito dopo che l'avevo chiesta a Ciccio. Ma davvero penasvi che contestassi qualcosa???
 
-- 
Ciao!
Luca

 Che e` quel che dicevo nell'altro mio messaggio.
 
Che è un'altra grandissima cazzata.
 
 

 Che è un'altra grandissima cazzata.
 
Le grandissime cazzate, qui dentro, le scrivi tu.
 

 Andrea, stai giocando a non capire. 
 
Non ho bisogno di farlo.

 3) Operazione di test
 
Non sono un esperto di computabilita', ma quello che riporti vale per i 
linguaggi imperativi. Un'altra classe di linguaggi puo' computare allo 
stesso modo usando astrazioni differenti:
 
https://en.wikipedia.org/wiki/Lambda_calculus
 
 

 ha scritto:

Sta ammettendo che non capisce di default?!...
 
 

 Sta ammettendo che non capisce di default?!...
 
Taci, idiota. Fatti un favore, per una volta.