Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-08-2009, 13:30   #1
anonimizzato
 
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
  Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 14:45   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Sgurbat Guarda i messaggi
...
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
Ti do i miei 2 cent, che valgono veramente poco.

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:
Originariamente inviato da Sgurbat Guarda i messaggi
...quanto alla possibilità del linguaggio di accedere a qualunque risorsa o strumento al pari un suo simile...
sono dovute direttamente da altri aspetti (tipo di codice prodotto dalla compilazione del sorgente - gestione della memoria demandata a un garbage collector o meno - libreria standard di utilità messa a disposizione - ecc..) che sono tra loro interdipendenti.

Per dirla in breve: cito la frase che ha in firma marco.r:
Quote:
It’s not about what the language makes possible, it’s what the language makes easy
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 14:45   #3
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
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
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 15:08   #4
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da wizard1993 Guarda i messaggi
tutti i linguaggi possono fare tutto quello che fanno gli altri in quanto sono tutti turing-completi,
come potenza di calcolo si, ma come accesso alla piattaforma sottostante é tutto un altro discorso; in Java ad esempio attualmente non si possono scrivere filesystems ne' per Windows ne' per Linux ne' per Mac OS (non so per Solaris ma dubito fortemente).

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 15:10.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 15:10   #5
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da wizard1993 Guarda i messaggi
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
Ti avviso che stai parlando ad un Geometra uscito con 68/100
  Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 15:13   #6
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da fero86 Guarda i messaggi
come potenza di calcolo si, ma come accesso alla piattaforma sottostante é tutto un altro discorso; in Java ad esempio attualmente non si possono scrivere filesystems ne' per Windows ne' per Linux ne' per Mac OS (non so per Solaris ma dubito fortemente).
Uhm interessante, motivi principali di questa cosa?
Ho sentito di JavaOS, può essere considerato come un vero e proprio OS stile Win, Linux, OSX?

Quote:
edit - inoltre sarebbe meglio precisare che [b]i linguaggi citati[/i] sono Turing-completi (anche se ho dei dubbi sul PHP), ma in generale esistono anche linguaggi non Turing-completi, per esempio SQL.
Infatti avevo letto che SQL non può essere considerato un vero linguaggio di programmazione in quanto privo, ad esempio, di cicli infiniti.
  Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 15:15   #7
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
Quote:
Originariamente inviato da Sgurbat Guarda i messaggi
Ti avviso che stai parlando ad un Geometra uscito con 68/100
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
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 16:20   #8
anonimizzato
 
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.
  Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 16:28   #9
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
Quote:
Originariamente inviato da Sgurbat Guarda i messaggi

Come mai ad esempio Ruby o Python non hanno un toolkit grafico scritto nello stesso linguaggio?
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
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 16:40   #10
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da wizard1993 Guarda i messaggi
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ì
Si, immaginavo.
  Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 21:00   #11
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Sgurbat Guarda i messaggi
Uhm interessante, motivi principali di questa cosa?
é 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:
Ho sentito di JavaOS, può essere considerato come un vero e proprio OS stile Win, Linux, OSX?
non ne ho idea, suppongo di si visto che su Wikipedia c'é scritto che gira pure su IA-32, e avrá anche avuto i suoi file systems scritti in Java se é per questo, tuttavia resta il discorso iniziale: se non parliamo di Turing-completezza certi linguaggi, in relazione a specifiche piattaforme, possono risultare molto piu potenti di altri.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 21:13   #12
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Sgurbat Guarda i messaggi
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.
wxWidgets é scritta in C++, non in C. per GTK invece me lo chiedo anch'io.


Quote:
Java ad esempio ha una sua GUI scritta nel linguaggio stesso come Swing.
Swing é un'estensione di AWT e AWT non é scritta interamente in Java: per forza di cose una parte deve andare a finire in ambiente nativo tramite JNI, e quindi sará scritta in C o C++ (non so quale dei due, puoi andare a guardarti i sorgenti per saperlo).


Quote:
Per questioni di efficenza? in C è più veloce?
la questione dell'efficienza dei programmi Java contro quelli nativi ormai é trita e ritrita ed il mito é stato sfatato molte volte. nell'anno del Signore 2009 il bytecode Java parzialmente compilato just in time ha smesso giá da tempo di essere piu lento del codice nativo, anzi per tutta una serie di motivi esistono dei casi in cui il bytecode Java risulta addirittura piu veloce.


Quote:
E sempre in tema: come fa (tecnicamente) un OS come Win a visualizzare le finestre grafiche di una GUI?
a grandi linee nel subsystem grafico di Win32 tutto si riduce al disegno di rettangoli: tutto é finestra (non solo le finestre vere e proprie con le decorazioni* ma anche bottoni, caselle di testo, check boxes, combo boxes, ...) e quindi tutto é un rettangolo all'interno del quale l'applicazione disegna quello che vuole. la logica che permette la gestione ed il disegno in questi rettangoli ovviamente si trova nell'ambiente del kernel e si appoggia sul display driver stack. ok, é una spiegazione di m***a

*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.


Quote:
Originariamente inviato da wizard1993 Guarda i messaggi
poi swing non è l'unica, ho trovato più di un applicazione java scritta con le qt
dopo Swing la piu nota per Java é SWT piu che Qt.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 21:25   #13
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2009, 21:27   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2009, 12:58   #15
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
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.
Capito.
  Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Toyota bZ7: una berlina da oltre 5 metri...
Artemis II, le prime foto del lato nasco...
Sempre più pubblicità su YouTube: arriva...
Polestar fa +80% in Italia e tocca quota...
Il tuo Mac smette di connettersi a Inter...
La nuova alleanza Intel-Google ridefinis...
Energia troppo cara, regole da rivedere:...
CPU che si piegano e miglior contatto: I...
Addio Volkswagen Touareg? Non proprio: i...
PS5 Slim 1 TB in bundle con Fortnite Flo...
Addio desktop ingombranti: questo mostro...
La fame di memoria dell'AI non si fermer...
Instagram, nuove restrizioni per i teena...
LinkedIn introduce il controllo della ve...
Attacco a Magento: ecco come un'immagine...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v