PDA

View Full Version : OS online: cosa ne pensate?


Virtuoso
03-02-2008, 13:54
Ciao a tutti,
da un paio di giorni ho scoperto il mondo dei sistemi operativi online. Dato che mi piacciono sempre queste chicche del Web 2.0, mi sono ne ho cercati un po'. Mi chiedevo se sono davvero utili e se ne esiste uno migliore su tutti.
Qualcuno di voi ne usa?? Se ce ne sono altri fatelo pure sapere.
Eccovi una lista con relativi links. Su Youtube trovate molti video dimostrativi dell'ambiente di lavoro senza dover per forza registrarvi ad ognuno.


MyGoya -> http://www.mygoya.de/us
EyeOS -> http://eyeos.org/
GOs -> http://www.customizeinternet.com


Spero di aver postato nella sezione più adatta e spero che possa interessare molte persone.

Ale

Johnn
03-02-2008, 14:12
Anche io li sto tenendo d'occhio.

Io ho provato Ulteo: http://www.ulteo.com/home/it/home

Con una adsl 4 Mb risulta abbastanza reattivo, ha praticamente un sistema linux un po' castrato (non si può usare la shell, da quanto ho capito), ma ha kde con firefox thunderbird e openoffice, più un client di chat!!!

Usa https e serve la jvm installata sul client.

La cosa che mi lascia perplesso di questi servizi in generale è la privacy: non ho ancora uppato alcun file mio personale e devo capire se ci sono rischi di sorta, anche solo l'indicizzazione dei contentuti degli utenti mi scoccerebbe parecchio. D'altra parte, però, offre una comodità notevole per chi si connette da diversi pc e potrebbe avere a disposizione ciò che vuole ovunque senza dover ricordarsi di mettere tutto sulla chiavetta o portarsi portatili con sè.

Herod2k
03-02-2008, 15:02
secondo me sono il futuro per gli uffici, si ha l'intero sistema operativo sul server centrale, cosi non si caricano le macchine client, e in più se ri rompe il computer cient, si può sostituire senza problema senza perdita dei dati o delle impostazioni.

Come utilizzo home, mi pare inutile.

H2K

danlo8600
03-02-2008, 15:38
secondo me sono il futuro per gli uffici, si ha l'intero sistema operativo sul server centrale, cosi non si caricano le macchine client, e in più se ri rompe il computer cient, si può sostituire senza problema senza perdita dei dati o delle impostazioni.

Come utilizzo home, mi pare inutile.

H2K


Quoto in pieno, anche se a dire la verità i grandi mainfreim già fanno questo. Danno il sistema a tutti gli utenti di un azienda dividendo le risorse hardware e senza dover un pc per ogni utente, si chiama sistema a terminali, in cui tutti i terminali sono collegati a un mainframe che li gestisce e gli dà l'os. Insomma non si sono inventati nulla di nuovo. Inoltre penso che per un uso reale sia inutile. Pensate un ingegnere edile che và su un cantiere, che fà non accende il pc perchè dove si trova non ha internet??? E poi chi mi garantisce la sicurezza dei mie dati??? già così non sono al sicuro figuriamoci se non sono neanche nel mio pc...

Io la boccio in pieno questa cosa...

NetEagle83
03-02-2008, 16:00
Quoto e aggiungo che la maggior parte di quella roba è scritta in Java... e come sanno anche i muri questo è MALE, almeno per quanto riguarda gli o.s. (basta vedere la fine che ha fatto Looking Glass... :asd:).

Prima si parlava di uffici... ma bisogna vedere che tipo di uffici sono eh... ve la immaginate una work-station per la grafica 3d o per il montaggio video che lavora su un o.s. in remoto scritto in Java? Brrr... mi vengono i brividi al solo pensiero! :D

E comunque i mainframe dei sistemi a terminali sono ben altra cosa... attualmente questo tipo di topologie di rete sono implementate al più con sistemi Unix che sfruttano l'architettura client-server di X, non c'entrano niente con quelle robe lì...

danlo8600
03-02-2008, 16:37
Ba da come ce l'hanno presentata quelle della IBM semrava proprio quello. Parlavamo del fatto i loro mainfreim gestiscono le risorse in modo che tutti gli utenti che ci sono attaccati sopra hanno le loro risorse sulla macchina usano il sistema operativo in comune. Ovviamente non ti puoi personalizare lo sfondo però comunque il concetto finale è lo stesso avere una sola macchina da cui poi partono tanti terminali senza dover installare l'os su ogni sistema. Inoltre IBM ci ha spiegato di non usare solo os unix/linux ma anche windows 2000 server, anzi da quello che ho capito è quello che và per la magiore per loro...

mykol
03-02-2008, 16:43
non ci metterei nemmeno il numero di telefono dell'amica li sopra ...

AnonimoVeneziano
03-02-2008, 16:50
Quoto e aggiungo che la maggior parte di quella roba è scritta in Java... e come sanno anche i muri questo è MALE, almeno per quanto riguarda gli o.s.


Scusa, ma se è abbastanza veloce chettenefrega scusa :asd:

NetEagle83
03-02-2008, 17:04
Scusa, ma se è abbastanza veloce chettenefrega scusa :asd:

Appunto, se è "abbastanza" veloce... peccato che quell'"abbastanza" che si ottiene con Java si può raggiungere con macchine che hanno 1/4 della potenza di calcolo usando o.s. scritti in linguaggi compilati... glie lo vai a dire tu alle aziende che devono spendere il quadruplo per il loro mainframe? :asd:

Ps. ho volutamente esagerato con le proporzioni, ma la realtà non è poi così lontana... Java ha tante belle qualità ed è ottimo per via della sua portabilità ecc. ma come tutti gli interpretati è un macigno assolutamente inadatto per certe cose...

