PDA

View Full Version : [generale] Consiglio linguaggi dopo C e Pascal


VirtualFlyer
04-02-2010, 13:03
Ho studiato un po' di Pascal dal libro Introduzione al Pascal fino a quando non mi è stato regalato Informatica: Programmazione ed ho iniziato con il C, solo che leggendo un thread ho visto che sono tutti e due linguaggi superati e inutili. Vorrei sapere se mi consigliate di proseguire comunque con questi o di comprare un altro libro e cambiare linguaggio, per favore no ebook perchè li dovrei stampare.

cdimauro
04-02-2010, 13:47
Sul "superati" e "inutili" ci sarebbe di che discutere, comunque come prossimo linguaggio ti consiglio Python (vedi anche firma per un libro gratuito e in italiano).

VirtualFlyer
04-02-2010, 13:54
lo so, devo aver letto 2000 tuoi messaggi su phyton :D però come dicevo cercavo un libro vero, poi mi sembrava che fossi tu che dicevi a quel ragazzo che il C ormai era inutile e così via.

PGI-Bis
04-02-2010, 13:54
Non sono superati e inutili.

Consiglio Scala (http://www.scala-lang.org/)(e mo' vado anche a riempire il formulario per il thread sui linguaggi).

VirtualFlyer
04-02-2010, 14:06
Non sono superati e inutili.

Consiglio Scala (http://www.scala-lang.org/)(e mo' vado anche a riempire il formulario per il thread sui linguaggi).

che linguaggio è?

PGI-Bis
04-02-2010, 14:56
Potrei dire "una specie di Java". La premessa è che è un linguaggio per la piattaforma Java, cioè interagisce con tutto il parco librerie disponibile per la piattaforma Java (dalla grafica 3D ai database passando per i web server). Da questo punto di vista è esattamente come se uno stesse usando Java.

Non è una faccenda da trascurare perchè se uno sceglie un linguaggio che non è nella top 10 spesso si trova poi a corto di librerie con cui farci qualcosa. Qui ce ne sono pure troppe.

E' supportato (anche se non in modo sfavillante) da Eclipse, Netbeans e IntelliJ quindi ha volendo ha un IDE.

Tutto il carrozzone è indipendente dall'OS: sia che usi Windows 7, Vista, Xp, un Linux, Solaris, BSD o Mac, puoi usare lo stesso IDE, lo stesso compilatore, le stesse librerie.

E' un linguaggio orientato agli oggetti E funzionale E procedurale. A differenza di altri papocchi (leggi C#) Scala è progettato per essere orientato agli oggetti e funzionale e procedurale. Ha i generici come Java ma essendo progettato per averli ce li ha in un modo diverso, verrebbe da dire quasi comprensibile (nota il quasi :D).

Dispone di manuali degni di questo nome (ad esempio Programming in Scala di Odersky-Spoon-Venners).

Quando ti troverai a dover usare una libreria non standard, sarà una libreria Java e quindi una libreria documentata.

E' un linguaggio "difficile"? Ovviamente "facile" o "difficile" sono questioni personali. E' difficile nella misura in cui, se si vuole, permette un'elevata libertà concettuale. Puoi scrivere un programma come faresti in Basic o scriverlo come faresti in Haskell ma il "divertimento" sta nel provare a scriverlo prendendo ciò che dei due modi ti sembra migliore.

Contro. Dubito fortemente che sarà mai usato in ambito professionale in Italia ma è cosa nota che le software house nostrane tendano ad essere piuttosto conservative.

Comunque puoi farti un'idea leggendo questo breve tutorial (anche se è pensato per chi viene da Java):

http://www.scala-lang.org/docu/files/ScalaTutorial-it_IT.pdf

VirtualFlyer
04-02-2010, 15:28
Potrei dire "una specie di Java". La premessa è che è un linguaggio per la piattaforma Java, cioè interagisce con tutto il parco librerie disponibile per la piattaforma Java (dalla grafica 3D ai database passando per i web server). Da questo punto di vista è esattamente come se uno stesse usando Java.

Non è una faccenda da trascurare perchè se uno sceglie un linguaggio che non è nella top 10 spesso si trova poi a corto di librerie con cui farci qualcosa. Qui ce ne sono pure troppe.

E' supportato (anche se non in modo sfavillante) da Eclipse, Netbeans e IntelliJ quindi ha volendo ha un IDE.

Tutto il carrozzone è indipendente dall'OS: sia che usi Windows 7, Vista, Xp, un Linux, Solaris, BSD o Mac, puoi usare lo stesso IDE, lo stesso compilatore, le stesse librerie.

E' un linguaggio orientato agli oggetti E funzionale E procedurale. A differenza di altri papocchi (leggi C#) Scala è progettato per essere orientato agli oggetti e funzionale e procedurale. Ha i generici come Java ma essendo progettato per averli ce li ha in un modo diverso, verrebbe da dire quasi comprensibile (nota il quasi :D).

Dispone di manuali degni di questo nome (ad esempio Programming in Scala di Odersky-Spoon-Venners).

Quando ti troverai a dover usare una libreria non standard, sarà una libreria Java e quindi una libreria documentata.

E' un linguaggio "difficile"? Ovviamente "facile" o "difficile" sono questioni personali. E' difficile nella misura in cui, se si vuole, permette un'elevata libertà concettuale. Puoi scrivere un programma come faresti in Basic o scriverlo come faresti in Haskell ma il "divertimento" sta nel provare a scriverlo prendendo ciò che dei due modi ti sembra migliore.

Contro. Dubito fortemente che sarà mai usato in ambito professionale in Italia ma è cosa nota che le software house nostrane tendano ad essere piuttosto conservative.

Comunque puoi farti un'idea leggendo questo breve tutorial (anche se è pensato per chi viene da Java):

http://www.scala-lang.org/docu/files/ScalaTutorial-it_IT.pdf
Come mai nessuno consiglia mai linguaggi conosciuti?:D

altre proposte? libri?

cionci
04-02-2010, 17:51
Sicuramente Java.

VirtualFlyer
04-02-2010, 18:41
Sicuramente Java.

Consigli sui libri da usare? il 3d apposta è piuttosto vecchio... Secondo te il C e il Pascal li dovrei lasciar perdere o andare avanti comunque?

cionci
04-02-2010, 19:13
Secondo te il C e il Pascal li dovrei lasciar perdere o andare avanti comunque?
Credevo che tu fossi arrivato ad un certo livello su quei linguaggi. Secondo me se sei in ballo, finisci di ballare ;)

VirtualFlyer
04-02-2010, 19:20
Credevo che tu fossi arrivato ad un certo livello su quei linguaggi. Secondo me se sei in ballo, finisci di ballare ;)

