|
|
|
![]() |
|
Strumenti |
![]() |
#21 |
Messaggi: n/a
|
a me sempre di più SUN ultimamente sembra una trottola impazzita!
|
![]() |
![]() |
#22 |
Senior Member
Iscritto dal: Oct 2003
Messaggi: 1372
|
Dov'è il broblema in un OS in Java?
Io uso OS/2 Warp 4 che è programmato in Java ed è un razzo. |
![]() |
![]() |
![]() |
#23 | |
Senior Member
Iscritto dal: Dec 2002
Città: /dev/urandom breed
Messaggi: 1689
|
Quote:
|
|
![]() |
![]() |
![]() |
#24 | |
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Re: Re: x Kralizek...
Quote:
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!
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ |
|
![]() |
![]() |
![]() |
#25 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Re: Re: Re: x Kralizek...
Quote:
Anzi, dovrebbe essere usato per facilitare la scrittura e la leggibilità del codice. Quote:
Quote:
__________________
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 |
|||
![]() |
![]() |
![]() |
#26 | |
Senior Member
Iscritto dal: Jul 1999
Città: Unimoria 3
Messaggi: 2380
|
Quote:
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 ![]() |
|
![]() |
![]() |
![]() |
#27 | |
Senior Member
Iscritto dal: Jul 1999
Città: Unimoria 3
Messaggi: 2380
|
Re: Re: Re: x Kralizek...
Quote:
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. |
|
![]() |
![]() |
![]() |
#28 | |
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Re: Re: Re: Re: x Kralizek...
Quote:
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!
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ |
|
![]() |
![]() |
![]() |
#29 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
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
__________________
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 Ultima modifica di cdimauro : 08-02-2004 alle 07:23. |
![]() |
![]() |
![]() |
#30 | ||
Senior Member
Iscritto dal: Oct 2003
Messaggi: 1372
|
Quote:
Quote:
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.
__________________
Trabant Meglio comprare un litro di latte quando serve, piuttosto che mantenere una vacca per tutta la vita ... P54C 133Mhz Icomp Index 1110 Matrox Millenniun HD SCSI Seagate + IBM Creative Awe 32 DXR2 Win95C Mozilla Firebird 0.7 (Dec/1995-13/Apr/2009 ![]() |
||
![]() |
![]() |
![]() |
#31 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
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...
__________________
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 |
![]() |
![]() |
![]() |
#32 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non mi sembra OS/2 Warp 4 sia programmato in Java
![]() |
![]() |
![]() |
![]() |
#33 |
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
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à) |
![]() |
![]() |
![]() |
#34 |
Senior Member
Iscritto dal: Jun 2003
Città: Udine
Messaggi: 1612
|
be ame pare da un pò di tempo
|
![]() |
![]() |
![]() |
#35 | |
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
Alcuni link: Mono dotGNU Open CLI Library. 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. Ultima modifica di xeal : 09-02-2004 alle 22:16. |
|
![]() |
![]() |
![]() |
#36 |
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
i link si leggono meglio sul forum....
|
![]() |
![]() |
![]() |
#37 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
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...
![]()
__________________
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 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:18.