PDA

View Full Version : Sun pensa ad un desktop 3D per Linux


Redazione di Hardware Upg
06-02-2004, 16:42
Link alla notizia: http://news.hwupgrade.it/11754.html

Sun ha annunciato lo sviluppo di un sistema desktop 3D per piattaforma Linux

Click sul link per visualizzare la notizia.

Luca69
06-02-2004, 17:47
Questa volta mi sembra prorio che si siano messi gli altri a copiare i prodotti Microsoft! Che vergogna :(

Dreadnought
06-02-2004, 17:53
A parte che i macintosh hanno un desktop vettoriale da anni, la microsoft non ha un desktop 3d, e soprattutto non vedo cosa abbia la microsoft di originale visto che non fa che copiare tutto da tutti :D

cionci
06-02-2004, 18:05
Longhorn dovrebbe avere il desktop 3D...
Speriamo che non usino Java !!! Altrimenti ci vogliono due mesi per aprire un dialogo !!!

OverCLord
06-02-2004, 18:34
Condivido, una interfaccia che si basi su java sarebbe uno strazio, altro che tazzine di caffe, ce ne vorrebbero taniche per lavorare, e alla fine un sacco di calmanti!!! :rotfl:

jappilas
06-02-2004, 18:34
è vero, sul MAC il sistema grafico Quartz Extreme, esiste praticamente da che c' è OSX ;)

sempre in ambito X , è da tempo che si sente di altri server grafici che in qualche modo usano openGL per il compositing del desktop e delle finestre... solo che nella maggior parte si è trattato di "sperimentazioni" o progetti OS di limitata entità ...

per cui la grafica del prossimo win è quella che ha avuto più risalto, come se la MS avesse tirato fuori qualcosa di estremamente innovativo e originale per conto suo...



Originariamente inviato da cionci
Longhorn dovrebbe avere il desktop 3D...
Speriamo che non usino Java !!! Altrimenti ci vogliono due mesi per aprire un dialogo !!!

longhorn si dice che sarà .NET al 100% ... :rolleyes: :rolleyes:

OverCLord
06-02-2004, 18:45
Mi sa che e' java, inoltre vogliono ben 50$ in promozione: :asd:
...The Java runtime environment is an integral part of the Java Desktop System. This award-winning cross-platform technology for building desktop applications allows users to run thousands of Java technology-based solutions.

massidifi
06-02-2004, 18:45
Questo cosa comportera in termini pratici?

RAdish
06-02-2004, 19:25
Diciamo che sara' una rivoluzione buttano via le API e da quello che ho sentito useranno le direct X 10 anche per il desktop. Quindi ci potranno essere form 3d e altre belle cose.

B|4KWH|T3
06-02-2004, 19:54
directx non significa direct3d...

RAdish
06-02-2004, 20:07
cmq ad ora si sa poco. Un amico e' andato a los angeles alla presentazione di quest'anno di longhorn e piu' di tanto non hanno mostrato.

frankie
06-02-2004, 20:44
3D, alla faccia del desktop leggero, ah è vero, adesso ci sono i processori veloci e come li usiamo???
Con un destop tridimensionale :nonsifa:

nicgalla
06-02-2004, 21:21
Ad essere sincero un po' di anni fa volevo realizzare un sistema operativo in java che funzionasse su qualsiasi piattaforma e per interfaccia una sorta di Doom in cui sparavi alle icone dei programmi per aprirli... ma dovevate compatirmi, avevo 13 anni....
Beh a quanto pare stanno mettendo in pratica la mia idea... bello

HexDEF6
06-02-2004, 21:57
Originariamente inviato da frankie
3D, alla faccia del desktop leggero, ah è vero, adesso ci sono i processori veloci e come li usiamo???
Con un destop tridimensionale :nonsifa:

beh il bello di linux e' che questa interfaccia, per bella o brutta che sia, non ti verra mai imposta, avrai sempre la possibilita' di scegliere fra questa, kde, gnome ,fluxbox, windowmaker, ecc.

Con qualche altro sistema operativo invece se dicono che dovrai avere il desktop 3d te lo dovrai tenere, che a te piaccia o no!

Ciao!

jappilas
06-02-2004, 22:09
su longhorn...
sembrerebbe dot net... nel senso di tutto fatto in c# invece del c++..

Originariamente inviato da nicgalla
Ad essere sincero un po' di anni fa volevo realizzare un sistema operativo in java che funzionasse su qualsiasi piattaforma e per interfaccia una sorta di Doom in cui sparavi alle icone dei programmi per aprirli... ma dovevate compatirmi, avevo 13 anni....
Beh a quanto pare stanno mettendo in pratica la mia idea... bello

ma che compatirti... eri già "avanti" :D

muso
06-02-2004, 22:09
Irix ragazzi.
Anche il mio comodino 3d SGI OCTANE è vettoriale 3d!

Kralizek
07-02-2004, 01:44
una cosa che non capisco...

se il framework si installa su un so... come si fa a fare un so basato sul framework? è come creare una java virtual machine in java

cdimauro
07-02-2004, 06:43
Java è lento: non mi pare una buona idea. E lo stesso vale per .NET: se non sarà presente alcuna forma di compilazione, sarà pesante tanto quanto. L'unico vantaggio della soluzione MS rispetto a quella SUN sarà dato dall'ausilio (che per i vendor si trasforma in obbligo di fornire ;)) delle funzionalità DirectX 9 che saranno richieste per le schede video, e che quindi saranno implementate tutte in hardware...