Ba da come ce l'hanno presentata quelle della IBM semrava proprio quello. Parlavamo del fatto i loro mainfreim gestiscono le risorse in modo che tutti gli utenti che ci sono attaccati sopra hanno le loro risorse sulla macchina usano il sistema operativo in comune. Ovviamente non ti puoi personalizare lo sfondo però comunque il concetto finale è lo stesso avere una sola macchina da cui poi partono tanti terminali senza dover installare l'os su ogni sistema. Inoltre IBM ci ha spiegato di non usare solo os unix/linux ma anche windows 2000 server, anzi da quello che ho capito è quello che và per la magiore per loro...

Si si, ma il concetto è quello lì. Solo che sono cose "un tantinello" più professionali (e complesse) di quelle in oggetto del thread... e poi comunque onestamente Windows 2000 server non ce lo vedo a gestire un mainframe... sicuramente sarà ignoranza mia e magari anche lui avrà le sue potenzialità, però boh... io mi affiderei più volentieri a sistemi Unix (non c'è solo Linux eh... ;)).

AnonimoVeneziano
03-02-2008, 17:13
Appunto, se è "abbastanza" veloce... peccato che quell'"abbastanza" che si ottiene con Java si può raggiungere con macchine che hanno 1/4 della potenza di calcolo usando o.s. scritti in linguaggi compilati... glie lo vai a dire tu alle aziende che devono spendere il quadruplo per il loro mainframe? :asd:

Ps. ho volutamente esagerato con le proporzioni, ma la realtà non è poi così lontana... Java ha tante belle qualità ed è ottimo per via della sua portabilità ecc. ma come tutti gli interpretati è un macigno assolutamente inadatto per certe cose...



A parte il fatto che io dubito che quello sia un OS scritto in Java (Ossia non gestisce interrupts, astrazioni hardware, gestione della memoria a basso livello ... etc) , ma ritengo sia più una applicazione Web che simula un ambiente desktop fornendo applicazioni preconfezionate (sempre scritte come
applicazioni Web) ai suoi utilizzatori.

Probabilmente utilizza tecnologie come AJAX per rendere l'esperienza dinamica (ossia non richiedere di ricaricare la pagina per ogni modifica alla pagina, come lo spostamento di una finestra nell' OS).

Comunque Java è il linguaggio più usato in ambito enterprise ed è al primo posto assoluto come richieste da parte delle aziende per la sua portabilità, la versatilità , la sicurezza, la semplicità e , che tu ci creda o no, le sue prestazioni .

Ciao

PS = Ah , Java non è un linguaggio interpretato tanto per la cronaca ma è un linguaggio Dinamicamente Compilato , ossia che viene compilato a runtime :D

NetEagle83
03-02-2008, 17:23
A parte il fatto che io dubito che quello sia un OS scritto in Java (Ossia non gestisce interrupts, astrazioni hardware, gestione della memoria a basso livello ... etc) , ma ritengo sia più una applicazione Web che simula un ambiente desktop fornendo applicazioni preconfezionate (sempre scritte come
applicazioni Web) ai suoi utilizzatori.

Probabilmente utilizza tecnologie come AJAX per rendere l'esperienza dinamica (ossia non richiedere di ricaricare la pagina per ogni modifica alla pagina, come lo spostamento di una finestra nell' OS).

Comunque Java è il linguaggio più usato in ambito enterprise ed è al primo posto assoluto come richieste da parte delle aziende per la sua portabilità, la versatilità , la sicurezza, la semplicità e , che tu ci creda o no, le sue prestazioni .

Ciao

PS = Ah , Java non è un linguaggio interpretato tanto per la cronaca ma è un linguaggio Dinamicamente Compilato , ossia che viene compilato a runtime :D

Ehm, ma se almeno la metà di quelli elencati all'inizio richiedono la jvm vuol dire che qualcosa in Java ci sarà, no? :D
E poi chi ti dice che, appunto, quelle robe gestiscano interrupts, HAL e via dicendo? In pratica, essendo come dici tu essenzialmente applicazioni Web non ce n'è manco bisogno...
Secondo me non sono altro che un miscuglio di Java, Ajax e cose del genere, cose che, benchè utilissime e tecnologicamente interessanti, personalmente reputo TOTALMENTE inadatte ad un utilizzo professionale. Poi vabbè, c'è anche chi ama il rischio... :asd:

EDIT: Ovviamente io sto parlando solo dei cosiddetti "OS on-line" elencati nel primo post... converrai con me che il Java Desktop System di Solaris, ad esempio, è tutta un'altra cosa.... ;)

Per quanto riguarda le potenzialità di Java: d'accordo su tutto, ma le prestazioni lasciamole stare... puoi anche chiamarlo linguaggio "dinamicamente compilato", ma la sostanza è la stessa: un layer in più che rosicchia potenza di calcolo, magari meno degli interpretati "puri", ma sempre lì siamo... :)

AnonimoVeneziano
03-02-2008, 17:55
Ehm, ma se almeno la metà di quelli elencati all'inizio richiedono la jvm vuol dire che qualcosa in Java ci sarà, no? :D
E poi chi ti dice che, appunto, quelle robe gestiscano interrupts, HAL e via dicendo? In pratica, essendo come dici tu essenzialmente applicazioni Web non ce n'è manco bisogno...
Secondo me non sono altro che un miscuglio di Java, Ajax e cose del genere, cose che, benchè utilissime e tecnologicamente interessanti, personalmente reputo TOTALMENTE inadatte ad un utilizzo professionale. Poi vabbè, c'è anche chi ama il rischio... :asd:

Mmm, non credo di aver capito quello che hai scritto

Io ho scritto che secondo me NON gestice l'hardware a livello low-level, proprio perchè di mezzo c'è una JVM che da qualche parte deve girare (e anche se il codice fosse stato compilato per mezzo di compilatori come GCJ e compagnia dubito che uno si metta a fare un SO un Java ... :asd:)

Tu cos'hai capito che intendevo?

Come ho detto per me è una applicazione Web che SIMULA un ambiente operativo probabilmente scritta in Java e che usa AJAX per rendere l'interfaccia interattiva.
AJAX non è professionale? E' usato anche da GMail tanto per dirne uno e funziona benissimo e mi sembra che anche in azienda ultimamente vada molto di moda (per rendere le Web Application usate in azienda più facili all'utilizzo).