Sono agli array impaccati in pascal e ancora prima in C.
Vado avanti solo con il Pascal o anche con il c?

cionci
04-02-2010, 19:23
Sono agli arrei impaccati in pascal e ancora prima in C.
Vado avanti solo con il Pascal o anche con il c?
Allora lascia perdere, sei davvero ancora agli inizi. Secondo me puoi iniziare o da Python o da Java.
Comunque quei linguaggi non sono inutili. In particolare il C ha una comunità di sviluppatori veramente ampia ed è richiestissimo in ambito lavorativo. E' solo molto più difficile da imparare rispetto a Java e Python.

VirtualFlyer
04-02-2010, 19:50
Allora lascia perdere, sei davvero ancora agli inizi. Secondo me puoi iniziare o da Python o da Java.
Comunque quei linguaggi non sono inutili. In particolare il C ha una comunità di sviluppatori veramente ampia ed è richiestissimo in ambito lavorativo. E' solo molto più difficile da imparare rispetto a Java e Python.

Come libro?

Ditemelo se scrivo arrei!!!!:D :D

cdimauro
05-02-2010, 05:31
lo so, devo aver letto 2000 tuoi messaggi su phyton :D però come dicevo cercavo un libro vero, poi mi sembrava che fossi tu che dicevi a quel ragazzo che il C ormai era inutile e così via.
Perché purtroppo il C è usatissimo nei microcontroller e per il software di sistema, e al momento, per quanto vetusto, non c'è un linguaggio che possa prenderne il posto in tutto e per tutto (ci sarebbero il C++ e D, ma finora non hanno sfondato in questo campo, specialmente quest'ultimo che è quasi sconosciuto).
Come libro?
Al momento quello che ho in firma.
Ditemelo se scrivo arrei!!!!:D :D
Non si scrive arrei! :D

VirtualFlyer
05-02-2010, 06:19
Al momento quello che ho in firma.



L'avevo già guardato ma non ce n'è una versione stampata! Meglio python o java?

cdimauro
05-02-2010, 06:51
C'è la versione PDF (http://www.python.it/doc/Howtothink/HowToThink_ITA.pdf) che puoi stampare tu e fartela rilegare, oppure la porti direttamente in copisteria e fanno tutto loro. Non ti costerà molto.

Ovviamente io ti consiglio Python, che è di gran lunga più semplice da imparare.

cionci
05-02-2010, 07:33
Ovviamente io ti consiglio Python, che è di gran lunga più semplice da imparare.
Sul di gran lunga non sarei d'accordo, ma sicuramente è più semplice. E visto che a quanto sembra hai avuto qualche difficoltà iniziale sugli altri, allora concordo anche io su Python.