juggler3
07-02-2004, 09:41
come hanno fatto a fare un Os senza dos ma scritto in derivato del dos (win98), e come fanno a scrivere i compilatori c usando c? è come hanno creato un boot loader capace di far partire un computer? pensi che sia un problema x loro creare qualcosa da interfacciarsi direttamente tra .net e computer senza un os sotto?al massimo fanno come con win 98: mettono win xp sotto il framework e lo nascondono. Poi in chiudi sessione comparirà riavvia in modalità win XP :). se invece il framework non va premi F8 o F5 all'avvio e ti comapre win xp con le scritte modalità provvisoria...ti farà mezz'ora di scandisk e ti dirà nessun errore trovato premere ok x continuare...tadà questo programma ha eseguito una operazione non valida e sarà terminato. sarà necessario reinstllare windows. Contattare l'amministratore di sistema( Tu)

erupter
07-02-2004, 09:48
Originariamente inviato da juggler3
come hanno fatto a fare un Os senza dos ma scritto in derivato del dos (win98), e come fanno a scrivere i compilatori c usando c? è come hanno creato un boot loader capace di far partire un computer? pensi che sia un problema x loro creare qualcosa da interfacciarsi direttamente tra .net e computer senza un os sotto?

La sua domanda ha molto più senso di quanto credi.
Facciamo un parallelo:
tu hai una bella macchina a schede (di quelle degli anni 40) che può fare un sacco di cose, e hai le tue schede per fare tutte ste cose (le macchina è il framework, le schede il bytecode .NET, e hai la stanza in cui è alloggiata con l'elettricità, il condizionamento, l'acqua, l'approvigionamento dei materiali che è l'OS); ora leviamo l'OS...
Che resta?
La sola macchina a schede: che ci fai?
Nulla.
Ciò semplicemente significa che il Kernel te lo scordi che lo fanno in .NET, C# o quel che ti pare.
Sarà sempre e comunque in un linguaggio compilato, come C++.
Poi una volta che hai un kernel che lavora, tutto il resto lo puoi fare come ti pare integrando il framework nel kernel, e rendendolo prioritario e pertanto più veloce.
A me sembra comunque un ritorno al passato questa soluzione:
aggiungi uno stadio nella catena di montaggio = rallenti il completamento.
Comunque senza intenzione di offesa, ma forse non sai realmente cosa significa .NET e framework, o Java...
Il fatto che i compilatori siano fatti in C, è solo perchè ne hai già altri che ti compilano il codice.
Altrimenti giù di assembler che ancora si usa.
Ti consiglio di verificare il perchè molta gente sia scettica sull'uso di simili tecnologie per un sistema operativo, così capirai meglio.

atomo37
07-02-2004, 12:16
a me sempre di più SUN ultimamente sembra una trottola impazzita!

Andala
07-02-2004, 15:47
Dov'è il broblema in un OS in Java?

Io uso OS/2 Warp 4 che è programmato in Java ed è un razzo.

Ikitt_Claw
07-02-2004, 16:27
Originariamente inviato da Andala
Io uso OS/2 Warp 4 che è programmato in Java ed è un razzo.

Link? Fonte?

