View Full Version : C# Java e xcode
Salve.in molti mi consigliano come linguaggio il c# e le librerie.net ( conosco bene il Python). Mi pare di capire cheuna delle peculiarità del c sharp sono proprio le librerie . NET. io utilizzo un Mac, e anche xCode. Mi chiedevo se valeva la pena di imparare il c# e se magari potevo utilizzarlo bene con xcode, o se mi conviene puntare sul Java (che da quanto ho capito è supportato da xcode).
Consigli?
per sistemi Mac non esiste il JDK ufficiale Oracle/Sun e di conseguenza neanche il JRE, quella che trovi solitamente per Mac è semplicemente una macchina Java prodotta da Apple, quindi non è quella ufficiale.
il C# è supportato al meglio in Visual Studio, quindi su sistemi Windows, data la sua flessibilità e modularità il C# è anche supportato da altri progetti su altre piattaforme come MonoDevelop, che però ultimamente naviga in pessime acque, l'IDE tuttavia è piuttosto valido, certo non è completo come VS ma per iniziare o per compilare progetti semplici va più che bene.
Per quanto mi riguarda, vedo un futuro roseo per il C# e molto meno per Java che oramai, a mio parere, è semplicemente adottato perché in certe realtà costerebbe troppo migrare verso altre soluzioni piuttosto che per le sue capacità tecniche.
heijenoort
19-09-2011, 22:49
per sistemi Mac non esiste il JDK ufficiale Oracle/Sun e di conseguenza neanche il JRE, quella che trovi solitamente per Mac è semplicemente una macchina Java prodotta da Apple, quindi non è quella ufficialeQuesto era valido fino a java 6. Ora con java 7 Apple abbandona lo sviluppo della propria jvm e permette ad Oracle di sviluppare la jvm ufficiale anche per mac.
http://www.apple.com/pr/library/2010/11/12Oracle-and-Apple-Announce-OpenJDK-Project-for-Mac-OS-X.html
Non so se java 7 per mac sia già uscito però, non uso più mac ora (anche per questi casini con java, visto che per me è abbastanza indispensabile) :)
Questo era valido fino a java 6. Ora con java 7 Apple abbandona lo sviluppo della propria jvm e permette ad Oracle di sviluppare la jvm ufficiale anche per mac.
http://www.apple.com/pr/library/2010/11/12Oracle-and-Apple-Announce-OpenJDK-Project-for-Mac-OS-X.html
Non so se java 7 per mac sia già uscito però, non uso più mac ora (anche per questi casini con java, visto che per me è abbastanza indispensabile) :)
per adesso non è uscito e comunque sempre per come stanno adesso le cose la versione buona di java rimane la 6 :)
heijenoort
20-09-2011, 11:08
e comunque sempre per come stanno adesso le cose la versione buona di java rimane la 6 :)
Anche perché per mac è l'unica un pelo aggiornata (anche se costantemente in ritardo di uno/due mesi) :muro:
Peccato però, le estensioni del package com.apple.eawt mi piacevano, erano comode e davano un minimo di integrazione con OS X (gestione del Dock, barra menu, notifiche ecc)
Oh, ok.
Quindi c# scartato, Java anche. Si passa a Windows? E comunque mettiamoche disponga di un Pc, Java, c# o che altro?
Oh, ok.
Quindi c# scartato, Java anche. Si passa a Windows? E comunque mettiamoche disponga di un Pc, Java, c# o che altro?
dipende, buttare nella mischia tanti linguaggi senza sapere che uso farne è semplicemente una perdita di tempo per tutti; almeno specifica l'ambito d'uso.
UNo che faccia un pochino tutto, come il java.
Comunque mi ineteressa il lato networking....
UNo che faccia un pochino tutto, come il java.
Comunque mi ineteressa il lato networking....
networking a che riguardo?
"che faccia un po' di tutto" è una frase che ha poco senso attribuita ad un linguaggio di programmazione, esiste il linguaggio con le caratteristiche migliori per un certo impiego e scopo ma più o meno con tutti i linguaggi riesci a fare "un po' di tutto", esistono sistemi operativi scritti nei linguaggi più disparati e spesso è più il tempo perso a creare questa o quella libreria che preclude ad un linguaggio la possibilità di sfondare in vari ambiti.
Considera che comunque il Java porta in dote una Virtual Machine, con i suoi enormi pregi ( garbage collector e gestione automatica della memoria su tutti ) ed enormi difetti ( se c'è un bug nella VM te lo tieni ed i tempi di rilascio degli aggiornamenti non sono proprio rapidissimi, se ti perdi nella logica di qualche classe per un design operativo astruso non ci metti niente a fare errori spesso difficilmente individuabili e quindi risolvibili )
Considera anche il C++, perché con il C++ puoi prendere varie strade:
- puoi decidere di optare per delle opzioni di compilazioni particolari, anche in base alla piattaforma
- ci sono librerie a basso livello disponibili, ad esempio su windows il "visual C++" offre molte librerie native per l'ambiente windows, intendo librerie offerte direttamente da Microsoft.
- è un linguaggio che facilmente ti riporta alla mente gli altri tra C ed ObjC ovvero i linguaggi delle maggiori piattaforme.
- puoi decidere se compilare staticamente o dinamicamente
- il tuo programma una volta compilato in linguaggio macchina è direttamente eseguito nell'ambiente ( anche se questo può essere un grande contro )
Client-server, magari gestione di DB, diciamo una cosa di meglio che il modulo ftp nel pyhton.
Il c++ mi sembra una buona idea, pensavo anche il c#, appunto.
La VM Java non è che sia poi così "problematica".
Altrimenti avrei scelto L'obj-C, ma ho intenzione di farlo più in là...
Se sei sotto Windows ti consiglio di provare C# ;).
Escluderei C++ perché dovresti interfacciarti con le API del SO (tipo WinSock2) e potrebbe essere un po' rognoso.
Sotto Mac vai di Java.
Tutto ciò se escludi Python, perché magari vuoi imparare qualcosa di nuovo (c'è anche da dire che C# e Java essendo parzialmente compilati producono codice più veloce).
Kralizek
22-09-2011, 09:37
Se sei sotto Windows ti consiglio di provare C# ;).
Escluderei C++ perché dovresti interfacciarti con le API del SO (tipo WinSock2) e potrebbe essere un po' rognoso.
Sotto Mac vai di Java.
Tutto ciò se escludi Python, perché magari vuoi imparare qualcosa di nuovo (c'è anche da dire che C# e Java essendo parzialmente compilati producono codice più veloce).
l'ira di cdimauro si abbatterá su di te! :sofico:
insane74
22-09-2011, 10:00
l'ira di cdimauro si abbatterá su di te! :sofico:
i numeri parlano chiaro:
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=java&lang2=python3
e
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=csharp&lang2=python3
:D
Io lavoro sotto mac, ma passrei volentieri a windows se ciò significasse maggior stabilità.
Avevo pensato Java per MAc OS X, anche l' sdk apple eventualmente...
Quindi, c#?
E poi è davvero tanto orribile l'sdk Java 6 della apple?
cdimauro
22-09-2011, 14:01
l'ira di cdimauro si abbatterá su di te! :sofico:
i numeri parlano chiaro:
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=java&lang2=python3
e
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=csharp&lang2=python3
:D
Son cose note. Python non è certo nato per competere col C in termini prestazionali.
Però se la cava discretamente facendo ricorso a JIT compiler come PyPy. Per confronto col classico Python 2.6, guardate qui (http://speed.pypy.org/). :cool:
Vado col java.
Garzie mille a tutti!
PS
(il python rimarrà il migliore!)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.