EDIT: Ovviamente io sto parlando solo dei cosiddetti "OS on-line" elencati nel primo post... converrai con me che il Java Desktop System di Solaris, ad esempio, è tutta un'altra cosa.... ;)


Ma il Java Desktop System non era Gnome con qualche applicazione Java montata sopra? :D


Per quanto riguarda le potenzialità di Java: d'accordo su tutto, ma le prestazioni lasciamole stare... puoi anche chiamarlo linguaggio "dinamicamente compilato", ma la sostanza è la stessa: un layer in più che rosicchia potenza di calcolo, magari meno degli interpretati "puri", ma sempre lì siamo... :)

Le prestazioni di Java sono buone ed è innegabile. Non so che programmi hai provato tu in Java, ma tralasciando i vari Eclipse, Netbeans ed Azureus (che sono pesanti non perchè sono scritti in Java, ma perchè hanno tante di quelle funzionalità che sono si i migliori prodotti sul mercato in fatto di features, ma anche di pesantezza) tutte le applicazioni Java che ho provato non mi hanno dato per niente sensazione di lentezza rispetto ai corrispettivi C/C++.

E' vero che purtroppo di Java si trova poco nella piattaforma desktop, ma è molto presente in altri ambiti come enterprise e dispositivi mobili .

I linguaggi dinamicamente compilati hanno prestazioni molto superiori agli interpretati (anche più di 10 volte) .

Questo tizio inoltre fece il confronto tra G++ e JVM 1.4 ottenendo come risultato che Java se usato con la JVM Client è leggermente più lento del C++ e se usato con la JVM Server ha buone probabilità di essere più veloce grazie alla compilazione dinamica che permette ottimizzazioni a runtime e compilazione specifica per il processore su cui gira.

http://kano.net/javabench/data

Il problema di Java non sono le prestazioni , ma al massimo un po' di latenza che lo rende poco adatto alle applicazioni real-time.
E comunque continuo a non capire il commento iniziale sul fatto che per fare sti "OS" (che poi OS non sono) usano Java.

Ciao

NetEagle83
03-02-2008, 19:29
Oddio quanto hai scritto! :D
Sinteticamente:

Mmm, non credo di aver capito quello che hai scritto

Io ho scritto che secondo me NON gestice l'hardware a livello low-level, proprio perchè di mezzo c'è una JVM che da qualche parte deve girare (e anche se il codice fosse stato compilato per mezzo di compilatori come GCJ e compagnia dubito che uno si metta a fare un SO un Java ... :asd:)

Tu cos'hai capito che intendevo?

L'esatto contrario! :D
Allora in pratica su questo punto la penso come te. :)

Ma il Java Desktop System non era Gnome con qualche applicazione Java montata sopra? :D

Esatto. Ecco perchè funziona meglio... :asd: (scherzo ovviamente, era solo per dire che si tratta di prodotti completamente diversi. Non vorrai mica paragonarmi una cosa come Solaris ad uno di 'sti pseudo-os on line? ;))

Per il resto, mi sa che c'è stato un piccolo equivoco... il tutto si riassume in questa tua frase:

Il problema di Java non sono le prestazioni , ma al massimo un po' di latenza che lo rende poco adatto alle applicazioni real-time.
E comunque continuo a non capire il commento iniziale sul fatto che per fare sti "OS" (che poi OS non sono) usano Java.

Ciao

Ecco, io semplicemente un linguaggio che fa a botte con le applicazioni real-time (e la latenza la considero eccome quando parlo di "prestazioni" in senso lato...) non lo reputo adatto ad essere utilizzato per scrivere qualcosa che assomigli ad un os, e men che meno se questo pseudo-os ha come target un'utenza professionale. Tutto qui. :)

La latenza di cui parli è un qualcosa di... come dire... "endemico" a Java, non si può migliorare questo aspetto perchè è strutturale, capisci cosa voglio dire? Per cui è giusto dire che Java "può" essere usato in ambito enterprise (e soprattutto in ambito mobile!), e infatti viene scelto da molti per le sue caratteristiche di portabilità, versatilità ecc. ma mi sembra lecito considerare anche che per certe cose (come ad esempio qualsiasi attività che abbia a che fare *seriamente* con il multimedia, e per seriamente intendo produzione, non "ri"produzione...) Java non è da prendere manco in considerazione... o almeno questa è la mia opinione e questa era la sola critica che intendevo fare nei post sopra, mica voglio criminalizzare Java. :)

Edit: Ah, e non ho mai detto che Ajax non sia professionale. Sono quegli accrocchi che spacciano per sistemi operativi a non esserlo! :D

AnonimoVeneziano
03-02-2008, 19:39
Oddio quanto hai scritto! :D
Sinteticamente:



L'esatto contrario! :D
Allora in pratica su questo punto la penso come te. :)


Ottimo :asd:


Esatto. Ecco perchè funziona meglio... :asd: (scherzo ovviamente, era solo per dire che si tratta di prodotti completamente diversi. Non vorrai mica paragonarmi una cosa come Solaris ad uno di 'sti pseudo-os on line? ;))



Scusa, ma chi ha mai tirato in ballo Solaris? :asd:


Per il resto, mi sa che c'è stato un piccolo equivoco... il tutto si riassume in questa tua frase:



Ecco, io semplicemente un linguaggio che fa a botte con le applicazioni real-time (e la latenza la considero eccome quando parlo di "prestazioni" in senso lato...) non lo reputo adatto ad essere utilizzato per scrivere qualcosa che assomigli ad un os, e men che meno se questo pseudo-os ha come target un'utenza professionale. Tutto qui. :)

La latenza di cui parli è un qualcosa di... come dire... "endemico" a Java, non si può migliorare questo aspetto perchè è strutturale, capisci cosa voglio dire? Per cui è giusto dire che Java "può" essere usato in ambito enterprise (e soprattutto in ambito mobile!), e infatti viene scelto da molti per le sue caratteristiche di portabilità, versatilità ecc. ma mi sembra lecito considerare anche che per certe cose (come ad esempio qualsiasi attività che abbia a che fare *seriamente* con il multimedia, e per seriamente intendo produzione, non "ri"produzione...) Java non è da prendere manco in considerazione... o almeno questa è la mia opinione e questa era la sola critica che intendevo fare nei post sopra, mica voglio criminalizzare Java. :)

