PDA

View Full Version : C# Java e xcode


Dacsi
19-09-2011, 21:58
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?

Freaxxx
19-09-2011, 22:18
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) :)

Freaxxx
19-09-2011, 22:56
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)

Dacsi
20-09-2011, 21:41
Oh, ok.

Quindi c# scartato, Java anche. Si passa a Windows? E comunque mettiamoche disponga di un Pc, Java, c# o che altro?

Freaxxx
20-09-2011, 22:34
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.

Dacsi
21-09-2011, 20:29
UNo che faccia un pochino tutto, come il java.
Comunque mi ineteressa il lato networking....

Freaxxx
21-09-2011, 21:06
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 )

Dacsi
22-09-2011, 07:45
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à...

WarDuck
22-09-2011, 09:07
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

Dacsi
22-09-2011, 13:34
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:

Dacsi
23-09-2011, 16:11
Vado col java.


Garzie mille a tutti!


PS
(il python rimarrà il migliore!)