|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Messaggi: n/a
|
[Generico] curiosità sui vari linguaggi
Ciao a tutti,
scusate la domanda un da niubbo ma mi sono sempre chiesto se tra i vari linguaggi di progammazione: C, C++, Java, Python, Ruby, PHP, ASP ecc. che siano di scripting o no, compilati o interpretati ci siano delle limitazioni varie. Mi spiego: un linguaggio qualsiasi può fare, in teoria, qualunque cosa che può fare un altro linguaggio? in Java posso fare le stesse cose che farei in C, C++? con Ruby o Python è possibile fare le stesse cose di Java o C, C++ e viceversa? Non parlo tanto di comodità, ovvio che se voglio ad esempio fare un sito dinamico non lo faccio in C ma PHP o ASP (esempio), quanto alla possibilità del linguaggio di accedere a qualunque risorsa o strumento al pari un suo simile. Nello creazione di software per usi più disparati, nell'accesso ai vari OS, nel dialogo con l'hardware ecc. Mi chiedevo appunto se esistono o meno dei limiti invalicabili per cui il linguaggio X può fare "di tutto" mentre il linguaggio Y solo compiti specifici. Spero di essere stato chiaro. Tnx |
|
|
|
#2 | |||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Quando ci si pone una domanda come la tua, che è centrata attorno alla definizione di linguaggio, bisogna distinguere bene tra la definizione del linguaggio in se e la/e sua/e eventuale/i implementazione/i concreta/e esistenti. Senza contare che gli aspetti che determinano alcuni dei limiti/differenze che hai indirettamente citato, quoto: Quote:
Per dirla in breve: cito la frase che ha in firma marco.r: Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|||
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
tutti i linguaggi possono fare tutto quello che fanno gli altri in quanto sono tutti turing-completi, se poi invece possono fare tutto in senso assoluto bisogna che qualcuno dimostri la Tesi di Church-Turing, che a mio avviso non sarà meno arduo dell'ipotesi di rieman
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
edit - inoltre sarebbe meglio precisare che i linguaggi citati sono Turing-completi (anche se ho dei dubbi sul PHP), ma in generale esistono anche linguaggi non Turing-completi, per esempio SQL. Ultima modifica di fero86 : 25-08-2009 alle 16:10. |
|
|
|
|
|
|
#5 | |
|
Messaggi: n/a
|
Quote:
|
|
|
|
|
#6 | ||
|
Messaggi: n/a
|
Quote:
Ho sentito di JavaOS, può essere considerato come un vero e proprio OS stile Win, Linux, OSX? Quote:
|
||
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
e io ho finito da la seconda superiore; non è che sia un decano; so giusto per sentito dire il necessario
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#8 |
|
Messaggi: n/a
|
Un'altra cosa che mi stavo chiedendo guardando un pò tra i vari toolkit GUI era perchè GUI come Wx o GTK sono scritte in C.
Java ad esempio ha una sua GUI scritta nel linguaggio stesso come Swing. Come mai ad esempio Ruby o Python non hanno un toolkit grafico scritto nello stesso linguaggio? Per questioni di efficenza? in C è più veloce? Oppure perchè non sarebbe possibile realizzarlo? E sempre in tema: come fa (tecnicamente) un OS come Win a visualizzare le finestre grafiche di una GUI? Essendo abituato alla programmazione web so che le GUI in quel caso sono il rendering del codice HTML/CSS fatto dal browser ad esempio. Mercie. |
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
no questione di comodità di chi le ha scritte: riscriversi da zero una libreria grafica è un suicidio visto che c'è possibilità di usare dei bridge verso altri linguaggi in genere si è preferito fare così; java invece è un discorso apparte dovuto alla volonta sun di far avere un look and feel uguale su tutte le piattaforme, cosa che librerie native fanno difficilmente. poi swing non è l'unica, ho trovato più di un applicazione java scritta con le qt
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#10 |
|
Messaggi: n/a
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
é cosi e basta; tu conosci un modo per scrivere in Java un file system per Windows o per Linux? senza usare JNI naturalmente, perché altrimenti non lo stai scrivendo in Java ma anche in C o C++.
Quote:
|
|
|
|
|
|
|
#12 | ||||
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
Quote:
Quote:
Quote:
![]() *per decorazioni si intendono la barra di spostamento, il bordo, il menu di sistema e i tasti di ridimensionamento e chiusura. in gergo Win32 le finestre dotate di decorazioni si chiamano overlapped windows. dopo Swing la piu nota per Java é SWT piu che Qt. |
||||
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il filesystem di JNode è scritto in Java.
Quel che manca a Java per fare programmazione, diciamo, "di sistema" è il compilatore. Non posso scrivere un sistema operativo con la piattaforma Java standard di Sun semplicemente perchè quella piattaforma richiede un sistema operativo preesistente. Ma la lingua è neutra rispetto a questo impedimento pratico. E' turing completo, ergo quello che posso fare in C lo posso fare anche in Java - in modo diverso ovviamente. La ragione per cui non si fa è che esistono già meravigliosi compilatori frutto di decenni di investimenti i quali generano ottimo codice macchina a partire da un linguaggio minimale com'è C. |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Se realizzo un s.o. in Java, non sarà possibile scrivere driver in C.
In pratica la situazione sarebbe ribaltata rispetto ai s.o. attuali, che sono scritti in C. Le "potenzialità" di un linguaggio dipendono dal contesto implementativo e dalla prospettiva adottata.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#15 | |
|
Messaggi: n/a
|
Quote:
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:03.





















