PDA

View Full Version : RIcominciare a programmare


Allure
02-08-2009, 21:16
Spero di non annoiarvi con il solito thread trito e ritrito su quale linguaggio di programmazione iniziare, ma la mia situazione è un po' particolare. Ho studiato all'itis informatico programmazione, passione poi lasciata per provare altre strade che non mi hanno soddisfatto, e negli ultimi mesi si è riaccesa in me la curiosità di riprendere a "programmare". Le basi e la logica credo di averle, alle superiori ho studiato C++ con qualche spruzzata di C, Html, PHP (questi due li sto riprendendo) e DB Sql. Visto che è da anni che non tocco un libro, attualmente, anche per un futuro contesto lavorativo, da cosa mi consigliereste di ripartire? Sarebbe più opportuno riprendere dal C o posso cimentarmi in linguaggi attualmente più richiesti (vedo che vanno molto JAVA e Python)?

astorcas
02-08-2009, 21:26
Spero di non annoiarvi con il solito thread trito e ritrito su quale linguaggio di programmazione iniziare, ma la mia situazione è un po' particolare. Ho studiato all'itis informatico programmazione, passione poi lasciata per provare altre strade che non mi hanno soddisfatto, e negli ultimi mesi si è riaccesa in me la curiosità di riprendere a "programmare". Le basi e la logica credo di averle, alle superiori ho studiato C++ con qualche spruzzata di C, Html, PHP (questi due li sto riprendendo) e DB Sql. Visto che è da anni che non tocco un libro, attualmente, anche per un futuro contesto lavorativo, da cosa mi consigliereste di ripartire? Sarebbe più opportuno riprendere dal C o posso cimentarmi in linguaggi attualmente più richiesti (vedo che vanno molto JAVA e Python)?

