|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2007
Città: Palermo
Messaggi: 30
|
Come posso iniziare?
Salve a tutti!Mi piacerebbe molto, ma molto, ma molto
![]() -C -Python -PHP -HTML -JAVASCRIPT Sinceramente non so più che pesci prendere!Escluderei la programmazione Web (dato che momentaneamente non mi interessa) e quindi rimarrebbero C e Python. Io inizialmente ho cominciato col C, ma poi mi sono un pò bloccato alle funzioni, e da allora mi sono praticamente fermato! Il Python è un linguaggio sicuramente ottimo per i neofiti, ma ciò che non mi piace è che è un linguaggio interpretato!Chiedo a voi asperti: Con quale linguaggio mi consigliate iniziare? Premetto che sono ben fornito, dato che ho libri di testo di C, JavaScript, Bash, HTML, Python e PHP ![]() Grazie anticipamente a tutti e ciao! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Forse è un problema di motivazione più che di lingua. Auto-motivazione. I libri sono fondamentali ma, per ragioni di spazio, danno una visione un po' grigia della programmazione. Non è così. La programmazione è creatività, fantasia. E' materia viva e vivace.
Trova un'idea e fanne un programma. E' un gioco, pensa a divertirti.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Sono quasi 3 anni che sviluppo con Python a lavoro, e in questo momento c'è il server del CMS aziendale che sta interamente sulle sue spalle, un altro server per un nuovo progetto che è partito giusto l'altro ieri, e per non parlare di tanti altri server e applicazioni che ho scritto e che girano tranquillamente con questo linguaggio. Ti sembra roba esclusivamente riservata ai neofiti? ![]() Ti segnalo questo http://www.hwupgrade.it/forum/showpo...1&postcount=19 mio post, e il libro in fondo, ma se ti leggi tutto il thread è interessante.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jul 2007
Città: Palermo
Messaggi: 30
|
Sicuramente è un ottimo linguaggio, ma come mai in questo forum non se ne parla molto
![]() Vedo invece molto spesso parlare di C, C++, Java ed etc. Poi il fatto che un utente debba aver per forza installato python non mi entusiasma molto... |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Scegli la lingua che ti attizza di più. Se ti sconfiffera C++, usa C++. Se ti sollazza JavaScript, usa JavaScript. Con HTML è un po' più dura perchè, per quanto ne so, è limitato alla presentazione di informazioni. Che è pur sempre una gran cosa ma un po' di manipolazione ravviva la faccenda.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2007
Città: Sicilia
Messaggi: 6088
|
Ormai le cose le hai lette, ma metterti a scrivere codice senza uno scopo è come scrivere un libro senza avere una storia da raccontare. Difficile e noioso dopo poco. Per imparare a programmare veramente, ti serve un problema da risolvere.
Io, per esempio, per un paio d'anni ho sempre cazzeggiato con C e C++ e le Gtkmm, senza mai capirci molto. Adesso ho appena cominciato a lavorare su un programma 'vero' (un CAD elettronico), e devo risolvere problemi veri: matrici sparse, oggetti Canvas delle Gtk e così via. Faccio ricerche, sperimento, provo, e quando trovo la soluzione, nel mio piccolo, godo. Se si prende la cosa nel verso giusto, la ricerca della soluzione può essere una cosa stimolante e creativa come poche altre (a parte l'arte). Impara prima il C semplice. Capisci così la logica di funzionamento di molti linguaggi procedurali che si fondano sulle stesse basi logiche. Poi passa a tutto il resto. C++ non è facilissimo, ma è la naturale evoluzione del C per la programmazione ad oggetti. Un buon linguaggio di programmazione, pulito ed elegante, invece, è il C#, che ho cominciato ad apprezzare ultimamente (sempre a livello amatoriale). Imparare la programmazione ad oggetti tramite il C# è decisamente più facile che con Java, C++ o altro. Inoltre, è più facile, sempre grazie alla pulizia del linguaggio, anche trattare argomenti complicati che raramente ci sono nei libri didattici, come la creazione di un'interfaccia grafica per un programma. C e C# però ti servono più che altro per capire la natura dei problemi; non che non siano utili anzi, completamente il contrario. Sono estremamente potenti e flessibili, per questo te li ho consigliati. Solamente che non dovrebbero essere gli unici linguaggi che un programmatore debba conoscere. Nella programmazione seria, un programmatore conosce sempre abbastanza bene più di un linguaggio, ed utilizza di volta in volta quello che serve di più per un particolare problema (C++ e Fortran dove serve velocità, Python dove serve rapidità di programmazione, Javascript e PHP per siti dinamici, E per il calcolo distribuito e così via). Le basi sono sempre le stesse (costrutti if, cicli etc), ma dovrai imparare di volta in volta ad utilizzare i comandi specifici del linguaggio, che li differenziano dagli altri. Prova a fare un form HTML in C, oppure un programma di grafica vettoriale in PHP... bisogna utilizzare di volta in volta gli strumenti giusti, se non si vuole complicarsi la vita inutilmente. Daniele
__________________
Non abbiamo ereditato il mondo dai nostri padri L'abbiamo preso in prestito dai nostri figli |
![]() |
![]() |
![]() |
#7 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Decisamente meglio Python o Ruby. Per quanto mi riguarda sceglierei Python che è più semplice e con una sintassi più leggibile.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Parafrasando la battuta di un film, consiglieri Python ad un amico se fossi amico di Hitler.
Avrei detto Java prima dei generici, ora mica tanto e quando finalmente spareranno quella stronzata delle chiusure pregherò che ci facciano il backoffice degli uffici IVA. Insomma, aspetto e dico "uno vale l'altro". Si vocifera che quelli di Cadence stiano lavorando su un nuovo Smalltalk. Incrociamo le dita che ci sono rimaste.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non conosco la quella battuta, per cui non posso coglierne il significato.
Comunque PGI io non ti capisco proprio: i linguaggi non sono fatti per contemplarne la "consistenza" ad alcuni assiomi, ma per essere usati. Le chiusure non ti piacciono? Non le usare. Io in Python le uso, perché sono molto comode (quando è necessario). SmallTalk lo conosco da una ventina d'anni, e sebbene all'epoca ne sia rimasto a dir poco stregato, conservandone il "culto" (che suona ridicolo detto da un ateo ![]() E' stato un bell'esperimento, ma ha fatto il suo tempo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#11 | |||||
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12093
|
Quote:
![]() Quote:
Sono praticamente equivalenti questi due linguaggi. Quote:
Non ha senso sprecare tempo per creare un interfaccia grafica se questa viene altrettanto bene con un editor visuale e con qualche piccola ottimizzazione a mano. Quote:
E' troppo a basso livello a meno di esigenze particolari. Quote:
ma vedi che cmq oggi come oggi la velocità di Java è paragonabile a quella del C++ ![]()
__________________
![]() |
|||||
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Era un film di Woody Allen, la maledizione di (qualcosa) di giada. Lui interpreta un regista al tramonto della sua carriera, gli offrono la regia di una grande produzione, viene colpito da cecità psicosomatica e fa un film bruttissimo. Alla preproiezione viene chiesto agli spettatori di rispondere ad alcune domande, tra cui "Consiglierebbe questo film ad un amico" e la risposta è "Sì, se fossi amico di Hitler". Ah ah ah, che ridere (adesso ridi per farmi contento, sù).
A mio sommesso avviso non è possibile usare un sottoinsieme di un linguaggio. Per due ragioni. La prima è che ogni sfumatura ha un suo campo di applicazione: nel contesto del linguaggio di programmazione Java 5, ad esempio, i generici sono una soluzione tecnicamente migliore rispetto ai "tipi nudi e crudi" perchè garantiscono la consistenza dei tipi in un idioma che è essenzialmente polimorfico (un'espressione può avere più tipi). La seconda è che il singolo essere umano digitante non è un atomo nel mondo della programmazione. Vive accanto ad altri digitanti. Vuoi per collaborazione, vuoi per manutenzione, è inevitabile che gli passi sotto agli occhi il codice scritto da altri. La grammatica ci dice che per comunicare occorre conoscere la lingua usata. Tutta quanta. Non un pezzo. Se io eliminassi dal mio panorama Java le classi, i generici, le chiusure, i tipi primitivi, le eccezioni non controllate e un paio d'altre cose che adesso non mi vengono in mente, non starei più comunicando in Java. Chiunque conosca il linguaggio non potrebbe che dire "ma questo deve essere espresso in quest'altro modo". Perchè io starei usando Java ma non in un modo adeguato ad esprimere un certo significato. E' come se io, in questo forum e se ne fossi capace, scrivessi sempre usando termini italiani desueti. Facendolo commetterei un errore perchè la grammatica ci dice che la scelta della parole deve essere adeguata al contesto della comunicazione. Parlando ad un consesso di "adoratori dei bei tempi andati" sarei nel giusto, nella sezione "programmazione" del forum di hardware upgrade, no. Non penso che siano rilievi poi così irragionevoli, vi pare?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#13 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Quote:
L'unica cosa è che se uno mi dicesse "questo dev'essere espresso in quest'altro modo" quando in realtà si tratta di una mia scelta (ognuno ha un suo stile di programmazione), lo prenderei a randellate sulle gengive. Ad esempio, quando ho lavorato in C/C++ ho cercato di fare quasi sempre a meno del famigerato operatore terziario (il "?"): non lo sopporto proprio. Purtroppo nelle macro (altra cosa che odio e che cerco di evitare come la pesta) era quasi inevitabile usarlo (anche perché il compilatore che usavo all'epoca riconosceva soltanto espressioni che usavano il "?" per generare l'istruzione MIN o MAX del processore LX, mentre usando l'if metteva la classica sequenza di confronto, salto / copia registro). P.S. Quando arriverà la prossima versione di Java passerai a Squeeke, o hai in mente altro?
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#14 |
Member
Iscritto dal: Jul 2007
Città: Palermo
Messaggi: 30
|
Devo essere sincero, mi aspettavo risposte più semplici, ma vedo che siamo arrivati ad un certo OT
![]() La mia domanda era semplice, e sinceramente di Hitler e di film poco mi importa ![]() Tralasciando linguaggi ad oggetti quali C++, Java ed altri, volevo imputarmi su C o Python, e ho chiesto a voi quale era il più appropriato per uno che non ne sa un H di programmazione!Aspetto sane risposte ![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
La risposta è a dir poco banale: Python. Assolutamente Python. Sempre Python.
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Tralasciando i linguaggi orientati agli oggetti, tra C e Python logica vuole che uno risponda C, essendo Python orientato agli oggetti.
Tra C e Python tout-court, Python. Per una questione pratica. I programmi Python sono indipendenti dalla piattaforma (cioè dipendono dalla piattaforma Python ma non dal sistema operativo). Vale la pena ricordare che "sistema operativo" include versioni diverse dello "stesso" sistema operativo. Dirò un'inezia. Se passi da Windows 98 a Windows 2000, a XP o a vista, a 32, 64 e chi più ne ha più ne metta bit, il programma che hai scritto quello è e quello rimane. C'è il lavoro di qualcuno dietro a questa portabilità. Ma è qualc-UNO, una volta sola e per tutti.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Però Python funziona benissimo (e anche meglio
![]() ![]() P.S. La tua firma mi fa sbellicare dalle risate. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Finge. Sempre oggetti sono. Per quanto mi è dato di capire, e come in altre lingue che mischiano la prospettiva orientata agli oggetti con altre cose, la dichiarazione di una funzione è una sintassi alternativa per l'invocazione di un metodo dell'istanza di una classe. E qui sta il problema. Ma ho il divieto di OT
![]()
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Mumble mumble. Classi e funzioni vengono invocate (generando un'istanza la prima ed eseguendo il suo codice la seconda) utilizzando la stessa sintassi, ma per il resto non noto analogie.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Con la bieca scusa che Leddolo ha scelto Python, mi collego a:
http://docs.python.org/ref/function.html#function E' la guida di riferimento al linguaggio di programmazione Python e...be', gli serve. Non sono OT. Un'auto-assoluzione ![]() Là dice che la definizione di una funzione è la definizione di un oggetto di tipo funzione. Non è una stranezza, anzi. Il fatto è che ci sono due modi di fare una cosa e uno dei due vale solo in alcuni casi. Il problema che io vedo è questo. Le funzioni (e le chiusure di Gafter) sono un'eccezione sintattica e le eccezioni in generale sono, in quanto deduzioni contraddittorie, veri e propi macigni per il cervello. E' il classico caso del: <<non non alzarti dal letto>> Devo alzarmi o no? Ci vogliono dei secondi perchè il cervello trovi una risposta corretta ad una doppia negazione.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:05.