PDA

View Full Version : [Java] o [Python] chiarimenti per scelta


Mattz
18-04-2011, 20:00
Ho letto la discussione su che linguaggio scegliere, ma mi rimangono dei forti dubbi.
Vi spiego la mia situazione: ho studiato in vari corsi universitari il C e per ora mi è sempre bastato. Ho studiato anche l'assembly, anche se sono lontano da una conoscenza approfondita perchè in 60 ore si fa poco.


Ora però mi accorgo che ci faccio poco con questi linguaggi di basso livello. Mi sono buttato sul campo delle telecomunicazioni e ho bisogno di un linguaggio per creare simulazioni di algoritmi per la gestione di pacchetti dati, reti, protocolli etc etc..

Del C me ne faccio poco, il mio prof stesso ha detto che è follia usarlo per queste simulazioni. Il suo consiglio è di usare python.
Io sono indeciso tra python e java. Prima o poi dovrò impararli entrambi, ma per ora non so su quale buttarmi. So pochissimo di programmazione ad oggetti e nulla di librerie grafiche. Ho deciso di dedicare i prossimi 3-4 mesi per imparare un linguaggio di alto livello.

Non so quale possa essere il più indicato tra i due linguaggi proprio perchè non ne so nulla. Sono abituato ad una programmazione molto più "semplice".

Se potete consigliarmi ve ne sarei grato.

yggdrasil
18-04-2011, 20:05
i pro del java sono che già conosci il c e che, a parte il fatto che devi imparare il paradigma ad oggetti(che pure in python dovresti imparare), è molto simile al c.

il python di contro è molto più malleabile per quanto riguarda i dati siccome ha una tipizzazione debole. inoltre non serve che lo compili in quanto è interpretato.

PGI-Bis
18-04-2011, 20:15
Io consiglio di provarli entrambi e poi decidere anche se il problema generale non è tanto il linguaggio quanto la conoscenza di quello che gli gira intorno.

Vale a dire che con Java o Python ci fai le stesse cose che potresti fare con C o qualsiasi altro linguaggio general purpose, cioè niente se conosci solo il linguaggio, di tutto se conosci anche le librerie e gli strumenti di sviluppo o, meglio ancora, se acquisici quel metodo da "caccia al tesoro" che ti permette di individuare la libreria/strumento che ti serve - che non è detto faccia parte della piattforma standard.

Mattz
18-04-2011, 20:24
in effetti il discorso sulle librerie è più che giusto..potrei fare qualsiasi cosa in C.

A questo punto la domanda è: quale linguaggio ha le librerie più comode/adatte per quello che serve a me?

PGI-Bis
18-04-2011, 20:47
Prima di rispondere dovrei approntare una linea maginot perchè dal "secondo me" in poi è guerra senza quartiere.

Essendo a corto di cavalli di frisia posso solo suggerirti di esplorare brevemente la rete cercando delle associazioni tra il linguaggio e lo scopo. Ad esempio "java network simulation library" o "python network simulation library" o "c network simluation library" o cose così. Di solito da un link a un blog o ad un articolo si riesce a creare una sequenza di riferimenti che ti danno un'idea dello stato delle cose.

Mattz
18-04-2011, 20:53
Prima di rispondere dovrei approntare una linea maginot perchè dal "secondo me" in poi è guerra senza quartiere.

Essendo a corto di cavalli di frisia posso solo suggerirti di esplorare brevemente la rete cercando delle associazioni tra il linguaggio e lo scopo. Ad esempio "java network simulation library" o "python network simulation library" o "c network simluation library" o cose così. Di solito da un link a un blog o ad un articolo si riesce a creare una sequenza di riferimenti che ti danno un'idea dello stato delle cose.

ok procedo :D

se te la senti sbilanciati pure :D

khelidan1980
18-04-2011, 21:22
in effetti il discorso sulle librerie è più che giusto..potrei fare qualsiasi cosa in C.

A questo punto la domanda è: quale linguaggio ha le librerie più comode/adatte per quello che serve a me?

C'è anche la questione dl "quanto tempo ci metti" ovvero per dirla in una parola produttività che mi pare non secondaria

Gold
18-04-2011, 22:15
Come mai ti domandi di librerie grafiche??

Ciau

cdimauro
19-04-2011, 04:19
Ho letto la discussione su che linguaggio scegliere, ma mi rimangono dei forti dubbi.
Vi spiego la mia situazione: ho studiato in vari corsi universitari il C e per ora mi è sempre bastato. Ho studiato anche l'assembly, anche se sono lontano da una conoscenza approfondita perchè in 60 ore si fa poco.

Ora però mi accorgo che ci faccio poco con questi linguaggi di basso livello. Mi sono buttato sul campo delle telecomunicazioni e ho bisogno di un linguaggio per creare simulazioni di algoritmi per la gestione di pacchetti dati, reti, protocolli etc etc..
Se sei tu a dover implementare quegli algoritmi, penso che Python rappresenti la soluzioni migliore, perché consente una facile e veloce modellizzazione / prototipazione.

Hai l'interprete interattivo col quale puoi provare al volo pezzi di codice, o anche intere sessioni "live". Inoltre ci sono shell interattive estremamente evolute, come DreamPie (http://dreampie.sourceforge.net/), che esaltano ancora di più questo concetto.
Del C me ne faccio poco, il mio prof stesso ha detto che è follia usarlo per queste simulazioni. Il suo consiglio è di usare python.
Io sono indeciso tra python e java. Prima o poi dovrò impararli entrambi, ma per ora non so su quale buttarmi. So pochissimo di programmazione ad oggetti e nulla di librerie grafiche. Ho deciso di dedicare i prossimi 3-4 mesi per imparare un linguaggio di alto livello.
La programmazione a oggetti prima o poi dovrai impararla, ma non so se ti renderà facile la vita con le simulazioni che dovrai realizzare. Sicuramente con un approccio test-driven (http://en.wikipedia.org/wiki/Test-driven_development) ti sarebbe utile, ma al momento non hai esperienza né con l'uno né tanto meno con l'altro.

Riguardo alle librerie grafiche, non so a cosa ti servono. Dovresti essere più chiaro.
Non so quale possa essere il più indicato tra i due linguaggi proprio perchè non ne so nulla. Sono abituato ad una programmazione molto più "semplice".

Se potete consigliarmi ve ne sarei grato.
Python è un linguaggio molto semplice da imparare e utilizzare.
i pro del java sono che già conosci il c e che, a parte il fatto che devi imparare il paradigma ad oggetti(che pure in python dovresti imparare), è molto simile al c.

il python di contro è molto più malleabile per quanto riguarda i dati siccome ha una tipizzazione debole. inoltre non serve che lo compili in quanto è interpretato.
Al contrario: Python ha una forte tipizzazione. ;)

WarDuck
19-04-2011, 08:45
Se non hai particolari esigenze prestazionali direi Python tutta la vita :D.

pabloski
19-04-2011, 11:06
Python, non c'è nemmeno da discutere

la produttività nel tuo caso è la chiave, python è semplice da apprendere ed è il linguaggio più espressivo che abbia mai usato fino ad oggi

Mattz
23-04-2011, 12:40
grazie a tutti per le risposte. Penso che approfondirò python.


Java devo comunque studiacchiarlo a breve per una parte di un corso univeristario, ma è stato spiegato in 20 ore quindi è completamente inutile. In futuro è probabile che dovrò impararmi anche questo.