VirtualFlyer
05-02-2010, 12:16
Sul di gran lunga non sarei d'accordo, ma sicuramente è più semplice. E visto che a quanto sembra hai avuto qualche difficoltà iniziale sugli altri, allora concordo anche io su Python.

Perchè qualche diffficoltà iniziale? Ho iniziato a Dicembre e però non ho avuto moltissimo tempo, non mi sembravano difficili, se è quello che intendi. Imparare python com'è? Non vorrei prendere un altro libro "inutile".
Curiosità: in python posso assegnare ad una variabile char il contenuto di un txt che contiene solo un carattere?

cionci
05-02-2010, 12:31
Curiosità: in python posso assegnare ad una variabile char il contenuto di un txt che contiene solo un carattere?
Su Python non esistono variabili char ;)

Io credo che tu ti fossi fermato ed avessi iniziato un altro linguaggio. Perché volevi studiare due linguaggi contemporaneamente ? Mi sembra deleterio.
Fra i due quello più semplice è sicuramente Pascal, ma C è quello più usato.
Se non ti sei trovato in difficoltà allora vai avanti con un solo dei due.

VirtualFlyer
05-02-2010, 13:10
Su Python non esistono variabili char ;)

Io credo che tu ti fossi fermato ed avessi iniziato un altro linguaggio. Perché volevi studiare due linguaggi contemporaneamente ? Mi sembra deleterio.
Fra i due quello più semplice è sicuramente Pascal, ma C è quello più usato.
Se non ti sei trovato in difficoltà allora vai avanti con un solo dei due.

Praticamente volevo studiare qualcosa di utile e quando ho trovato quello sul C mi sembrava meglio. Solo che se dite che anche quello non è il massimo e perdipiù è difficile, passo a python senza troppi problemi, poi magari, più avanti, studierò anche il C.
Per più avanti si intende un bel po' più avanti!
Ditemi voi! Python non mi sembra male, ma se C, Java, C++, C# o Pascal o qualunque altra cosa è meglio...

cdimauro
05-02-2010, 14:16
Perchè qualche diffficoltà iniziale? Ho iniziato a Dicembre e però non ho avuto moltissimo tempo, non mi sembravano difficili, se è quello che intendi. Imparare python com'è? Non vorrei prendere un altro libro "inutile".
Python è estremamente semplice, come ho già detto prima.
Curiosità: in python posso assegnare ad una variabile char il contenuto di un txt che contiene solo un carattere?
Non ci sono i char, ma soltanto stringhe.
Praticamente volevo studiare qualcosa di utile e quando ho trovato quello sul C mi sembrava meglio. Solo che se dite che anche quello non è il massimo e perdipiù è difficile, passo a python senza troppi problemi,
Ma non c'è proprio paragone, guarda. :D
poi magari, più avanti, studierò anche il C.
Esatto.
Per più avanti si intende un bel po' più avanti!
Ditemi voi! Python non mi sembra male, ma se C, Java, C++, C# o Pascal o qualunque altra cosa è meglio...
Vuoi un consiglio? Prendi il link su quel libro che t'ho fornito, e dagli una lettura veloce, visto che hai già studiacchiato qualcosa di C e Pascal.

Poi giudica tu se Python ti sembrerà facile oppure no. :cool:

VirtualFlyer
05-02-2010, 14:32
Python è estremamente semplice, come ho già detto prima.

Non ci sono i char, ma soltanto stringhe.

Ma non c'è proprio paragone, guarda. :D

Esatto.

Vuoi un consiglio? Prendi il link su quel libro che t'ho fornito, e dagli una lettura veloce, visto che hai già studiacchiato qualcosa di C e Pascal.

Poi giudica tu se Python ti sembrerà facile oppure no. :cool:

per "Imparare Python" intendevo il libro.

cionci
05-02-2010, 15:29
Poi giudica tu se Python ti sembrerà facile oppure no. :cool:
E' una conclusione abbastanza ovvia :D

cionci
05-02-2010, 15:33
Ditemi voi! Python non mi sembra male, ma se C, Java, C++, C# o Pascal o qualunque altra cosa è meglio...
Python, Java, C#, C++, C e sei a posto ;) Anche inq uesto ordine.

VirtualFlyer
05-02-2010, 16:32
Python, Java, C#, C++, C e sei a posto ;) Anche inq uesto ordine.

benissimo, povero pascal! :D
Comunque ora sto guardando il libro di cdimauro, effettivamente è molto più semplice e "intelligente"