a mio avviso puoi dedicarti direttamente a linguaggi come Java (o C#) che sono C-like ma anche Python che, pur discostandosi parecchio da C, ha una curva d'apprendimento molto bassa.

cdimauro
02-08-2009, 21:27
Una buona infarinatura ce l'hai già, per cui non sei a digiuno e parti avvantaggiato.

Il mio consiglio è il solito: (ri)comincia con Python, che è un linguaggio con una sintassi semplice, elegante, ti offre un bel po' di comodi costrutti sintattici, e che ti darà molte soddisfazioni. ;)

Allure
03-08-2009, 12:08
Bene, quindi il C è meglio accantonarlo momentaneamente? Per casa ho trovato il seguente libro: http://www.catalogo.mcgraw-hill.it/catLibro.asp?item_id=666 è valido o su internet si trova di meglio?

banryu79
03-08-2009, 12:21
Bene, quindi il C è meglio accantonarlo momentaneamente? Per casa ho trovato il seguente libro: http://www.catalogo.mcgraw-hill.it/catLibro.asp?item_id=666 è valido o su internet si trova di meglio?
In genere le risorse reperibili online raramente sono di qualità migliore di un buon libro... però quel libro in particolare io non lo conosco :D

Per cominciare a conoscere il linguaggio può anche andare bene.

Ho visto che c'è un capito sui thread e in generale sulla programmazione concorrente, sappi che senza una chiara introduzione al "memory model" di Java non si arriva ad avere nemmeno una conoscenza sufficiente di quest'aspetto, ma può benissimo essere rimandata nel futuro, come aspetto più avanzato da approfondire.

Quando arrivi alla fine del libro, al capito che introduce Swing (framework per scrivere interfacce grafiche), puoi integrarlo con questo eccellente tutorial introduttivo (http://www.hwupgrade.it/forum/showthread.php?t=2005654), è una manna.

Quando avrai poi bisogno di affrontare aspetti specifici e approfondimenti, le due risorse di base fondamentali (secondo me) disponibili online, sono i javadoc del JDK della Sun, e il relativo compendium di tutorial:
- javadoc JDK 1.6 (http://java.sun.com/javase/6/docs/api/overview-summary.html)
- The "Really Big Index" (http://java.sun.com/docs/books/tutorial/reallybigindex.html)

Tutto questo se intendi programmare in Java, naturalmente.
Io fossi in te e ne avessi il tempo non mi precluderei la possibilità di provare sia Java che Python, insieme.
So che è più impegnativo e time-consuming, ma almeno ti puoi fare un'idea di massima.

Una cosa ottima di Java, è il JDK standard che è la libreria/framework a disposizione: è veramente sterminata e copre di tutto; inoltre quello che non c'è nel JDK standard di solito si trova in giro sottoforma di librerie di terze parti.
L'altra cosa è l'ottima documentazione del JDK e i tutorial on line della Sun: secondo me non ha prezzo, specie per chi inizia ma anche per chi è più esperto, avere una facile accessibilità alla documentazione del linguaggio/tecnologie che usa.

cdimauro
03-08-2009, 13:11
Bene, quindi il C è meglio accantonarlo momentaneamente?
Direi di sì, a meno che la tua attuale aspirazione non sia sviluppare driver o componenti di sistema. :p

Ecco, se ci dicessi su quale ramo avresti intenzione di dedicarti, sarebbe utile per cercare di darti un'indicazione più specifica (cioé sempre Python :D).

Allure
03-08-2009, 20:48
Quando arrivi alla fine del libro, al capito che introduce Swing (framework per scrivere interfacce grafiche), puoi integrarlo con questo eccellente tutorial introduttivo (http://www.hwupgrade.it/forum/showthread.php?t=2005654), è una manna.

Quando avrai poi bisogno di affrontare aspetti specifici e approfondimenti, le due risorse di base fondamentali (secondo me) disponibili online, sono i javadoc del JDK della Sun, e il relativo compendium di tutorial:
- javadoc JDK 1.6 (http://java.sun.com/javase/6/docs/api/overview-summary.html)
- The "Really Big Index" (http://java.sun.com/docs/books/tutorial/reallybigindex.html)

Tutto questo se intendi programmare in Java, naturalmente.
Io fossi in te e ne avessi il tempo non mi precluderei la possibilità di provare sia Java che Python, insieme.
So che è più impegnativo e time-consuming, ma almeno ti puoi fare un'idea di massima.


Grazie per i consigli, effettivamente ci avevo pensato di provare sia Java che Python in parallelo, ma non vorrei che più andando avanti, più mi riuscirà difficile scindere i linguaggi.



Direi di sì, a meno che la tua attuale aspirazione non sia sviluppare driver o componenti di sistema.

Ecco, se ci dicessi su quale ramo avresti intenzione di dedicarti, sarebbe utile per cercare di darti un'indicazione più specifica (cioé sempre Python ).

Credo che faresti prima a spiegarmi brevemente a quali rami della programmazione portano :fagiano:

morskott
03-08-2009, 22:59
Direi di sì, a meno che la tua attuale aspirazione non sia sviluppare driver o componenti di sistema. :p

Ecco, se ci dicessi su quale ramo avresti intenzione di dedicarti, sarebbe utile per cercare di darti un'indicazione più specifica (cioé sempre Python :D).

Ma per sviluppare driver non c'era il C++??? :p :p :D :D

Scherzi a parte non posso fare altro che consigliare java, ne sono innammorato come cdi è innammorato del pitone. (Detta così potrebbe parere brutto però non c'è niente di doppio senso!!!)

In pratica documentazione ai massimi livelli (JavaDOC sarà la tua bibbia) e tutorial dalla sun di ottimo livello, librerie vastissime, e quelle che non son originali (dalla JDK) ci son un sacco di progetti per internet.

Poi sebben delle volte ha delle lievi mancanze (leggi che non puoi passare una funzione come argomento di un'altra (delegates di C# per intendersi)) le supplisce con una potenza espressiva notevole, permettendoti di concentrarti su quel che devi fare piu che sul come fare quel che vuoi fare. (Frase contorta, ma so stanco!!!)

Come seconda scelta buttati sul C#.

_Claudio
03-08-2009, 23:28
Potrei schierarmi anche io e consigliarti di continuare su C++ perchè rispetto a Java è molto più potente e rispetto a C# lo usi ovunque, insomma sta più vicino al metallo e fa un po' da riferimento in quanto a costrutti per gli altri linguaggi.

Ma la cosa migliore che posso fare è dirti di trovare qualcosa da fare (e io un paio di lavoretti li avrei da passarti :D) e scegliere di conseguenza il linguaggio, magari consultando il forum.

PGI-Bis
04-08-2009, 00:23
Bene, quindi il C è meglio accantonarlo momentaneamente? Per casa ho trovato il seguente libro: http://www.catalogo.mcgraw-hill.it/catLibro.asp?item_id=666 è valido o su internet si trova di meglio?

Parmi un po' vecchiotto ma all'inizio tutto fa brodo.

Se l'intenzione è quella di trovare un lavoro buttati sulla programmazione server-side - Java EE, ABAP, PHP, ASP, XML, HTML, SQL vanno sempre bene, più i framework, i framework, i framework.

Se l'intenzione è quella di divertirsi prendi tutto quello che ti servirebbe per lavorare, lo chiudi in un sacco, lo butti in una buca in giardino, copri col sale e se hai cane facci fare pipì sopra. E studi Java SE, Python, Smalltalk, VB.NET, Delphi e altre cose del genere.

Consiglio la seconda.

malocchio
04-08-2009, 08:33
Stiamo raggiungendo la quota record di topic del tipo "Che linguaggio...?" nel minor tempo mai vista prima... :D

Parmi un po' vecchiotto ma all'inizio tutto fa brodo.

Se l'intenzione è quella di trovare un lavoro buttati sulla programmazione server-side - Java EE, ABAP, PHP, ASP, XML, HTML, SQL vanno sempre bene, più i framework, i framework, i framework.

Se l'intenzione è quella di divertirsi prendi tutto quello che ti servirebbe per lavorare, lo chiudi in un sacco, lo butti in una buca in giardino, copri col sale e se hai cane facci fare pipì sopra. E studi Java SE, Python, Smalltalk, VB.NET, Delphi e altre cose del genere.

Consiglio la seconda.

Quoto PGI. Se ti interessa per lavoro buttati sul web e sui (dannati) framework.
Se vuoi divertirti vai con Java. Non ci sono i mal di testa di linguaggi di più basso livello (C++), ed è portabile (a differenza di C#, ottimo anche quello per quanto l'abbia conosciuto)

Allure
04-08-2009, 10:26
Parmi un po' vecchiotto ma all'inizio tutto fa brodo.

Se l'intenzione è quella di trovare un lavoro buttati sulla programmazione server-side - Java EE, ABAP, PHP, ASP, XML, HTML, SQL vanno sempre bene, più i framework, i framework, i framework.

Se l'intenzione è quella di divertirsi prendi tutto quello che ti servirebbe per lavorare, lo chiudi in un sacco, lo butti in una buca in giardino, copri col sale e se hai cane facci fare pipì sopra. E studi Java SE, Python, Smalltalk, VB.NET, Delphi e altre cose del genere.

Consiglio la seconda.

Credo che in definitiva il vero dilemma sia proprio questo! Non che mi aspetti di trovare lavoro dopo aver letto un manualetto, però per un futuro mi piacerebbe che possano fruttare le conoscenze acquisite. Il libro risale al 2000, è per questo che non ero molto convinto, ma a caval donato... Per ora, dopo i vostri consigli, sarei indirizzato a riprendere da Java.

Ma la cosa migliore che posso fare è dirti di trovare qualcosa da fare (e io un paio di lavoretti li avrei da passarti ) e scegliere di conseguenza il linguaggio, magari consultando il forum.

Che genere di lavoretti? Devo ammettere che in questa sezione siete molto disponibili :) grazie a tutti

karlettinos
04-08-2009, 10:40
m'inserisco giusto per due chiacchiere:
io programmavo da dilettante quando ancora esistevano gli pterodattili ed usavo il vecchio basic (10 rem, 20 goto 340 ecc :)) che era un linguaggio molto divertente e facile da usare, ci potevi fare di tutto.
Ora ho ricominciato a programmare ed ho scelto il C, per la verità avevo ricominciato con Java, ma l'ho trovato troppo lontano dalla mia logica e troppo difficile, mentre col C mi trovo abbastanza bene.
Vedo che nessuno lo cita, forse sta entrando in disuso anche lui???!!

ciao
k.

banryu79
04-08-2009, 10:57
m'inserisco giusto per due chiacchiere:
io programmavo da dilettante quando ancora esistevano gli pterodattili ed usavo il vecchio basic (10 rem, 20 goto 340 ecc :)) che era un linguaggio molto divertente e facile da usare, ci potevi fare di tutto.
Ora ho ricominciato a programmare ed ho scelto il C, per la verità avevo ricominciato con Java, ma l'ho trovato troppo lontano dalla mia logica e troppo difficile, mentre col C mi trovo abbastanza bene.
Vedo che nessuno lo cita, forse sta entrando in disuso anche lui???!!
Beh, dai, l'hai appena citato tu, eppoi qui si cercava di dare dei buoni consigli all'utente :Prrr:

malocchio
04-08-2009, 11:08
m'inserisco giusto per due chiacchiere:
io programmavo da dilettante quando ancora esistevano gli pterodattili ed usavo il vecchio basic (10 rem, 20 goto 340 ecc :)) che era un linguaggio molto divertente e facile da usare, ci potevi fare di tutto.
Ora ho ricominciato a programmare ed ho scelto il C, per la verità avevo ricominciato con Java, ma l'ho trovato troppo lontano dalla mia logica e troppo difficile, mentre col C mi trovo abbastanza bene.
Vedo che nessuno lo cita, forse sta entrando in disuso anche lui???!!

ciao
k.
Nel mio primo reply qui avevo pensato di consigliare di approfondire C/C++, visto che ne ha già una buona conoscenza, ma con un occhio al mondo del lavoro mi è sembrato più costruttivo un linguaggio più richiesto :)

_Claudio
04-08-2009, 11:20
Che genere di lavoretti? Devo ammettere che in questa sezione siete molto disponibili :) grazie a tutti

Al momento devo far compilare Turbo Vision con Visual C++ Express 2008 (sotto Windows Vista ovviamente) e iniziare lo sviluppo di una applicazione di rubrica, questo è il sito ufficiale di Turbo Vision, dagli un occhio questo è il sito "ufficiale": http://tvision.sourceforge.net/

Un mio cruccio da parecchio tempo è creare un modulo per Apache che all'avvio di un download dal server apre una finestra in popup SUL SERVER che indica l'andamento del trasferimento.

Poi dovrei sviluppare (ma causa studi non trovo mai il tempo) un driver general purpouse per il trasferimento di piccoli blocchi di dati e la generazione di comandi tramite la porta usb (con relativo chipset microprogrammato lato hardware), qui il riferimento oltre alle prolisse specifiche usb è l'Axelson: http://www.lvr.com/usb.htm

Oppure, vabè questa è una cosa veloce veloce che farò a giorni, devo installare un CMS JSP e un CMS PHP in locale (su Tomcat e Apache) con server Postgre, MySQL e Microsoft SQL Server, devo confrontarne le prestazioni e avere idea di come si sviluppano moduli e altre amenità, giusto per vedere se conviene consigliare CMS o siti sviluppati ad-hoc ai clienti e altri particolari. Inoltre ci sarebbe da trovare un provider non troppo esoso che metta a disposizione interpreti JSP (e di conseguenza JavaBeans e Servlet).

Come vedi di cose da fare ce ne sono molte e in svariati mondi (linguaggi), sta a te scegliere COSA fare e di conseguenza lo strumento con cui lavorare.
Anche io per anni mi sono fossilizzato nel voler imparare un linguaggio e poi trovare qualcosa da fare, risultato: non ho concluso pressochè nulla.
Studiando ad ingegneria nessuno ti insegna i linguaggi, ma studiando bene tutto (e spesso infischiandosene dei voti che non sono sempre veritieri) non ho alcuna difficoltà ad apprendere in poco tempo uno o l'altro linguaggio, le difficoltà vere nella progettazione e programmazione sono ben altre.

PGI-Bis
04-08-2009, 13:33
Credo che in definitiva il vero dilemma sia proprio questo! Non che mi aspetti di trovare lavoro dopo aver letto un manualetto, però per un futuro mi piacerebbe che possano fruttare le conoscenze acquisite.

Studia le tecnologie server-side che vanno per la maggiore, fai un bel po' di pratica per conto tuo e quando ti senti pronto al passo successivo ti cerchi uno stage aziendale: "pronto, salve, vorrei approfondire le mie conoscenze di xyz, fate stage?". Se sei di roma non dovresti avere problemi a trovarlo. Lo stage è come lavorare solo che non ti pagano per farlo, il che risulta particolarmente appetibile alle aziende. Se te la cavi a un certo punto rimedi un contratto a progetto o una collaborazione occasionale, in ogni modo "incassi a curriculum". E via così finchè a un certo punto ti troverai sufficientemente bene con qualcuno per cui risulti sufficientemente produttivo o non ti sarai sufficientemente rotto le scatole.

khelidan1980
04-08-2009, 13:49
Se l'intenzione è quella di trovare un lavoro buttati sulla programmazione server-side - Java EE, ABAP, PHP, ASP, XML, HTML, SQL vanno sempre bene, più i framework, i framework, i framework.

Se l'intenzione è quella di divertirsi prendi tutto quello che ti servirebbe per lavorare, lo chiudi in un sacco, lo butti in una buca in giardino, copri col sale e se hai cane facci fare pipì sopra. E studi Java SE, Python, Smalltalk, VB.NET, Delphi e altre cose del genere.


:ave: :ave: :ave: :ave: :ave:

A me sta venendo a nausea sta programmazione web( e ci lavoro da un anno,sono spacciato)

franksisca
04-08-2009, 14:25
:ave: :ave: :ave: :ave: :ave:

A me sta venendo a nausea sta programmazione web( e ci lavoro da un anno,sono spacciato)
pensa che io la odio proprio e senza lavorarci sopra.

pensa che sto facendo software "freetime" sperando che a qualcuno interessi e se lo compri O_O

^TiGeRShArK^
05-08-2009, 09:39
indubbiamente nel contesto lavorativo la scelta migliore è java EE.
python ha richieste praticamente nulle in italia se confrontate a quelle di jee.
Volendo potresti anche provare con ASP.NET, ma mi pare che la situazione sia meno rosea...

Allure
12-08-2009, 12:29
Grazie a tutti per la disponibilità e consigli, alla fine ho opterò per Java. Ho iniziato a guardarmi il libro che avevo ma non mi convince molto, un po' troppo riassuntivo e confusionario, alcuni esercizi elementari da loro proposti mi danno anche errori in compilazione, il che non aiuta non conoscendo per nulla la sintassi. Avete nulla da consigliarmi in cartaceo? Ed è meglio iniziare con il classico notepad o con qualche IDE per velocizzare?

cdimauro
12-08-2009, 12:53
Usa Eclipse.

PGI-Bis
12-08-2009, 14:43
O Netbeans (http://www.netbeans.org/)