PDA

View Full Version : Che linguaggio scelgo?


xbubbax
17-12-2007, 14:15
Ciao,
ho una buona conoscenza dei linguaggi C e C++ e ora dovrei scegliere un terzo linguaggio di programmazione.
Quale linguaggio mi consigliate di scegliere? Cioè il piu facile per me che conosco C e C++?

http://en.wikipedia.org/wiki/Object-oriented_programming_language

marko.fatto
17-12-2007, 14:20
C#... :stordita:

xbubbax
17-12-2007, 14:24
Oltre al Java, C# e PHP?

Non posso usare questi 3

DaveR1
17-12-2007, 14:24
C#... :stordita:

quoto.... o se no buttato sul visual c++

xbubbax
17-12-2007, 14:27
ma visual c++ è c++. io devo scegliere un linguaggio da questa lista http://en.wikipedia.org/wiki/Object-oriented_programming_language

che non sia c#, php, java e che sia abbastanza facile

variabilepippo
17-12-2007, 14:27
Quale linguaggio mi consigliate di scegliere?


Per cosa ti serve?


un linguaggio da questa lista


Python, Delphi e VB.NET vanno bene?

xbubbax
17-12-2007, 14:29
devo impararlo...ma siccome ho poco tempo ne vorrei trovare uno non troppo difficile

xbubbax
17-12-2007, 14:29
Python, Delphi e VB.NET vanno bene?

il piu facile tra questi tre?

xbubbax
17-12-2007, 14:31
il D è facile?

stgww
17-12-2007, 14:36
Visual Basic. Molto semplice se non ha molto tempo a disposizione. Di semplice conosco anche il Ruby, ma da quanto ne so io non è proprio così diffuso

xbubbax
17-12-2007, 14:37
Il D è semplice?
é simile al c++?

variabilepippo
17-12-2007, 14:41
il piu facile tra questi tre?


Dipende dai punti di vista, Delphi è una versione ad oggetti del Pascal, Python ha una sintassi molto pulita (anche se non tutti sono d'accordo) e VB.NET riprende alcuni elementi sintattici dal vecchio Visual Basic.

Di solito la sintassi di base si impara in poco tempo, soprattutto se si ha una buona conoscenza di altri linguaggi, il vero problema è rappresentato dallo studio delle funzionalità offerte dalle librerie standard (VCL per Delphi, BCL per VB.NET e Python Library per Python).

D è simile al C++, ma è poco utilizzato e poco supportato rispetto agli altri.

isAlreadyInUse
17-12-2007, 15:04
CLIPPER

cdimauro
17-12-2007, 20:57
Python, Delphi e VB.NET vanno bene?

il piu facile tra questi tre?
Assolutamente Python: vedrai che ti troverai divinamente. :)

vlacus
17-12-2007, 21:14
Python

se proprio devi imparare qualcosa meglio qualcosa di utile...

marko.fatto
17-12-2007, 21:34
Assolutamente Python: vedrai che ti troverai divinamente. :)

però python di certo non è il massimo come sistema di indentazione :stordita:

k0nt3
17-12-2007, 21:46
se vieni dal mondo c/c++ imho ti consiglio delphi (avrei detto java, ma hai detto di no). python è troppo diverso da quello che già conosci, quindi viene a meno il requisito di perderci poco tempo

vlacus
17-12-2007, 22:35
l'indendazione di python è questione di abitudine...

cdimauro
17-12-2007, 22:40
però python di certo non è il massimo come sistema di indentazione :stordita:
Al contrario: è il massimo perché ti obbliga ad avere i sorgenti perfettamente indentanti.

Niente alberi di natale, dente di sega o roba a caso, insomma.

Una cosa che, tra l'altro, oggi fanno gli editor per gli altri linguaggi automaticamente, perché quella di avere i sorgenti con una corretta indentazione è un'esigenza naturale per chi vuole leggerli poi.

Quindi il problema della forzatura dell'indentazione IMHO è un falso problema.

amedeoviscido
18-12-2007, 08:02
CLIPPER

Ah signor Richard lei si che è un esperto. Chissa quanti fogli elettronici potremmo generare con le nuove potenzialità offerte dalle interfacce grafiche...

isAlreadyInUse
18-12-2007, 08:07
:asd:

cionci
18-12-2007, 15:28
ho una buona conoscenza dei linguaggi C e C++

Mi nasce una domanda...pochi giorni fa hai fatto queste domande su C e C++ in sezione:

http://www.hwupgrade.it/forum/showthread.php?t=1575337
http://www.hwupgrade.it/forum/showthread.php?t=1627351
http://www.hwupgrade.it/forum/showthread.php?t=1592292