HexDEF6
07-02-2004, 16:42
Originariamente inviato da erupter
<--SNIP-->
Ciò semplicemente significa che il Kernel te lo scordi che lo fanno in .NET, C# o quel che ti pare.
Sarà sempre e comunque in un linguaggio compilato, come C++.


Qualcuno dice che fare un kernel in C++ sia un grave errore (quel qualcuno e' un certo Linus!) molto meglio usare il C.


Altra cosa:
sicome non ne so molto di .net, ma e' un inguaggio interpretato/compilato/ o come java (come si dice? compilato per macchina virtuale?)?
interpretato mi pare impossibile (come fai un kernel interpretato???? devi avere qualcosa che fa girare l'interprete!)
compilato per macchina viruale come java?? (e chi fa girare la macchina virtuale???)

Quindi .net dovrebbe essere compilato (come il C per intenderci).. ma cosa ha in piu' del C o del C++ ???
Grazie per la spiegazione (mi basta una descrizione in due righe, non ho voglia di approfondire)

Ciao!

cdimauro
07-02-2004, 19:23
Originariamente inviato da HexDEF6
Qualcuno dice che fare un kernel in C++ sia un grave errore (quel qualcuno e' un certo Linus!) molto meglio usare il C.
Forse ricorderai male: così come l'hai riportata, è un'affermazione un po' troppo azzardata. Il C++ è un linguaggio molto più ricco del C (sintatticamente), e usarlo non vuol dire necessariamente perdere in prestazioni.
Anzi, dovrebbe essere usato per facilitare la scrittura e la leggibilità del codice.
Altra cosa:
sicome non ne so molto di .net, ma e' un inguaggio interpretato/compilato/ o come java (come si dice? compilato per macchina virtuale?)?
interpretato mi pare impossibile (come fai un kernel interpretato???? devi avere qualcosa che fa girare l'interprete!)
compilato per macchina viruale come java?? (e chi fa girare la macchina virtuale???)

Quindi .net dovrebbe essere compilato (come il C per intenderci)..
.NET, che io ricordi, dovrebbe permettere di scegliere fra tre livelli, in quanto ad efficienza del codice generato. Si può lasciare il codice totalmente interpretato (alla Java), oppure compilato molto velocemente, o infine compilato con le migliori ottimizzazioni
ma cosa ha in piu' del C o del C++ ???
Grazie per la spiegazione (mi basta una descrizione in due righe, non ho voglia di approfondire)

Ciao!
Non confonderti: .NET non è un linguaggio, ma un framework. Puoi scegliere il linguaggio che più ti aggrada per lavorare, e generare codice in formato .NET.

erupter
07-02-2004, 19:54
Originariamente inviato da Andala
Dov'è il broblema in un OS in Java?

Io uso OS/2 Warp 4 che è programmato in Java ed è un razzo.


Ha ha :sofico:
Ma non farmi ridere!
Il java è uguale al .NET: ha bisogno di una macchina virtuale (Java Virtual Machine) per funzionare, in quanto è un linguaggio non compilato, come php o xtml; una volta generato ci deve essere un interprete attivo per eseguire le istruzioni.
Vediamo di non spararne di così grosse, che poi certa gente si rivolta nelle tombe e i becchini sono oberati di lavoro :D

erupter
07-02-2004, 19:57
Originariamente inviato da HexDEF6
sicome non ne so molto di .net, ma e' un inguaggio interpretato/compilato/ o come java (come si dice? compilato per macchina virtuale?)?

.NET è il Java di MS, copia bella e buona anche se ovviamente migliorato e più potente.
Fondamentalmente è una virtual machine che offre funzionalità eccezzionali rapportato al Java.
Dal .NET sono poi stati derivati i linguaggi fondamentali (tipo C#) standalone che incorporano funzioni avanzate di .NET nei compilatori standard.

HexDEF6
07-02-2004, 21:23
Originariamente inviato da cdimauro
Forse ricorderai male: così come l'hai riportata, è un'affermazione un po' troppo azzardata. Il C++ è un linguaggio molto più ricco del C (sintatticamente), e usarlo non vuol dire necessariamente perdere in prestazioni.
Anzi, dovrebbe essere usato per facilitare la scrittura e la leggibilità del codice.


Io ovviamente non sono un esperto di c e c++ ma ecco qua cosa si dice (parlando del kernel di linux)
Il tutto lo puoi trovare qui:
http://kerneltrap.org/node/view/2067

A recent posting to the lkml requested help in porting the C++ Click Modular Router kernel module from the 2.4 stable kernel to the 2.6 stable kernel. The request was for ideas on fixing C++ related compilation errors, but the thread quickly turned into a lengthy debate on whether or not C++ had a place in the Linux kernel. The issue has been debated many times before, long ago earning its own entry in the lkml FAQ which offers numerous reasons why the kernel is not written in C++.

During the recent discussion, when it was suggested that perhaps the kernel is written in C simply because "we've always done it that way...", Linux creator Linus Torvalds joined in to explain:

"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.

"The fact is, C++ compilers are not trustworthy. They were even worse in 1992, but some fundamental facts haven't changed: 1) the whole C++ exception handling thing is fundamentally broken. It's _especially_ broken for kernels. 2) any compiler or language that likes to hide things like memory allocations behind your back just isn't a good choice for a kernel. 3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++."


Ciao!

cdimauro
08-02-2004, 07:07
Grazie per link: anche se il thread è molto lungo, è stato un piacere leggerlo. Mi spiace che tu abbia riportato il solo commento di Torvalds, perché francamente mi ha molto deluso. T'invito, sei hai tempo, a leggerti bene quel thread per farti un'idea migliore di cosa voglia dire utilizzare il C++ o il C come linguaggio di programmazione per il kernl: i commenti sono molto interessanti. In particolare ne ho scelto uno, che ti riporto, che si trova maggiormente d'accordo con la linea di pensiero sull'argomento:

"Still easy to handle in C++
Insightful comment posted by Anonymous on Thursday, January 22, 2004 - 07:51

This is what set_new_handler() is for, and why you have the placement new syntax (which allows you to provide your own memory, and have the object constructed in it, instead of making the C++ runtime allocate the memory), and why you can override the "new" operator.

Anyone that claims that C++ has unpredictable behavior is high overhead simply doesn't know C++ well enough - the C++ standard was developed according to a very strict guideline: You don't have to pay for what you don't use.

It's perfectly legal in C++ to use C memory management, and you can even instantiate C++ objects in that memory.

If you don't use virtual methods, your objects will take the same space as an equivalent C struct.

If you don't need exceptions, no code to handle them need be generated.

If you don't need (or can't) use iostreams for IO, you can ignore it, and any decent compiler will let you link with your own startup code and C++ runtime if you need to make sure you're not dragging it around.

If you don't need multiple inheritance, don't use it and there will be no thunks or other cruft messing up your code.

To summarize, you get what you decide is worthwhile for your application, and doesn't pay for the rest.

And you get the same reliability in terms of predictable memory management etc. as you have with C unless you SPECIFICALLY DECIDE TO DO SOMETHING ELSE. Nothing is magically allocated or deallocated in C. The memory management is well defined:
- If you call new, you will either end up in the class operator new, or in the new handler (which you can change with set_new_handler() if you have a particular need) - you have control over which by deciding which of these methods to use - and the default new handler will obtain memory.
- If you need a specific function to be called to obtain memory, you override operator new (if a specific class needs a specific type of memory) or change the new handler. The new handler can be 1-2 lines of code if you have simple needs.
- Objects on the stack are deleted when they go out of scope JUST LIKE IN C. The only difference being that destructors are called IF YOU HAVE DEFINED THEM.
- Objects on the heap are deleted when you call delete, just as if you'd called free() in C. Again destructors are called IF YOU HAVE DEFINED THEM.

Nothing is fundamentally different from C there. You can do all of what C++ does in C (there are still C++ compilers out there that generate C code instead of assembler, which is proof enough), and all of the features that set C++ apart from C are optional - you don't need to use them if they don't give you any benefits.

C++ doesn't assume anything about how it's environment works. Certain functionalities of C++ put specific requirements on the available runtime, but it's up to you whether or not they are suitable for your use, just like you don't go around indiscriminately using C libraries just because they are there, without evaluating if they are appropriate.

As for optimizations, that is a quality of implementation issue with regards to compilers, not a language issue."

Il grassetto e il corsivo li ho aggiunti io. Comunque l'intero post è interessante e spero che aiuti a far riflettere su cosa significhi utilizzare un linguaggio di programmazione piuttosto che un altro. In estrema sintesi il C++ può essere usato esattamente come il C, ma in più offre una serie di strumenti che possono essere utilizzati a seconda della tipologia dei problemi, aiutando nello sviluppo e nel mantenimento del codice. Un buon programmatore C++ sa quali aspetti del linguaggio utilizzare a seconda dello scopo. Ma bisogna, appunto, essere dei buoni conoscitori del linguaggio: altrimenti è facile uscirsene fuori con dei post tendenzialmente falsi e/o sempliciotti come quello che hai riportato (ovviamente non ce l'ho con te :))...

Ciao

Andala
08-02-2004, 19:08
Ikitt_Claw
Link? Fonte?


Così c'è scritto sul manuale.

erupter
Ha ha
Ma non farmi ridere!
Il java è uguale al .NET: ha bisogno di una macchina virtuale (Java Virtual Machine) per funzionare, in quanto è un linguaggio non compilato, come php o xtml; una volta generato ci deve essere un interprete attivo per eseguire le istruzioni.
Vediamo di non spararne di così grosse, che poi certa gente si rivolta nelle tombe e i becchini sono oberati di lavoro



Di tutto quello che hai scritto non ho capito nulla.
Intanto Warp 4 lo uso, Java è dentro, va tutto alla grande e ci faccio quasi tutto quello che mi serve, mentre voi rincorrete OS dell'ultimo grido.

cdimauro
08-02-2004, 21:34
Se non hai capito il problema è soltanto tuo... ;)

Quanto al resto, il fatto che ti vada "tutto alla grande" non vuol dire che Java sia la soluzione migliore. La soluzione migliore (prestazionalmente) è rappresentata chiaramente dal codice compilato, e su questo non c'è virtual machine che tenga, sia essa Java o .NET...

cionci
09-02-2004, 15:54
Non mi sembra OS/2 Warp 4 sia programmato in Java ;)