Edit: Ah, e non ho mai detto che Ajax non sia professionale. Sono quegli accrocchi che spacciano per sistemi operativi a non esserlo! :D

Beh, di applicazioni che richiedono latenza realtime non ce ne sono poi tante.

Inoltre se si usa un compilatore come GCJ che crea un binario nativo anche i problemi di latenza si risolvono pur continuando ad usare Java per la propria applicazione. (Anche se con GCC 4.2.2 bisogna limitarsi a scrivere con le specifiche Java 1.4, con GCC 4.3 anche questo sarà risolto)

Ciao

NetEagle83
03-02-2008, 20:51
Ottimo :asd:



Scusa, ma chi ha mai tirato in ballo Solaris? :asd:



Beh, di applicazioni che richiedono latenza realtime non ce ne sono poi tante.

Inoltre se si usa un compilatore come GCJ che crea un binario nativo anche i problemi di latenza si risolvono pur continuando ad usare Java per la propria applicazione. (Anche se con GCC 4.2.2 bisogna limitarsi a scrivere con le specifiche Java 1.4, con GCC 4.3 anche questo sarà risolto)

Ciao

Solaris l'ho tirato fuori io per fare un paragone tra ciò che ritengo "applicazione professionale" e ciò che ritengo "..." (:D), nonostante la base Java sia la stessa. ;)

Per il resto... binario nativo? Con Java? Mi sa che sono rimasto un pò indietro... non è che mi spieghi un pò come funziona 'sta storia? O almeno qualche link (anche in english...), mi hai fatto venire la curiosità. ;)

Infine, la latenza realtime ad esempio serve come il pane per i sintetizzatori/tracker/software di audio-editing di un certo livello (Cubase e roba simile...), e parlo per esperienza personale... ;)
C'è da dire però che non è che Java sia diffusissimo in questi ambiti (guardacaso...), quindi il problema non si pone nemmeno... :)
Però suppongo che ci siano altri tipi di elaborazione che richiedano requisiti simili...

Ciao. ;)

Devil!
03-02-2008, 21:09
secondo me sono il futuro per gli uffici, si ha l'intero sistema operativo sul server centrale, cosi non si caricano le macchine client, e in più se ri rompe il computer cient, si può sostituire senza problema senza perdita dei dati o delle impostazioni.
H2K

Ma per questo già esistono da tempo i terminal server, sia su Windows sia su Linux (LTSP)

AnonimoVeneziano
03-02-2008, 21:16
Solaris l'ho tirato fuori io per fare un paragone tra ciò che ritengo "applicazione professionale" e ciò che ritengo "..." (:D), nonostante la base Java sia la stessa. ;)

Per il resto... binario nativo? Con Java? Mi sa che sono rimasto un pò indietro... non è che mi spieghi un pò come funziona 'sta storia? O almeno qualche link (anche in english...), mi hai fatto venire la curiosità. ;)

Infine, la latenza realtime ad esempio serve come il pane per i sintetizzatori/tracker/software di audio-editing di un certo livello (Cubase e roba simile...), e parlo per esperienza personale... ;)
C'è da dire però che non è che Java sia diffusissimo in questi ambiti (guardacaso...), quindi il problema non si pone nemmeno... :)
Però suppongo che ci siano altri tipi di elaborazione che richiedano requisiti simili...

Ciao. ;)

http://gcc.gnu.org/java/

Un altro esempio di applicazioni real-time sono i motori grafici.

Ma si sa, non tutti i linguaggi sono adatti per fare qualsiasi cosa :)

Anche scrivere in C un applicazione grafica complessa è una cosa per cui il linguaggio non è adatto. Quelli di GNOME ci vogliono provare a tutti i costi, cacchi loro :sofico: :asd:

NetEagle83
03-02-2008, 21:22
http://gcc.gnu.org/java/

Un altro esempio di applicazioni real-time sono i motori grafici.

Ma si sa, non tutti i linguaggi sono adatti per fare qualsiasi cosa :)

Anche scrivere in C un applicazione grafica complessa è una cosa per cui il linguaggio non è adatto. Quelli di GNOME ci vogliono provare a tutti i costi, cacchi loro :sofico: :asd:

:asd:

Comunque era proprio questo che, in definitiva, volevo dire nei miei post: ad ogni linguaggio lasciamo il suo utilizzo più consono. :)
Grazie per il link. ;)

danlo8600
03-02-2008, 21:43
Prima rispondo a una cosina che ho letto poi leggo tutto e magari riposto... Stavo leggendo su linux magazine che esiste un openoffice.org, cioè la possibilità di usare open office via web... A me non sembra una gran bella idea, magari può essere utile per un internet point, però a me sembra stupido buttare tutto sulla rete. Proprio in questi giorni c'è stato un grosso guasto a livello mondiale su internet e mezzo mondo o quasi è sconnesso (o almeno così ho letto), ora facciamo finta che il mio OS è su un server che non è accessibile oggi dalla rete... Cosa faccio??? non posso usare il pc???? oppure non posso usare office'???mmm.... tecnologia inutile...


Edit:

Come si fà a dire che java è portatile??? io vi giuro che questa cosa non la capisco. Il C/C++ è portatile ma non il java. Il Java non gira senza la sua bella virtual machine java installata sul pc. Questa è una domanda che ci facciamo da giorni anche con dei miei compagni di uni. Per me portabile vuoldire che ovunque vado il mio programma può girare...Java non mi sembra che rispetti proprio molto questa clausola, infatt vedo che anche su i cellulari per far partire giochi o applicazioni java c'è una virtual machine, insomma senza VM java è morto??? lo domando perchè a noi all'uni ci fanno studiare C/C++ quindi il java non lo conosco perniente...