Definiresti questa conoscenza dei due linguaggi buona ?
Non per demoralizzarti, ma per dirti che rischi di mettere troppa carne al fuoco ed alla fine di non ottenere niente.
Io dopo 17 anni che lavoro con il C e dopo 12 anni di C++ mi sento di dire che conosco bene i due linguaggi, ma ti assicuro che ce n'è voluto di tempo e di righe di codice prima di avere una conoscenza buona di questi linguaggi, addirittura ancora non mi sento di dire che conosco perfettamente il C++.

Vinve_dlk
06-01-2008, 22:46
Non per demoralizzarti, ma per dirti che rischi di mettere troppa carne al fuoco ed alla fine di non ottenere niente.
Io dopo 17 anni che lavoro con il C e dopo 12 anni di C++ mi sento di dire che conosco bene i due linguaggi, ma ti assicuro che ce n'è voluto di tempo e di righe di codice prima di avere una conoscenza buona di questi linguaggi, addirittura ancora non mi sento di dire che conosco perfettamente il C++.

Grazie!
Io ho appena cominciato a studiare visual basic, e credo che smetterò subito.
17 anni sono veramente troppi...

cdimauro
07-01-2008, 06:28
Comincia con Python: non te ne pentirai. ;)

Vinve_dlk
08-01-2008, 21:29
Ciao,
ho dato un occhio in rete a Python ed al suo sito in itaòiano.
Sembra carino.
Io comunque non ci capisco davvero nulla di programmazione, ho iniziato proprio quest'anno, quindi pochi giorni.
Mi sono imbattuto in Visual Basic e mi sono fermato qua perchè ho trovato il tutorial Microsoft
http://msdn2.microsoft.com/it-it/library/2x7h1hfk(VS.80).aspx

A me interesserebbe creare un'applicazione per il controllo dei PLC tramite seriale e rete; non so nemmeno se ci riuscirò, ne comunque so quanto sono complete le guide Microsoft.
E' tutto avvolto in una nuvola di fumo!

cdimauro
09-01-2008, 07:39
Se devi controllarlo da PC, puoi benissimo usare Python come linguaggio e utilizzare una delle librerie per il controllo della porta seriale e/o parallela.

Se invece l'applicazione deve girare all'interno di un microcontrollore, ti devi orientare verso C, C++ o, se proprio necessario, sull'assembly.

Per imparare a programmare (ma non solo!), invece, Python è la scelta migliore.

Il tutto IMHO, ovviamente. ;)

Vinve_dlk
09-01-2008, 22:46
Ciao cdimauro, apprezzo molto i tuoi consigli.
Credo che passerò a Python, appena finirò di "studiare" le basi di VB.
Sul sito Python trovo tutto quanto mi serve per imparare o devo cercare altrove?

Grazie
Ciao

cionci
10-01-2008, 09:02
Ma stai studiando VB.Net o VB6 ? Se si tratta del secondo cestina tutto :D
Se si tratta del primo, allora va benissimo per fare quello che vuoi fare, al pari di Python, anzi imho meglio.

cdimauro
10-01-2008, 13:40
Ciao cdimauro, apprezzo molto i tuoi consigli.
Credo che passerò a Python, appena finirò di "studiare" le basi di VB.
Sul sito Python trovo tutto quanto mi serve per imparare o devo cercare altrove?

Grazie
Ciao
Se stai iniziando a programmare lascia perdere VB e orientati su Python, che è un linguaggio decisamente più semplice e facile da imparare.

Sul sito trovi tutto, ma ti risparmio la fatica.
Ecco qui http://www.python.it/doc/Howtothink/Howtothink-html-it/index.htm un libro per impararlo (in italiano) che è fatto veramente molto bene.
Un altro è questo http://it.diveintopython.org/

Ovviamente devi scaricarti l'eseguibile da qui http://www.python.org/download/

Se poi ti serve un ambiente comodo per lavorare in Python, io uso SPE http://pythonide.blogspot.com/ (ma ricordati che prima di installarlo ti serve installare wxPython: http://www.wxpython.org/download.php ).

Se hai altri dubbi o ti serve conoscere qualche altra cosa, chiedi pure. :)

Vinve_dlk
10-01-2008, 18:10
Ma stai studiando VB.Net o VB6 ? Se si tratta del secondo cestina tutto :D
Se si tratta del primo, allora va benissimo per fare quello che vuoi fare, al pari di Python, anzi imho meglio.

Naturalmente VB.Net.
Anzi, VB Express Edition... per i profani come me!
Appena concludo il capitolo di studio di VB passo a fare un giro su Python.