cdimauro
05-02-2010, 16:33
per "Imparare Python" intendevo il libro.
Oops, scusa. Per iniziare va bene quel libro.
E' una conclusione abbastanza ovvia :D
Allora consigliamo di default come linguaggio per iniziare. Che ne dici? :)
benissimo, povero pascal! :D
Dopo Python lo metterei come primo linguaggio per imparare.
Comunque ora sto guardando il libro di cdimauro, effettivamente è molto più semplice e "intelligente"
:cool:

VirtualFlyer
05-02-2010, 16:59
Oops, scusa. Per iniziare va bene quel libro.

:cool:

Ok,penso che leggerò il tuo libro e poi magari passerò all'altro che credo sia più approfondito e avanzato, almento non spendo 50€ per niente! Sempre che per voi vada bene1:D

cdimauro
05-02-2010, 21:02
Deve andare bene a te, che devi imparare. Se comincerai a vedere i frutti, a toccare con mano i progressi, allora vuol dire che il nostro e il tuo tempo non sono stati buttati inutilmente. ;)

anonimizzato
05-02-2010, 21:12
Java, C#, Python, Ruby.

Io ho iniziato a studiare Ruby poco più di un anno fa ed è veramente stupendo ma dal punto di vista lavorativo i primi due che ho elecanto sono in assoluto i più richiesti.

Se in ambito web invece direi php, asp.net, jsp, ruby (ror).

Ciao.

Utone
05-02-2010, 22:05
Consiglio anch'io python.. confronto al C è un "gioco"...:fagiano:

Il libro che consiglia cdimauro e quello che il prof di informatica ci ha fatto stampare.. :D

drman
06-03-2012, 14:07
Salve,
riesumo questa discussione per non aprirne un'altra dal contenuto molto simile.

Ho raggiunto una discreta conoscenza del C ed ora vorrei passare alla programmazione ad oggetti.

In sostanza sono indeciso tra il C++ e il Java. La scelta è ardua perchè entrambi i sostenitori dell'uno o dell'altro cercano di portare come è giusto che sia, acqua al proprio mulino...attraverso motivazioni che a me sembrano in tutti i due casi valide.

Voi che dite?

banryu79
06-03-2012, 16:33
In sostanza sono indeciso tra il C++ e il Java. La scelta è ardua perchè entrambi i sostenitori dell'uno o dell'altro cercano di portare come è giusto che sia, acqua al proprio mulino...attraverso motivazioni che a me sembrano in tutti i due casi valide.

Voi che dite?
Lancia una moneta.
Ti risparmierai le prossime 10 pagine di flame e rant che non ti aiuteranno in nessun modo a capire qualcosa di utile.

Comunque se sei specificamente interessato al paradigma OO puro ti consiglio SmallTalk: almeno giusto per il tempo di farci un minimo la mano e assorbire i concetti (trovati un buon tutorial e smazzatelo tutto per benino, poi si vedrà).

ingframin
06-03-2012, 19:45
Lancia una moneta.
Ti risparmierai le prossime 10 pagine di flame e rant che non ti aiuteranno in nessun modo a capire qualcosa di utile.

Comunque se sei specificamente interessato al paradigma OO puro ti consiglio SmallTalk: almeno giusto per il tempo di farci un minimo la mano e assorbire i concetti (trovati un buon tutorial e smazzatelo tutto per benino, poi si vedrà).

Concordo con la moneta ma non concordo con SmallTalk, non per altro ma è un casino installare un IDE/compilatore, soprattutto per chi è alle prime armi.
Inoltre SmallTalk non è molto richiesto nel mondo del lavoro, non dico che è tempo sprecato, però...
Mi fa specie che ancora nessuno abbia proposto Haskell o F# :fiufiu:

banryu79
07-03-2012, 10:41
Concordo con la moneta ma non concordo con SmallTalk, non per altro ma è un casino installare un IDE/compilatore, soprattutto per chi è alle prime armi.
Inoltre SmallTalk non è molto richiesto nel mondo del lavoro, non dico che è tempo sprecato, però...
Mi fa specie che ancora nessuno abbia proposto Haskell o F# :fiufiu:
Guarda, prendi Squeak (http://en.wikipedia.org/wiki/Squeak) e hai tutto in mano: in pratica è una piattaforma con il suo ambiente, difficoltà e tempi di installazione pari a zero. Se non ricordo male viene distribuito con classico tutorialone a corredo per chi parte a programmare da zero, più comodo di così :rolleyes:

L'ho consiglio presumendo che l'autore del thread in questa fase:
- se ne frega altamente dell'aspetto "modo del lavoro" e linguaggi "paraculo" obbligatori da usare;
- è fortemente interessato al paradigma OO puro

Comunque può sempre lanciare una moneta :D