AnonimoVeneziano
03-02-2008, 21:54
Le tecnologie via web invece sono molto utili.

Pensa ad una banca che usa un software che gestisce tutte le transazioni che essa effettua. Il software è usato dai vari dipendenti , ognuno col suo terminale nel suo ufficio . La soluzione più comoda è sviluppare l'applicazione come una applicazione WEB e poi caricarla su un server centrale per poi permetterne l'accesso attraverso un browser internet dai vari dipendenti nei loro uffici . Questo porta molti vantaggi :

1- Se l'applicazione viene aggiornata si aggiorna solo quella presente sul server centrale e tutti gli altri ricevono l'aggiornamento di conseguenza senza problemi di upgrade per ogni macchina dei dipendenti.

2- L'applicazione girando sul server consuma meno memoria e cicli di clock al computer del dipendente, che quindi può essere sottodimensionato a piacere :D (a favore delle tasche della banca)

3- Si evita che l'applicazione venga distribuita direttamente al dipendente aumentando così la sicurezza stessa dell'applicazione . E' più difficile che il dipendente possa trovare dei bug di sicurezza aggirabili per fare operazioni a lui non consentite ( il recente scandalo della seconda banca francese fa riflettere :rolleyes: )

In conclusione concordo sul fatto che per gli utenti desktop serva poco , ma non si può dire in generale che sia "tecnologia inutile" ;)

AnonimoVeneziano
03-02-2008, 22:06
Edit:

Come si fà a dire che java è portatile??? io vi giuro che questa cosa non la capisco. Il C/C++ è portatile ma non il java. Il Java non gira senza la sua bella virtual machine java installata sul pc. Questa è una domanda che ci facciamo da giorni anche con dei miei compagni di uni. Per me portabile vuoldire che ovunque vado il mio programma può girare...Java non mi sembra che rispetti proprio molto questa clausola, infatt vedo che anche su i cellulari per far partire giochi o applicazioni java c'è una virtual machine, insomma senza VM java è morto??? lo domando perchè a noi all'uni ci fanno studiare C/C++ quindi il java non lo conosco perniente...

Java è portabile perchè su ogni piattaforma dove esista una JVM rispettante le specifiche della SUN (che può essere anche non la sua, basta che rispetti le specifiche) prendi il codice compilato così com'è e lo fai girare.

C e C++ sono portabili in un altro modo. Anche per loro i programmi possono girare ovunque esista un compilatore C/C++, ma bisogna fare qualche considerazione in più a riguardo :

1- E' necessario avere i sorgenti del programma , e non è una cosa sempre possibile

2- Il fatto che il C e il C++ mostrino più dettagli della macchina sottostante rispetto a Java potrebbe portare vari problemi alla portabilità su processori con Word sizes diverse. Ad esempio usando un "int" rispetto ad un "long" su una macchina può dare risultati diversi rispetto ad un altra, mentre su Java questi problemi non ci sono ( ma ci sono anche altri problemi ).

3- In C/C++ non c'è una libreria standard che permette di lavorare seriamente senza dover andare a cercare risorse esterne. La libreria standard del C e del C++ è piuttosto risicata e permette di fare solo le operazioni base, ma per gestire operazioni più avanzate ( GUI, grafica 2D/3D, collegamento a database, calcolo degli Hash ... etc) è necessario fare affidamento su librerie esterne che non sempre sono disponibili per tutte le piattaforme , e questo mina la portabilità. Il framework di Java invece è immenso. Possiede librerie integrate nel pacchetto della JVM per fare tutto quello che ho specificato prima tra parentesi e molto di più. Inoltre le librerie Java esterne (in caso ci fosse necessità di usarle) sono spesso compatibili per ogni sistema per cui esiste la JVM (tranne quelle che usano la JNI , Java Native Interface, per interfacciarsi a codice nativo C sottostante).

4- A volte compilatori C/C++ diversi si rifiutano di compilare codice che l'altro compila perfettamente e viceversa.

Per questo java è più versatile da questo punto di vista, ma questo non significa che il C non sia portabile ;)


Ciao

NetEagle83
03-02-2008, 22:10
Confermo che che le applicazioni web così come le ha descritte AnonimoVeneziano in alcuni casi risultano molto utili, se non vitali... e non solo nelle banche, nella pubblica amministrazione ad esempio ne fanno largo uso (visto con i miei occhi all'Agenzia delle Entrate). Ma stiamo parlando essenzialmente di database o poco altro... o comunque di cose che non richiedono chissà quale potenza di calcolo. :)

Per rispondere a danlo, il fatto è che la jvm *dovresti* trovarla ovunque, perchè si propone come uno standard... nella realtà invece effettivamente accade spesso che non ci sia, e il ragionamento va un pò a ramengo... :D

Ps. Secondo me è un bene che vi fanno studiare il C, se lo impari per bene sarai capace di apprendere qualsiasi altro linguaggio nel giro di mezza giornata. ;)

AnonimoVeneziano
03-02-2008, 22:16
Ps. Secondo me è un bene che vi fanno studiare il C, se lo impari per bene sarai capace di apprendere qualsiasi altro linguaggio nel giro di mezza giornata. ;)

Beh, nella sezione programmazione se ne è parlato molto e dopo colpi di baionetta e manganello tra i vari contendenti la conclusione è stata abbastanza diversa da questa :D

Anch'io ho imparato il C come primo linguaggio, ma oggi le doti che bisogna avere per diventare un buon programmatore non sono più quelle di programmare bene in maniera procedurale, ma di saper programmare ad oggetti e il C questo non può insegnartelo.

Bisognerebbe partire subito imparando ad oggetti e ,nonostante ci sia il C++ , non è molto adatto ad un principiante perchè non è abbastanza rigido nel paradigma ad oggetti e mostra troppo i dettagli della macchina sottostante.