Grazie a tutti
Ciao

cionci
10-01-2008, 19:48
Naturalmente VB.Net.
Anzi, VB Express Edition... per i profani come me!
Appena concludo il capitolo di studio di VB passo a fare un giro su Python.

Guarda...VB.Net va benissimo per quello che vuoi fare. Imho meglio C# o Java di Python...Python è proprio l'ultimo linguaggio che io imparerei in questo momento.

cdimauro
10-01-2008, 20:38
La penso in maniera diametralmente opposta. :p

banryu79
10-01-2008, 21:14
Python è proprio l'ultimo linguaggio che io imparerei in questo momento.

Scusa Cionci, perchè? Sono curioso, e non conosco Python.

cdimauro
11-01-2008, 07:25
Faresti bene a conoscerlo: è un linguaggio stupendo, completo (nel senso che puoi utilizzare qualunque paradigma di programmazione, anche la metaprogrammazione), e ha una sintassi semplice, elegante e leggibile. :)

Dimenticavo: a livello di produttività (tempi di sviluppo) ha pochi eguali. ;)

cionci
11-01-2008, 07:49
Scusa Cionci, perchè? Sono curioso, e non conosco Python.
Perché non mi piace...questione di gusti: il codice imho è illeggibile appena si sfruttano le funzioni avanzate del linguaggio, permette di mischiare programmazione procedurale e ad oggetti (cosa che odio anche in altri linguaggi), non ha un framework completo come quelli di Java e .Net, indentazione forzata che da un punto di vista permette di creare codice più ordinato, ma che non ti permette di vedere bene dove inizia e dove finisce un blocco (care mie belle parentesi).

Quello che mi domandavo è perché dover far imparare un altro linguaggio a Vinve_dlk quando quello che sta studiando è più che sufficiente a risolvere il problema ;) Ad esempio se proprio dovesse scegliere un linguaggio migliore, con una sintassi più moderna, andrei su C# se non altro non butterebbe via tutto quello che ha studiato su .Net.

banryu79
11-01-2008, 07:57
Quello che mi domandavo è perché dover far imparare un altro linguaggio a Vinve_dlk quando quello che sta studiando è più che sufficiente a risolvere il problema ;) Ad esempio se proprio dovesse scegliere un linguaggio migliore, con una sintassi più moderna, andrei su C# se non altro non butterebbe via tutto quello che ha studiato su .Net.

Sì, la penso anch'io così, meglio sfruttare le conoscenze che già si possiedono per utilizzarle come base d'espansione nell'acquisizione di nuove.


OT: circa il discorso Python; l'identazione forzata del linguaggio avrà anche i suoi pro in fatto di standardizzazione del codice prodotto, ma è una cosa che a pelle non mi piace...
Cmq ci darò un'occhiata, magari scopro che mi trovo pure bene.

fek
11-01-2008, 10:49
Perché non mi piace...questione di gusti: il codice imho è illeggibile appena si sfruttano le funzioni avanzate del linguaggio, permette di mischiare programmazione procedurale e ad oggetti (cosa che odio anche in altri linguaggi), non ha un framework completo come quelli di Java e .Net, indentazione forzata che da un punto di vista permette di creare codice più ordinato, ma che non ti permette di vedere bene dove inizia e dove finisce un blocco (care mie belle parentesi).

Anche tu sei fortemente C-like come me eh? Se non vedo una parentesi graffa sto male. Anche a me Python sta antipatico a pelle ma...


Quello che mi domandavo è perché dover far imparare un altro linguaggio a Vinve_dlk quando quello che sta studiando è più che sufficiente a risolvere il problema ;) Ad esempio se proprio dovesse scegliere un linguaggio migliore, con una sintassi più moderna, andrei su C# se non altro non butterebbe via tutto quello che ha studiato su .Net.

... e' uno strumento e come tale dobbiamo impararlo anche se non ci piace, perche' piu' strumenti abbiamo a disposizione migliori sono le scelte che possiamo fare ;)

Se conosci Java, C# e' di fatto quasi automatico. Puoi metterti a produrre codice C# praticamente dieci minuti dopo aver lanciato l'ambiente di sviluppo.

Nicolas9000
11-01-2008, 10:59
Se poi ti serve un ambiente comodo per lavorare in Python, io uso SPE http://pythonide.blogspot.com/
Potresti mettere il link preciso del download oppure uno alternativo? Grazie.

cionci
11-01-2008, 10:59
... e' uno strumento e come tale dobbiamo impararlo anche se non ci piace, perche' piu' strumenti abbiamo a disposizione migliori sono le scelte che possiamo fare ;)
Pienamente d'accordo, ma non vedo i presupposti per inserirlo nel contesto richiesto ;)