xeal
09-02-2004, 19:27
x cdmauro

Non ricordo esattamente (anche perchè non lo uso), ma la tecnologia .Net non dovrebbe fornire la possibilità di compilare il codice integralmente, dovrebbe invece consentire la precompilazione di alcune parti per accelerare l'avvio dei programmi, in maniera analoga alla presenza di piccoli eseguibili specifici lanciati all'avvio degli ide basati su netbeans. Le ottimizzazioni della compilazione dovrebbero riguardare la manipolazione del codice al fine di renderne difficile una reverse engineering, che altrimenti sarebbe estremamente semplice (come per i bytecode java), con l'effetto collaterale di un possibile rallentamento del programma (in quanto il framework lavora in maniera ottimale con codice privo di questi artefatti); mi sorge però il dubbio che la compilazione totale rientri in queste tecniche (in questo caso a scapito totale della portabilità)

dragunov
09-02-2004, 20:52
be ame pare da un pò di tempo

xeal
09-02-2004, 22:04
.NET è il Java di MS, copia bella e buona anche se ovviamente migliorato e più potente.
Fondamentalmente è una virtual machine che offre funzionalità eccezzionali rapportato al Java.
Dal .NET sono poi stati derivati i linguaggi fondamentali (tipo C#) standalone che incorporano funzioni avanzate di .NET nei compilatori standard.

Be' per la verità dire che si tratti di una copia migliorata della tecnologia java è un po' riduttivo. La tecnologia .Net è l'implementazione (proprietaria) di uno standard sicuramente ispirato negli scopi al framework java. Ci sono versioni open software per Linux/Unix, come Mono, in realtà un porting open del framework di MS, dotGNU Portable .Net, una versione della stessa MS per mac e FreeBSD (sscli, forse open) e un progetto di Intel (OCL, con licenza BSD-like).
Alcuni link:
Mono (www.go-mono.org)
dotGNU (www.dotGNU.org)
Open CLI Library (www.intel.com/cd/ids/developer/asmo-na/eng/technologies/dotnet/using/design/20024.htm).

Una precisazione sul post di prima: in realtà dovrebbe essere in fase di sviluppo, o forse già realizzata, una versione ottimizzata del jit compiler (optijit) che dovrebbe generare codice ottimizzato ma non nativo, gli artefatti per proteggere i sorgenti sono ottimizzazioni di altra natura.
Ciao a tutti.

xeal
09-02-2004, 22:19
i link si leggono meglio sul forum....

cdimauro
11-02-2004, 06:45
Quelle tre modalità di compilazione del codice le ho letto molto tempo addietro, quando si cominciò a parlare e descrivere l'architettura .NET. Adesso non so se hanno proseguito su quella strada o hanno cambiato qualcosa: ho riportato solamente ciò che ricordavo in merito... ;)