Il parere ultimo degli esperti è stato "o Java o Python" per poi imparare il C++ quando ce ne sarà bisogno :D

Ciao

NetEagle83
03-02-2008, 22:26
Beh, nella sezione programmazione se ne è parlato molto e dopo colpi di baionetta e manganello tra i vari contendenti la conclusione è stata abbastanza diversa da questa :D

Anch'io ho imparato il C come primo linguaggio, ma oggi le doti che bisogna avere per diventare un buon programmatore non sono più quelle di programmare bene in maniera procedurale, ma di saper programmare ad oggetti e il C questo non può insegnartelo.

Bisognerebbe partire subito imparando ad oggetti e ,nonostante ci sia il C++ , non è molto adatto ad un principiante perchè non è abbastanza rigido nel paradigma ad oggetti e mostra troppo i dettagli della macchina sottostante.

Il parere ultimo degli esperti è stato "o Java o Python" per poi imparare il C++ quando ce ne sarà bisogno :D

Ciao

Guarda, io sono "fuori dal giro" da anni (nel senso che un paio di anni fa studiavo Informatica, poi ho cambiato corso di laurea...) e "ai miei tempi" (:D) erano praticamente tutti d'accordo che il C fosse una sorta di viatico di iniziazione ai misteri della programmazione :asd: e se proprio si doveva programmare ad oggetti c'era il C++...

Oggi però effettivamente forse le esigenze sono un pò diverse... ma imho il C rimane un'ottima base. :)

Ps. tra l'altro indovina cosa insegnavano a noi? Il Java! :D Infatti ho anche scritto qualcosina (tipo un programmino di conversione decimale/binario, il classico esercizietto)... adesso che ho cambiato completamente genere di studi però ho rimosso tutto... :muro:

Johnn
03-02-2008, 22:31
Imho in questa discussione non si è tenuto conto ancora che questi servizi sono molto orientati alla mobilità e soprattutto alla condivisione:

stiamo a 600 km di distanza e vogliamo fare una presentazione insieme? Facile!

Voglio rendere pubblico (a chi dico io) qualche contenuto, facile!



E poi penso sia motlo utile a chi si connette con terminali mobili, come potrebbe essere l'eee dell'asus, oppure chi non ha un pc personale sempre con sè ma una connessione ad internet a banda larga (studenti universitari per esempio).

Certo che con un pc fisso con 1 tb di hard disk a casa propria sono quasi inutili (anche se c'è sempre l'aspetto condivisione).

danlo8600
03-02-2008, 22:32
Ricordo sempre che la rete è il posto più insicuro del mondo e ripeto che questo tipo di servizi già esistono da molti anni. Inoltre per evitare problemi strani se ne ha sempre una copia per ogni sede che poi viene passato su i terminali. Ripeto l'esempio io ho una banca con un OS o qualunque altro programma che è usato in comune in tutto il mondo dalle mie filiali, però il programma è su una sola macchina a casa mia... Cosa facciamo se casa mia esplode??? cosa facciamo se non funziona la rete??? tutte le filiali della mia banca fanno festa sino alla soluzione del guasto??? Comunque qui stiamo parlando di ben altro. È tempo che si parla di spostamento di tutto il software che ora abbiamo nei pc in rete, però a me questo non và perniente giù per troppi motivi...

1) Non è sicuro, sicuramente è più facile hackerare una di queste società che offrono questi servizi che hackerare me, anche perchè il mio ip non è statico, e sopratutto nessuno è interessato a me, mentre a un agenzia che ha una struttura del genere si... Magari dentro ci sono dati riservati... XD

2) Se per una qualsiasi ragione non ho internt non ho ne il pc ne tutto il resto

3) I dati non sò realmente in che mani sono

4) Facciamo un windows così magari uno si prende un virus e lo abbiamo tutti...

5) Dovrò pagare per usare il pc, anche perchè non penso che qualcuno mi regalerà mai nulla... Vorrei vedere chi mi fà usare i suoi spazi gratis

6) Il Sistema operativo non è più mio, ma di qualcun altro

Questi sono solo alcuni poi ce ne sono anche altri ma non mi dilungo.

AnonimoVeneziano
03-02-2008, 22:32
Guarda, io sono "fuori dal giro" da anni (nel senso che un paio di anni fa studiavo Informatica, poi ho cambiato corso di laurea...) e "ai miei tempi" (:D) erano praticamente tutti d'accordo che il C fosse una sorta di viatico di iniziazione ai misteri della programmazione :asd: e se proprio si doveva programmare ad oggetti c'era il C++...

Oggi però effettivamente forse le esigenze sono un pò diverse... ma imho il C rimane un'ottima base. :)

Ps. tra l'altro indovina cosa insegnavano a noi? Il Java! :D Infatti ho anche scritto qualcosina (tipo un programmino di conversione decimale/binario, il classico esercizietto)... adesso che ho cambiato completamente genere di studi però ho rimosso tutto... :muro:

Anche da me si studia il C al primo anno e penso un po' dappertutto :D

Però questo penso sia dovuto più a tradizione che altro. Nelle università in effetti non ti insegnano molto a programmare ...

Comunque se vuoi vai nella sezione programmazione e apri un thread tipo "Voglio iniziare a programmare.Che linguaggioooo???????" and let the flame begin :sofico:

AnonimoVeneziano
03-02-2008, 22:35
Ricordo sempre che la rete è il posto più insicuro del mondo e ripeto che questo tipo di servizi già esistono da molti anni. Inoltre per evitare problemi strani se ne ha sempre una copia per ogni sede che poi viene passato su i terminali. Ripeto l'esempio io ho una banca con un OS o qualunque altro programma che è usato in comune in tutto il mondo dalle mie filiali, però il programma è su una sola macchina a casa mia... Cosa facciamo se casa mia esplode??? cosa facciamo se non funziona la rete??? tutte le filiali della mia banca fanno festa sino alla soluzione del guasto??? Comunque qui stiamo parlando di ben altro. È tempo che si parla di spostamento di tutto il software che ora abbiamo nei pc in rete, però a me questo non và perniente giù per troppi motivi...