cdimauro
11-01-2008, 12:53
Potresti mettere il link preciso del download oppure uno alternativo? Grazie.
Sono andato a cercare e il sito è cambiato: permette di scaricare soltanto il sorgente (ci sono anche le istruzioni nel link che ho postato).
D'altra parte SPE è realizzato interamente in Python, per cui sarebbe sufficiente.

Se usi Windows contattami via e-mail, che ti spedisco il setup (di circa 1MB) di SPE 0.8.3c per Python 2.5. ;)

cdimauro
11-01-2008, 13:17
Perché non mi piace...questione di gusti: il codice imho è illeggibile appena si sfruttano le funzioni avanzate del linguaggio, permette di mischiare programmazione procedurale e ad oggetti (cosa che odio anche in altri linguaggi), non ha un framework completo come quelli di Java e .Net, indentazione forzata che da un punto di vista permette di creare codice più ordinato, ma che non ti permette di vedere bene dove inizia e dove finisce un blocco (care mie belle parentesi).

OT: circa il discorso Python; l'identazione forzata del linguaggio avrà anche i suoi pro in fatto di standardizzazione del codice prodotto, ma è una cosa che a pelle non mi piace...
Cmq ci darò un'occhiata, magari scopro che mi trovo pure bene.

Anche tu sei fortemente C-like come me eh? Se non vedo una parentesi graffa sto male. Anche a me Python sta antipatico a pelle ma...

... e' uno strumento e come tale dobbiamo impararlo anche se non ci piace, perche' piu' strumenti abbiamo a disposizione migliori sono le scelte che possiamo fare ;)
Infatti penso che alla fine, come per tutte le cose cose, sia sempre una questione di gusti: la sintassi di linguaggio piace o meno a seconda del background, dell'esperienza che ognuno s'è fatto.

Io, ad esempio, sono fortemente Pascal-like: alle parentesi graffe preferisco di gran lunga l'accoppiata begin/end; oppure al posto dell'operatore di autoincremento preferisco la funzione Inc().
Se comincio a vedere parentesi e simboli, mi viene l'orticaria. :| Non ci posso fare niente, è più forte di me. -_-

Con Python non ci sono né parentesi né identificatori per delimitare blocchi o espressioni, e mi trovo ugualmente bene.
Anzi, mi trovo ottimamente, perché tanto ho sempre tenuto i sorgenti indentati "correttamente" (secondo il mio personalissimo stile).

D'altra parte scrivere codice indentato è un'esigenza che ha ogni programmatore, se ci tiene a "curare" i sorgenti e a renderli di più semplice fruizione e manutenzione (magari dopo tempo).

Oggi gli editor lo fanno anche automaticamente, così non ci si pone nemmeno il problema. Con Python tutto ciò diventa necessario (ma IDE come SPE segnalano immediatamente la non corretta indentazione: il pericolo di sbagliare c'è solo per chi usa ruderi come vi, o notepad, giusto per citarne due più diffusi).

Sulla leggibilità, invece, si potrebbe discutere ad libdidum: il codice poco leggibile lo posso generare con qualunque linguaggio di programmazione.

Con Java, ad esempio:

Map<Class<? extends Foo<?>>, List<Bar<? extends Foo<?>>>> map = new HashMap<Class<? extends Foo<?>>, List<Bar<? extends Foo<?>>>>()

Se per voi è leggibile una cosa del genere, cambio mestiere. :p

E potrei fare altri esempi in C++, Perl, ecc.

Al solito, i costrutti più "avanzati" bisogna usarli bene se il codice lo vogliamo mantenere anche leggibile (e in passato mi rendo conto di aver postato del codice che agli occhi degli altri era tutt'altro che leggibile).

A parte questo, credo che se l'obiettivo a cui teniamo particolarmente è quello della leggibilità, pochi linguaggi riescono a competere con Python, che ha fatto dell'autoevidenza uno dei suoi cavalli di battaglia.

Altro fattore da non sottovalutare è la produttività, che spesso viene ignorata quando si deve scegliere un linguaggio per sviluppare un'applicazione (che non ha particolari vincoli). E anche qui ci sarebbe non poco da dire... :p

Per il resto, concordo con Fran: Python, come gli altri linguaggi, è uno strumento. Coi suoi pregi e i suoi difetti (la pietra filosofale nel campo dell'informatica non l'hanno ancora inventata), sicuramente, e valutare se usarlo o meno, a parte la questione dei gusti personali, rimane a carico nostro e della professionalità che dimostriamo quando lavoriamo. :)