1) Non è sicuro, sicuramente è più facile hackerare una di queste società che offrono questi servizi che hackerare me, anche perchè il mio ip non è statico, e sopratutto nessuno è interessato a me, mentre a un agenzia che ha una struttura del genere si... Magari dentro ci sono dati riservati... XD

2) Se per una qualsiasi ragione non ho internt non ho ne il pc ne tutto il resto

3) I dati non sò realmente in che mani sono

4) Facciamo un windows così magari uno si prende un virus e lo abbiamo tutti...

5) Dovrò pagare per usare il pc, anche perchè non penso che qualcuno mi regalerà mai nulla... Vorrei vedere chi mi fà usare i suoi spazi gratis

6) Il Sistema operativo non è più mio, ma di qualcun altro

Questi sono solo alcuni poi ce ne sono anche altri ma non mi dilungo.

Non hai capito. Il server sta in locale nella banca . E' ovvio che le informazioni critiche non vengono messe su internet. Poi al massimo quei famosi server centrali (ripeto, uno per ogni filiale) comunicano tra loro in qualche modo, magari attraverso canali sicuri.
Tra l'altro l'applicazione che ho descritto prima sarebbe stata comunque una applicazione di rete anche se non scritta come applicazione Web , ma come applicazione tradizionale, con tutte le possibilità di essere hackerati comunque. Ci deve essere un server centrale che gestisce le transazioni e dei client che comunicano col server. Il vantaggio della applicazione web è di avere anche i client centralizzati sul server (in pratica)


Per il fatto di spostare tutto il software nella rete ti do ragione e l'ho anche espresso nel mio precedente post

Ciao

NetEagle83
03-02-2008, 22:42
Comunque se vuoi vai nella sezione programmazione e apri un thread tipo "Voglio iniziare a programmare.Che linguaggioooo???????" and let the flame begin :sofico:

:asd:

Per ora non è proprio il caso... se in questo momento mi metto pure ad imparare a programmare rischio che il cervello mi vada in stack overflow... :asd:

danlo8600
03-02-2008, 22:42
Ot: Da noi ci fanno progammare parecchio per fortuna, e sopratutto in C... Poi io ho preso il corso in cui si studia C++ altri miei colleghi invece fanno java... Poi ovviamente andando avanti sarò costretto per alcuni progetti a imparare anche il tanto amato Java (anche se preferirei imparare python) e per altri Sql... Insomma di certo 3/ 4 con l'uni di linguaggi ne imparerò... E comunque rimane sempre il fatto che con il C si possono fare cose che il Java non può fare, come è stato anche detto prima per la storia degli interrupts ecc... ;)


Edit:


Non hai capito. Il server sta in locale nella banca . E' ovvio che le informazioni critiche non vengono messe su internet. Poi al massimo quei famosi server centrali (ripeto, uno per ogni filiale) comunicano tra loro in qualche modo, magari attraverso canali sicuri.


A ok, be comunque sono una marea di anni che questo che tu dici esiste. La multinazionale americana dove lavora mio padre sono anni che lavora in questo modo, anzi da che sò io da sempre quindi XD.... Quello di cui sento parlare io invece è di una nuova concezione del pc. Vogliono far si da eliminare gli hardisk dai nostri pc in modo che qualsiasi opeazione, come accendere il pc passi per la rete, e come ho già detto a mio parere non è buono per i motivi sopra citatil, senza levare il fatto di potenziali collassi di tutta la infrastruttura internet che abbiamo...

Johnn
03-02-2008, 22:45
Ricordo sempre che la rete è il posto più insicuro del mondo e ripeto che questo tipo di servizi già esistono da molti anni. Inoltre per evitare problemi strani se ne ha sempre una copia per ogni sede che poi viene passato su i terminali. Ripeto l'esempio io ho una banca con un OS o qualunque altro programma che è usato in comune in tutto il mondo dalle mie filiali, però il programma è su una sola macchina a casa mia... Cosa facciamo se casa mia esplode??? cosa facciamo se non funziona la rete??? tutte le filiali della mia banca fanno festa sino alla soluzione del guasto??? Comunque qui stiamo parlando di ben altro. È tempo che si parla di spostamento di tutto il software che ora abbiamo nei pc in rete, però a me questo non và perniente giù per troppi motivi...

1) Non è sicuro, sicuramente è più facile hackerare una di queste società che offrono questi servizi che hackerare me, anche perchè il mio ip non è statico, e sopratutto nessuno è interessato a me, mentre a un agenzia che ha una struttura del genere si... Magari dentro ci sono dati riservati... XD

2) Se per una qualsiasi ragione non ho internt non ho ne il pc ne tutto il resto

3) I dati non sò realmente in che mani sono

4) Facciamo un windows così magari uno si prende un virus e lo abbiamo tutti...

5) Dovrò pagare per usare il pc, anche perchè non penso che qualcuno mi regalerà mai nulla... Vorrei vedere chi mi fà usare i suoi spazi gratis

6) Il Sistema operativo non è più mio, ma di qualcun altro

Questi sono solo alcuni poi ce ne sono anche altri ma non mi dilungo.

Per i problemi che hai posto nella prima parte ci sono diverse tecniche per ridondare i dati, per rendere robusti sistemi e reti a tutti i tipi di catastrofe che vi può venire in mente. Ricordate che internet nacque per resistere ad una guerra nucleare. Il problema poi è se vengono applicate ed usate bene queste tecnologie, ma in ambiti "importanti" lo devono essere.


1) Anche le banche hanno ip statici e sono on line. Secondo te è facile entrarci?

2) Se non avessi la corrente a casa tua per un giorno non potresti fare praticamente niente anche con tutto l'hardware che vuoi, anche se avessi un notebook, perché tanto ti potresti collegare benissimo che ti va col 56 k (a meno di avere un gruppo elettrogeno). Per tantissimi servizi siamo già in una fase di forte dipendenza e non ce ne rendiamo troppo conto, ma non sarà questa la goccia che farà traboccare il vaso. (Ricordi la protesta dei camionisti, di una sola settimana?)

3) Sono perfettamente d'accordo.

5) Non penso che si dovrà per forza pagare direttamente. Guarda il fenomeno google. Offre servizi probabilmente molto più costosi gratuitamente. Il problema è che non so se è un bene o no sul lungo periodo.

4-6) Per certi versi sono cose che già accadono con windows: il fatto che ce l'abbiano tutti espone più ad infezioni di massa e l'Os non è certo dell'utente, con forti restrizioni sulla licenza e codice fermamente closed.

AnonimoVeneziano
03-02-2008, 22:58
E comunque rimane sempre il fatto che con il C si possono fare cose che il Java non può fare, come è stato anche detto prima per la storia degli interrupts ecc... ;)

Beh, quelle sono cose che sinceramente fregano poco o niente al 99% dei programmatori (dove il restante 1% sono programmatori di sistemi operativi :p ) .

Nella maggior parte dei casi non c'è bisogno ne della velocità ne della latenza del C, quindi vale la pena scrivere il proprio programma in un linguaggio come Java o Python o Ruby e poi se ci si accorge che la propria applicazione ha colli di bottiglia in fatto di prestazioni si può riscrivere la funzione incriminata ( che in genere è sempre una) che ha bisogno di prestazioni migliori in C/C++ e collegarla al resto del codice con strumenti come JNI (per Java) o altri (per gli altri linguaggi).
La maggior parte delle applicazioni è fortemente I/O Bound (dicesi che non è lenta perchè viene consumata troppa CPU, ma perchè l'applicazione sta ad aspettare i dati che arrivano dall' HD o dalla rete) e per quelle CPU Bound invece spesso la causa della lentezza è l'algoritmo adottato nella risoluzione del problema. In entrambi questi casi passare al C/C++ non da miglioramenti.

Il vantaggio di scrivere in quei linguaggi anzichè in C è una maggiore velocità nella produzione del codice e una migliore mantenibilità dello stesso . Il tempo costa e se scrivere una cosa che in Python ti richiede 10 minuti in C richiede 4 ore allora forse è il caso di pensare se abbiamo davvero bisogno di scrivere questa cosa in C.

Comunque questi argomenti sono stati trattati e ritrattati più e più volte nella sezione programmazione e questo non è il thread adatto per disquisirne. Magari fatti un giro nella sezione programmazione e apri un thread a riguardo :)

Ciao

AnonimoVeneziano
03-02-2008, 22:59
A ok, be comunque sono una marea di anni che questo che tu dici esiste. La multinazionale americana dove lavora mio padre sono anni che lavora in questo modo, anzi da che sò io da sempre quindi XD.... Quello di cui sento parlare io invece è di una nuova concezione del pc. Vogliono far si da eliminare gli hardisk dai nostri pc in modo che qualsiasi opeazione, come accendere il pc passi per la rete, e come ho già detto a mio parere non è buono per i motivi sopra citatil, senza levare il fatto di potenziali collassi di tutta la infrastruttura internet che abbiamo...

beh, tu avevi parlato di "tecnologia inutile" e pensavo ti riferissi a quella "Web" che invece in ambito aziendale non lo è affatto.

Se ho capito male allora niente. Mi scuso :p

R4iDei
04-02-2008, 00:16
A parte che non ho capito come si sia arrivati a parlare di java partendo da questi os online io non mi fiderei a lasciarci i miei dati per ovvi motivi.... Certo si ha la possibilta di avere sempre a disposizione le proprie cose quina la potenzialità c'è. Magari fra qualche tempo si avranno garanzie sufficienti per stare piu o meno sicuri della propria privacy e saranno diffusi.

La storia del so in java non ha senso.... la jvm dove gira? Se gira sull'hardware non è java, non so se mi sono spiegato

Fil9998
04-02-2008, 08:32
il giorno che dovrò usare un terminale
web based e non un PC sarà il giorno in cui la privacy sarà morta,

lo stesso giorno smetterò linea adsl e PC e andrò a vivere come un primitivo in qualche posto sperduto.



stiamo barattando libertà e privacy in cambio di specchietti colorati con 'sta roba...



vabbhè chip fritz ... ma qua è farsi male con le proprie mani !

arara
04-02-2008, 09:01
La storia del so in java non ha senso.... la jvm dove gira? Se gira sull'hardware non è java, non so se mi sono spiegato
JNode è un OS scritto in Java ed è già funzionante, è presente solo una piccola parte in assembly per fare il bootstrap del sistema, mentre tutto il resto è scritto in Java e compilato in codice nativo tramite JIT.
SharpOS invece è un altro OS scritto in C# ancora allo stato embrionale.
Ovviamente sono entrambi dei progetti a scopo dimostrativo, per verificare la possibilità di creare un sistema basato interamente su una piattaforma managed.

R4iDei
04-02-2008, 10:27
JNode è un OS scritto in Java ed è già funzionante, è presente solo una piccola parte in assembly per fare il bootstrap del sistema, mentre tutto il resto è scritto in Java e compilato in codice nativo tramite JIT.
SharpOS invece è un altro OS scritto in C# ancora allo stato embrionale.
Ovviamente sono entrambi dei progetti a scopo dimostrativo, per verificare la possibilità di creare un sistema basato interamente su una piattaforma managed.

Si ma nel momento in cui il so diventa la "virtual machine" non è più il java vero. Questo intendevo

Johnn
04-02-2008, 19:16
il giorno che dovrò usare un terminale
web based e non un PC sarà il giorno in cui la privacy sarà morta,

lo stesso giorno smetterò linea adsl e PC e andrò a vivere come un primitivo in qualche posto sperduto.



stiamo barattando libertà e privacy in cambio di specchietti colorati con 'sta roba...



vabbhè chip fritz ... ma qua è farsi male con le proprie mani !

Domanda che mira più a far riflettere che non necessiti di risposta.

Usi gmail?