View Full Version : Programmazione da dove iniziare?
TheMaster1983
19-07-2008, 19:58
Ciao a tutti, ultimamente mi sto impressionando delle cose che si possono realizzare con i codici, ora oggi girando per una libreria mi sono messo a guardare i libri di informatica per vedere se cera qualcosa di economico che mi introducesse in maniera semplice nel mondo dei codici, guardando bene mi sono trovato in difficoltà trovando decine e decine di libri tra cui , HTML , CSS , visual basic , php , dc , dc++ ecc...
Ora mi trovo qua a chiedervi la differenza tra tutti questi codici esistenti, sapendo che l html si usava per la creazione dei siti e rimanendo totalmente ignorante sul resto, so che esiste un codice per linux uno che si utilizza esempio con excel e access altro non so....
Ed oltre a questo vorrei chiederti uno come me che non sa neppure che di codice non sa nulla da dove dovrebbe iniziare? da che tipo di codice e successivamente che scala seguire?
Oceans11
19-07-2008, 20:31
Ciao!
Beh dunque si dovrebbe fare distinzione tra linguaggi di programmazione veri e propri, siano essi di alto (C++, C#, Java, Python, Visual Basic etc...) o basso livello (C, assembly), ed i linguaggi che (senza nulla togliere alla loro importanza) sono "meno" di programmazione. Ci sono dei linguaggi infatti che servono ad automatizzare operazioni (linguaggi di script) oppure fanno il loro dovere ma in collaborazione con qualche altro programma (browser per esempio, tra cui PHP, HTML, Javascript, CSS etc...).
La lista potrebbe continuare per qualche centinaia di elementi, questi a mio avviso sono i principali (ora sicuro qualcuno mi dilapida!!:D )
Da dove cominciare? Da uno qualsiasi tra i primi (tranne assembly).
Quale? dipende!
Da cosa? da te...da ciò che vuoi fare.
I linguaggi di più alto livello fanno cose più facilmente (il livello è alto perchè si avvicina di più all'utente/programmatore), mentre quelli di più basso livello danno maggior controllo su ogni singola operazione che effettua la tua cpu, ma sono un pò più ostici da digerire.
Personalmente ho iniziato non sapendo assolutamente nulla (neanche cosa fosse un compilatore) ed in qualche mese (diciamo 4) sono passato dal nulla a cominciare ad usare componenti per GUI in Java; però ora imparerei volentieri il C e il C# .net (il primo per bagaglio culturale, il secondo perchè è assai richiesto nel lavoro), e continuerei a studiare il java. piano piano...:D
cdimauro
19-07-2008, 22:14
Per iniziare a programmare non c'è niente di meglio di Python.
Ed ecco qui http://www.python.it/doc/Howtothink/Howtothink-html-it/index.htm un bellissimo libro completamente gratuito e in italiano scritto proprio allo scopo. :)
ho un deja vu.. ho come l'impressione di aver visto thread del genere milioni di volte.. con un'unica costante, la risposta di Cesare che fose ormai si è salvato da qualche parte.. :D
Per iniziare a programmare non c'è niente di meglio di Python.
Ed ecco qui http://www.python.it/doc/Howtothink/Howtothink-html-it/index.htm un bellissimo libro completamente gratuito e in italiano scritto proprio allo scopo. :)
Non hai paura che tutti questi programmatori python che stai formando un giorno ti rubino il posto?:D
Non è meglio suggerire c++ così dopo qualche mese di sofferenze atroci e memory leak decidono di dedicarsi al giardinaggio o all'alta cucina?
TheMaster1983
20-07-2008, 15:33
Ciao!
Beh dunque si dovrebbe fare distinzione tra linguaggi di programmazione veri e propri, siano essi di alto (C++, C#, Java, Python, Visual Basic etc...) o basso livello (C, assembly), ed i linguaggi che (senza nulla togliere alla loro importanza) sono "meno" di programmazione. Ci sono dei linguaggi infatti che servono ad automatizzare operazioni (linguaggi di script) oppure fanno il loro dovere ma in collaborazione con qualche altro programma (browser per esempio, tra cui PHP, HTML, Javascript, CSS etc...).
La lista potrebbe continuare per qualche centinaia di elementi, questi a mio avviso sono i principali (ora sicuro qualcuno mi dilapida!!:D )
Da dove cominciare? Da uno qualsiasi tra i primi (tranne assembly).
Quale? dipende!
Da cosa? da te...da ciò che vuoi fare.
I linguaggi di più alto livello fanno cose più facilmente (il livello è alto perchè si avvicina di più all'utente/programmatore), mentre quelli di più basso livello danno maggior controllo su ogni singola operazione che effettua la tua cpu, ma sono un pò più ostici da digerire.
Personalmente ho iniziato non sapendo assolutamente nulla (neanche cosa fosse un compilatore) ed in qualche mese (diciamo 4) sono passato dal nulla a cominciare ad usare componenti per GUI in Java; però ora imparerei volentieri il C e il C# .net (il primo per bagaglio culturale, il secondo perchè è assai richiesto nel lavoro), e continuerei a studiare il java. piano piano...:D
Allora dato che ho capito che eri messo "male" come me adesso dimmi quale e stata la tua strada che prendo spunto...
p.s i programmatori di linux che linguaggio usano?
(cioè quando uno vorrebbe imparare ad usare linux, magari in primis da utente poi da qualcosa in piu cosa dovrebbe fare?strada" di codice intendo...)
p.s2 uno invece che vorrebbe fare lo stesso con windows? vedo in giro certi programmatori che sono programmatori certificati microsoft,anche in questo caso conosci la strada da dover percorrere?
Detto questo so di certo che tutte le cose che chiedo sono strade difficoltese e lunghe ma vorrei solo capire come funzionano le cose e mangari una persona che è attratta tipo me da dove realmente deve iniziare...
cdimauro
20-07-2008, 16:29
Non hai paura che tutti questi programmatori python che stai formando un giorno ti rubino il posto?:D
Non è meglio suggerire c++ così dopo qualche mese di sofferenze atroci e memory leak decidono di dedicarsi al giardinaggio o all'alta cucina?
Ma no guarda: finché ci saranno programmatori su Unix et similia ci sarà sempre gente che continuerà ottusamente a lavorare in C e/o C++, per cui il mio è assicurato. :asd:
p.s i programmatori di linux che linguaggio usano?
Vedi sopra. :fiufiu: :D
(cioè quando uno vorrebbe imparare ad usare linux, magari in primis da utente poi da qualcosa in piu cosa dovrebbe fare?strada" di codice intendo...)
Sicuramente sarebbe una buona cosa imparare il C e studiarsi per bene il sorgenti del kernel. :O
:asd:
p.s2 uno invece che vorrebbe fare lo stesso con windows? vedo in giro certi programmatori che sono programmatori certificati microsoft,anche in questo caso conosci la strada da dover percorrere?
.NET. Per il linguaggio benissimo iniziare con IronPython. :)
Detto questo so di certo che tutte le cose che chiedo sono strade difficoltese e lunghe ma vorrei solo capire come funzionano le cose e mangari una persona che è attratta tipo me da dove realmente deve iniziare...
Se devi iniziare non devi fissarti sulla piattaforma che vuoi usare. Se per adesso smanetti con una distro Linux, continua a farlo; idem se preferisci Windows.
Per entrambi, infatti, è disponibile Python, per cui puoi imparare velocemente a programmare, specialmente usando il libro di cui ho fornito il link prima. ;)
C#. E' semplice, e' ben integrato con Windows, ci fai di tutto, lo vogliono in tanti. :cool:
Ma no guarda: finché ci saranno programmatori su Unix et similia ci sarà sempre gente che continuerà ottusamente a lavorare in C e/o C++, per cui il mio è assicurato. :asd:
:mbe: Ci sono su tutte le piattaforme. Python non e' certo nato sotto Windows
||ElChE||88
20-07-2008, 17:41
Inizia dal C, dall'Assembly o dal linguaggio macchina. :)
C#. E' semplice, e' ben integrato con Windows, ci fai di tutto, lo vogliono in tanti. :cool: ti amo :asd:
scusa Cesare ma è anche quella sensazione di aria fresca tipica del cambiamento :D
saranno seriamente anni che consigli Python, questo breve post di gugoXX me lo sono letto proprio volentieri :ciapet:
Inizia dal C, dall'Assembly o dal linguaggio macchina. :)
minchia, guarda che ci crede per davvero, chiarisci subito!! :rotfl:
cdimauro
20-07-2008, 20:10
:mbe: Ci sono su tutte le piattaforme. Python non e' certo nato sotto Windows
Verissimo, ma è Unix la piattaforma che è legata "mani e piedi" al C (e, in misura molto minore, al C++).
Windows da sempre è stato abbastanza eterogeneo dal punto di vista dei linguaggi di programmazione adottati. :)
Inizia dal C, dall'Assembly o dal linguaggio macchina. :)
L'ultima che hai detto. :D
ti amo :asd:
scusa Cesare ma è anche quella sensazione di aria fresca tipica del cambiamento :D
saranno seriamente anni che consigli Python, questo breve post di gugoXX me lo sono letto proprio volentieri :ciapet:
Ma non c'è nessunissimo problema: ognuno, giustamente, riporta la propria esperienza. :)
Windows da sempre è stato abbastanza eterogeneo dal punto di vista dei linguaggi di programmazione adottati. :) vero: un sacco di set di API sono scritti in C++ ma rispettando le specifiche di COM, il che significa che vi si può accedere tramite qualsiasi linguaggio COM-aware. con DirectX poi hanno proprio creato una versione a parte (senza COM) per .NET.
io noto una grandissima confusione nelle idee di TheMaster.
Prima di tutto, i linguaggi di programmazione, a parte diversi casi, non sono legati al sistema operativo.
Ad esempio è possibile scrivere un programma su windows, ma farlo girare anche su linux/unix oppure mac. Ovviamente la difficoltà nel farlo dipende dal linguaggio di programmazione scelto. Con Python o Java il passaggio è quasi indolore. Con il C o C++ invece la cosa diventa molto più ardua, ma è comunque possibile.
Ciò che è importante notare è che in genere qualunque problema può essere risolto da un qualunque linguaggio di programmazione. Ognuno però ha i suoi punti di forza ed i suoi punti di debolezza.
Piccolo esempio: per fare un programma che risolva un certo problema utilizziamo Python e C. Con Python scriviamo solo 20 righe di codice, mentre con C ce ne vogliono 200 (in questo caso meglio Python, si risparmia un sacco di tempo!!). Però per eseguire poi il programma, Python impiega 10 minuti, mentre C solo 1 minuto (allora in questo caso meglio C!!). A parte l'esempio un pò troppo estremizzato (vi prego, niente flame :asd: ), vorrei far capire che il linguaggio di programmazione da utilizzare è sempre quello che meglio si adatta all'obiettivo che ci prefissiamo.
Il linguaggio di programmazione è solo uno strumento per raggiungere un particolare obiettivo!
Detto questo, i linguaggi più comuni sono C, C++, Python, Java, C#, Visual Basic (questi ultimi due sono però nativi di windows, ma credo che sia comunque possibile utilizzarli anche su linux con MONO).
Partendo completamente da zero allora ti consiglio anche io, come cdimauro, cominciare con Python
p.s. spero di non avere scritto troppe cazzate :stordita:
||ElChE||88
20-07-2008, 22:57
Con Python scriviamo solo 20 righe di codice, mentre con C ce ne vogliono 200 (in questo caso meglio Python, si risparmia un sacco di tempo!!). Però per eseguire poi il programma, Python impiega 10 minuti, mentre C solo 1 minuto (allora in questo caso meglio C!!).
Meglio così:
Con Python scriviamo solo 20 righe di codice, mentre con C ce ne vogliono 200 (in questo caso meglio Python, si risparmia un sacco di tempo!!). Però per eseguire poi il programma, Python impiega 1 minuto e 10 secondi, mentre C solo 1 minuto (non abbastanza da giustificare le centinaia di LOC in più).
:O
Oceans11
21-07-2008, 00:08
Allora dato che ho capito che eri messo "male" come me adesso dimmi quale e stata la tua strada che prendo spunto...
Io ho iniziato da Java....e quando dico iniziato intendo "Hello World" :D
Lo farei ancora? beh sì...troverai un pò di difficoltà nel capire la programmazione ad oggetti...ma poi fare i programmi risulta abbastanza semplice.
Fatto sta che come puoi vedere ognuno ti da una risposta diversa....io dico tira a caso, che poi tanto se c'hai la passione non ti fermerai al primo linguaggio!
TheMaster1983
21-07-2008, 11:11
Io ho iniziato da Java....e quando dico iniziato intendo "Hello World" :D
Lo farei ancora? beh sì...troverai un pò di difficoltà nel capire la programmazione ad oggetti...ma poi fare i programmi risulta abbastanza semplice.
Fatto sta che come puoi vedere ognuno ti da una risposta diversa....io dico tira a caso, che poi tanto se c'hai la passione non ti fermerai al primo linguaggio!
Si ho notato che alla fine ogni persona la pensa in maniera diversa, io nella mia "ignoranza" ho sempre pensato che per imparare si dovesse per forza incominciare da un ipotetico inizio... quindi tu hai iniziato con java, poi? il passaggio successivo?
Quando intendi iniziato on java intendi ti sei letto un bel libro, hai accroccato leggendo pagine e pagine di web o cosa?
nucarote
21-07-2008, 11:13
C'è un solo modo per essere un'ottimo programmatore e felice allo stesso modo.
Iscriversi all'alberghiero oppure frequentare un corso per pizzaiolo. :sofico: :sofico: :sofico: :sofico:
TheMaster1983
21-07-2008, 11:53
Io non cerco una lavoro onestamente mi piacerebbe iniziare perke sono molto attratto da questo settore...:D
Io non cerco una lavoro onestamente mi piacerebbe iniziare perke sono molto attratto da questo settore...:D benissimo, post #8 :read:
ecco qui da dove cominciare (il box verde :D):
http://www.microsoft.com/express/download/default.aspx
Ziosilvio
21-07-2008, 12:27
Io non cerco una lavoro onestamente mi piacerebbe iniziare perke sono molto attratto da questo settore
Python, con la guida "How to Think Like a Computer Scientist".
Se l'attrazione diventa amore, avrai fatto esperienza e potrai imparare altri linguaggi.
Se era solo la "cotta" di un momento, avrai un bagaglio di conoscenze che potrai riutilizzare ovunque e non solo su Windows.
banryu79
21-07-2008, 12:29
Butto qua una proposta estemporanea: perchè non cominciare con SmallTalk (o meglio, una delle sue implementazioni "moderne", tipo Squeak).
Vantaggi: sintassi semplicissima, tra le più semplici che abbia mai visto fin'ora; linguaggio di programmazione con paradigma Object Oriented puro, modo di pensare, concepire e scrivere il codice strettamente legato al concetto di oggetti che si scambiano messaggi.
Ottimo per imparare *veramente* a programmare ad oggetti, imho è molto didattico come linguaggio.
Tutto l'ambiente e gli strumenti correlati sono sviluppati con il linguaggio stesso (unica eccezione: la virtual machine); tutto il codice sorgente di tutto il sistema è da subito disponibile e analizzabile; quando parti per scrivere qualcosa di nuovo spesso sfrutti codice già esistente che estendi.
Svantaggio: la produttività si basa sulla conoscenza approfondita del framework/libreria, e imparare a conoscerla e padroneggiarla richiede del tempo.
(questo è vero anche per gli altri linguaggi, ma imho lo ritengo più incisivo come fattore in SmallTalk per via di come è strutturato l'ambiente e della simbiosi che linguaggio e ambiente formano tra loro).
Se ti interessasse (sono curioso di sentire commenti da parte di chi già lo conosce, tornerebbero utili anche a te per orientarti), qui trovi un libro (in inglese) e l'ambiente di sviluppo/linguaggio:
-> Squeak by Example (http://www.squeakbyexample.org/)
Potrebbe essere un buon punto di inizio per entrare nel mondo della programmazione.
P.S.: altri vantaggi: l'ambiente/linguaggio supporta lo sviluppo Test Driven "nativamente"; SmallTalk è il linguaggio in cui si sono formate e sono nate molte idee "rivoluzionarie", come ad esempio i concetti di Agile Programming.
cdimauro
21-07-2008, 14:22
Python, con la guida "How to Think Like a Computer Scientist".
Se l'attrazione diventa amore, avrai fatto esperienza e potrai imparare altri linguaggi.
Se era solo la "cotta" di un momento, avrai un bagaglio di conoscenze che potrai riutilizzare ovunque e non solo su Windows.
Concordo.
x banryu79: preferisco nettamente Python, che ha una sintassi più semplice, numerosi costrutti che ti facilitano la vita, e una ricca libreria standard. ;)
Oceans11
21-07-2008, 15:42
Quando intendi iniziato on java intendi ti sei letto un bel libro, hai accroccato leggendo pagine e pagine di web o cosa?
Iniziato intendo che ho prima studiato su delle dispense del prof. di fondamenti di informatica...sintassi, variabili, cicli, classi, oggetti, array, file e le strutture dati rivisitate (preparate da noi stessi).
Poi un giorno (tipo 1/2mesi dopo) visto che le GUI mi attiravano, ho preso la documentazione, il tutorial e piano piano ho letto.
Stessa cosa è capitata per il networking...e quando non ci capivo una mazza correvo qui!:D
ma ruby è già fuori moda??
un libro cartaceo per imparare python?? non mi trovo a leggere dal pc :( meglio in italiano ma anche in inglese
marko.fatto
21-07-2008, 16:53
no ruby non è fuori moda.. soprattutto la versione 1.9 promette bene anche sul fronte prestazioni :O
banryu79
21-07-2008, 17:24
x banryu79: preferisco nettamente Python, che ha una sintassi più semplice,
Python non l'ho ne studiato, ne usato, quindi non so fare un confronto a livello sintattico con Squeak.
Però in Squeak la sintassi è davvero ridotta all'osso, con 7 keyword totali e poche regole che definiscono come si passano messaggi tra oggetti, come funziona l'assegnazione (un messaggio anch'esso), come si estendono le classi (altro passaggio di messaggio questa volta non a un oggetto ma a una classe: anche le classi sono oggetti), e la regola per definire le closure, chiamate "code block" (e anche qui si tratta di oggetti). @EDIT: ah, e naturalmente le regole che definiscono i Literals.
numerosi costrutti che ti facilitano la vita,
In Squeak nessun costrutto (il flusso di codice per esempio viene condizionando passando messaggi del tipo "isTrue:/isFalse:" a oggetti "Boolean"), anche qua tutto è implementato con oggetti e passaggio di messaggi agli oggetti.
Sono presenti classi opportune che implementano la logica dei costrutti più comuni e ci sono delle altre classi che ne implementano di unici che solo questo linguaggio ha. Volendo un programmatore può anche definirne di propri, per comodità o per particolari esigenze nella risoluzione di un problema.
e una ricca libreria standard. ;)
Devo ancora esplorare a fondo quella della particolare implementazione con cui mi sto divertendo, non so quindi darti una stima della sua esaustività.
Però per darti un'idea: seguendo il libro linkato, nel primo capitolo si implementa una versione del gioco conosciuto come "Quinto Game" estendendo 2 classi e definendo 7 metodi (naturalmente le due classi vengono estese a partire da classi grafiche della libreria std).
Il nocciolo che mi premeva sottolineare è la natura fortemente OO del linguaggio, nonchè dell'ambiente stesso, fino anche al metodo di sviluppo di codice nuovo (viene presentato nel libro).
E' completamente OO.
Se quest'aspetto in particolare è particolarmente sentito/considerato importante dall'autore del thread (o sarà considerato così dopo la lettura del topic) a tal punto da anteporlo ad altri aspetti, quali la produttività, consiglio Squeak. Lo trovo stimolante, come strumento iniziale per la formazione di una certà mentalità se il paradigma scelto è quello OO.
cdimauro
21-07-2008, 20:21
Non è che se riduci al minimo il numero di keyword usate la sintassi necessariamente ne guadagnerà in flessibilità e/o leggibilità.
Idem se riconduci tutte le operazioni a una serie di scambio di messaggi spediti: sulla carta sembra un bel modello, perché "omogeneo", ma è poi produttivo / semplice da usare?
Per questo trovo che SmallTalk abbia una sintassi un po' troppo contorta.
Non ho trovato altri confronti in giro, ma prendi questo http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=python&lang2=squeak e questo http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=python&lang2=squeak
al di là dei benchmark prestazionali e sul consumo di memoria che non riguardano la discussione, se prendiamo i sorgenti dei test e li confrontiamo non è che SmallTalk ne venga fuori tanto bene.
Mi sarebbe piaciuto trovare dei problemi risolti con Python e SmallTalk utilizzando soltanto classi e oggetti, in modo da vedere come si presentano utilizzando soltanto questo paradigma di programmazione, ma purtroppo non ne ho trovati...
x guyver: Ruby lo trovo tropo PERL-ish. :(
TheMaster1983
22-07-2008, 09:33
E se invece sarei piu interessato per quanto concerne database? es mysql?
@cdmauro
questo libro sono soldi spesi male??
http://www.libreriauniversitaria.it/imparare-python-lutz-mark-tecniche/libro/9788848120906
cdimauro
22-07-2008, 10:49
E se invece sarei piu interessato per quanto concerne database? es mysql?
Prova FireBird: www.firebirdsql.org E' un eccellente engine SQL, molto fedele agli standard SQL-*, disponibile anche in versione embbeded, con una ricca documentazione (esistono degli eccellenti PDF realizzati da Borland per InterBase) e un'ottica comunità.
@cdmauro
questo libro sono soldi spesi male??
http://www.libreriauniversitaria.it/imparare-python-lutz-mark-tecniche/libro/9788848120906
Sì, Lutz è molto famoso nella comunità Python, è una persona competente e che sa spiegare bene le cose.
Comunque il libro "Pensare da informatico" è disponibile anche in versione PDF e te lo puoi anche stampare, eventualmente. ;)
banryu79
22-07-2008, 10:57
Non ho trovato altri confronti in giro, ma prendi questo http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=python&lang2=squeak e questo http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=python&lang2=squeak
al di là dei benchmark prestazionali e sul consumo di memoria che non riguardano la discussione, se prendiamo i sorgenti dei test e li confrontiamo non è che SmallTalk ne venga fuori tanto bene.
Touchè :stordita:
Mi sarebbe piaciuto trovare dei problemi risolti con Python e SmallTalk utilizzando soltanto classi e oggetti, in modo da vedere come si presentano utilizzando soltanto questo paradigma di programmazione, ma purtroppo non ne ho trovati...
Si sarebbe stato più interessante, pazienza.
Comunque, come ho scritto alla fine del precedente post, lo ritengo (ammetto, prematuramente, perchè lo conosco ancora pochissimo) molto educativo come linguaggio rispetto al paradigma OO.
Onestamente non penso sia il miglior linguaggio per cominciare, ma per il paradigma OO puro sì.
Visto che l'utente ha esplicato che è interessato alla programmazione ma non per lavoro, ho valutato di poter "azzardare" una proposta un po' fuori dai canoni comuni.
@EDIT: sottoscrivo che se l'aspetto produttivo è di suo interesse allora Squeak non è il miglior linguaggio per questo.
Sì, Lutz è molto famoso nella comunità Python, è una persona competente e che sa spiegare bene le cose.
Comunque il libro "Pensare da informatico" è disponibile anche in versione PDF e te lo puoi anche stampare, eventualmente. ;)
oddio sai che non ho capito... :fagiano:
lo consigli o no? :) ???
cdimauro
22-07-2008, 14:10
Touchè :stordita:
Si sarebbe stato più interessante, pazienza.
Comunque, come ho scritto alla fine del precedente post, lo ritengo (ammetto, prematuramente, perchè lo conosco ancora pochissimo) molto educativo come linguaggio rispetto al paradigma OO.
Onestamente non penso sia il miglior linguaggio per cominciare, ma per il paradigma OO puro sì.
Visto che l'utente ha esplicato che è interessato alla programmazione ma non per lavoro, ho valutato di poter "azzardare" una proposta un po' fuori dai canoni comuni.
@EDIT: sottoscrivo che se l'aspetto produttivo è di suo interesse allora Squeak non è il miglior linguaggio per questo.
Capisco, ma SmallTalk lo studierei dopo: IMHO ha un curva di apprendimento maggiore, anche volendo restringere il dominio alla sola programmazione a oggetti. :)
oddio sai che non ho capito... :fagiano:
lo consigli o no? :) ???
Certo che sì, se vuoi / puoi spendere. :)
banryu79
22-07-2008, 15:08
Capisco, ma SmallTalk lo studierei dopo: IMHO ha un curva di apprendimento maggiore, anche volendo restringere il dominio alla sola programmazione a oggetti. :)
Hai ragione sono d'accordo anch'io :)
[CONVERSION MODE ON]
Soddisfatta la mia curiosità con SmallTalk mi sa che finalmente mi do al Python anch'io; alla fine la produttività canta :D
[CONVERSION MODE OFF]
^TiGeRShArK^
22-07-2008, 15:24
Hai ragione sono d'accordo anch'io :)
[CONVERSION MODE ON]
Soddisfatta la mia curiosità con SmallTalk mi sa che finalmente mi do al Python anch'io; alla fine la produttività canta :D
[CONVERSION MODE OFF]
Oddio un altra vittima del colpo del pitone nascente :asd:
ma ruby è già fuori moda??
assolutamente e la 1.9 dovrebbe finalmente mettere una pezza al problema performance
cmq io ti consiglio ruby o python se parti proprio da zero
se vuoi il mio consiglio intanto dovresti iniziare con delle basi di programmazione, giacchè hai detto tu stesso che non hai visto ancora niente...
magari iniziando con un po' di C (cosi capisci bene cos'è un puntatore) per poi passare ad un linguaggio orientato agli oggetti come quelli citati (java o il pitone vanno benissimo)
se vuoi un consiglio spassionato, almeno inizialmente stai alla larga dagli ambienti di sviluppo della microsoft, non per chissà quale motivo complottistico o che altro (sinceramente li ritengo ottimi prodotti sia chiaro...), ma perchè non ti fanno capire certe cose perchè ti aiutano troppo facendo tutto loro...e alla fine questo è controproducente....certo, una volta che hai capito bene tutto (o almeno quasi) l'utilizzo di questi ambienti velocizza molto lo sviluppo, soprattutto quando le applicazioni iniziano a diventare belle corpose...
comunque ti assicuro che il primo programma "hello world!" che scriverai e compilerai da solo sarà più appagante di perdere la verginità :asd:
(per me NON è stato così...ma è stato comunque appagante)
cdimauro
22-07-2008, 22:56
Hai ragione sono d'accordo anch'io :)
[CONVERSION MODE ON]
Soddisfatta la mia curiosità con SmallTalk mi sa che finalmente mi do al Python anch'io; alla fine la produttività canta :D
[CONVERSION MODE OFF]
Fermati un attimo. A mio avviso dovresti prendere qualche corso base di SmallTalk e di Python e confrontare i due linguaggi limitatamente a ciò che pensavi: la programmazione a oggetti.
Così potrai renderti conto personalmente quale linguaggio trovi più interessante e per cui valga la pena spenderci del tempo. :)
Oddio un altra vittima del colpo del pitone nascente :asd:
Aspettiamo, aspettiamo. Vorrei che Python emergesse non perché faccio opera di divulgazione, ma perché ci si rende conto che come linguaggio valga veramente.
Nel frattempo io continuo a sperimentare (è un periodo in cui sto rifattorizzando del codice e mi passano per la testa tante idee su come sfruttare alcune caratteristiche del linguaggio), che mi sto divertendo un mondo. :cool:
se vuoi il mio consiglio intanto dovresti iniziare con delle basi di programmazione, giacchè hai detto tu stesso che non hai visto ancora niente...
magari iniziando con un po' di C (cosi capisci bene cos'è un puntatore) per poi passare ad un linguaggio orientato agli oggetti come quelli citati (java o il pitone vanno benissimo)
Ne abbiamo già parlato non so quante volte: le basi della programmazione non hanno nulla a che fare con la conoscenza di concetti quale quello dei puntatori.
Peggio ancora partire con un linguaggio contorto come il C.
Molto meglio iniziare subito col piede giusto. Cioé... Python. :D
se vuoi un consiglio spassionato, almeno inizialmente stai alla larga dagli ambienti di sviluppo della microsoft, non per chissà quale motivo complottistico o che altro (sinceramente li ritengo ottimi prodotti sia chiaro...), ma perchè non ti fanno capire certe cose perchè ti aiutano troppo facendo tutto loro...e alla fine questo è controproducente....certo, una volta che hai capito bene tutto (o almeno quasi) l'utilizzo di questi ambienti velocizza molto lo sviluppo, soprattutto quando le applicazioni iniziano a diventare belle corpose...
Non sono d'accordo: gli IDE sono troppo comodi. Basta con gli editor di testo con, al più, la syntax highlight: siamo nel 2008!!! :p
comunque ti assicuro che il primo programma "hello world!" che scriverai e compilerai da solo sarà più appagante di perdere la verginità :asd:
:stordita:
(per me NON è stato così...ma è stato comunque appagante)
Ecco, ora ci siamo. :D
banryu79
23-07-2008, 09:56
Fermati un attimo. A mio avviso dovresti prendere qualche corso base di SmallTalk e di Python e confrontare i due linguaggi limitatamente a ciò che pensavi: la programmazione a oggetti.
Così potrai renderti conto personalmente quale linguaggio trovi più interessante e per cui valga la pena spenderci del tempo. :)
No aspetta, non è che ho deciso di punto in bianco di abbracciare Python.
Uso Java per lavoro, e mi sembrava interessante andare a visitare di persona (per così dire) uno dei linguaggi da cui Java ha tratto spunti.
Inoltre, avendo cominciato il mio viaggo nella programmazione studiando C da autodidatta su un libro di testo dell'università di un amico, passando per un corso di 6 mesi su C++ e un suo utilizzo per una prima implementazione di una parte di un progetto poi convertito(leggi:icominciato), appunto in Java, sentivo di non avere dimestichezza ma solo dubbi nell'utilizzo concreto, quotidiano, del paradigma a oggetti (dopo appunto 1 anno e 1/2 di programmazione procedurale).
Se a questo aggiungiamo il fatto che l'unico collega che abbia mai avuto aveva sì 15 anni di esperienza alle spalle ma usava Java in maniera assolutamente procedurale, (con effetti sulla complessità globale del progetto che io "intuivo" fossero negativi rispetto a un approccio diverso, magari appunto oop) e io a "digiuno" e non padrone di una metodologia mia non ancora formata non riuscivo a compensare perchè non sapevo proporre di meglio, diventa chiaro il motivo che mi spinge ad approfondire la metodologia OO, nella pratica.
Con SmallTalk credo di aver scelto un linguaggio che meglio mi possa ri-educare e allenare a pensare in modo più confortevole a design OO e a scrivere, nella pratica quotidiana, codice OO.
Riguardo a questa frase e viste le premesse appena fatte:
[CONVERSION MODE ON]
Soddisfatta la mia curiosità con SmallTalk mi sa che finalmente mi do al Python anch'io; alla fine la produttività canta
[CONVERSION MODE OFF]
Ammetto che è un po' ambigua: con la frase "Soddisfatta la mia curiosità con SmallTalk ecc..." : non volevo dire che *è già* stata soddisfatta (minchia lo sto studiando da appena 2 settimane)...
Penso infatti di continuare a studiare SmallTalk per il resto dell'estate, ora che ho più tempo libero.
Grazie comunque del cosiglio: adesso so cosa potrò fare di interessante dopo questo periodo, e cioè dedicare un po' di tempo al Python (magari consultando l'ormai famoso testo che secondo me potresti aggiungerti in firma così a noi povere pecorelle smarrite ci vien più comodo raggiungere :D) con un occhio di riguardo per l'aspetto OO.
Una cosa però è abbastanza certa: per lavoro sarà più probabile l'utilizzo di Python che non di Squeak. (è il motivo per cui ho fatto la battuta sulla produttività (con Java mi sembra un po' dura preparare rapidamente prototipi))
Ciao :)
@banryu79
se vuoi imparare la programmazione a oggetti devi prenderti un bel libro di ingegneria del software, il linguaggio non c'entra: java è perfetto a questo scopo :O
Una cosa però è abbastanza certa: per lavoro sarà più probabile l'utilizzo di Python che non di Squeak. (è il motivo per cui ho fatto la battuta sulla produttività (con Java mi sembra un po' dura preparare rapidamente prototipi))
per realizzare prototipi di solito si usano ambienti RAD e la cosa mi risulta fattibile anche in Java ;)
cdimauro
23-07-2008, 10:18
Ma anche no: Python è MOLTO semplice, e tiri fuori MOLTO velocemente dei prototipi. :cool:
E il RAD non è certo obbligatorio: dipende dall'applicazione. ;)
x banryu79: OK, chiarissimo. :)
P.S. Firma modificata. :D
ad esempio un buon libro è questo http://books.google.it/books?id=o7RQAAAAMAAJ&dq=author:liskov&client=firefox-a&pgis=1
@cdimauro
e chi ha parlato di python
banryu79
23-07-2008, 11:54
Grazie mille ad entrambi per i consigli.
@k0nt3:
grazie per il suggerimento "libresco", credo che ne terrò conto.
Per il discorso sui prototipi ti confesso che così "a naso", da quel poco che ho visto di Python, l'istinto mi suggerisce che sia più agile di Java per questo scopo.
Per ora continuo con i miei studi.
cdimauro
23-07-2008, 14:13
@cdimauro
e chi ha parlato di python
Volevo dire che è molto più semplice (di Java). ;)
x banryu79: di nulla. :)
Fermati un attimo. A mio avviso dovresti prendere qualche corso base di SmallTalk e di Python e confrontare i due linguaggi limitatamente a ciò che pensavi: la programmazione a oggetti.
Così potrai renderti conto personalmente quale linguaggio trovi più interessante e per cui valga la pena spenderci del tempo. :)
Aspettiamo, aspettiamo. Vorrei che Python emergesse non perché faccio opera di divulgazione, ma perché ci si rende conto che come linguaggio valga veramente.
Nel frattempo io continuo a sperimentare (è un periodo in cui sto rifattorizzando del codice e mi passano per la testa tante idee su come sfruttare alcune caratteristiche del linguaggio), che mi sto divertendo un mondo. :cool:
Ne abbiamo già parlato non so quante volte: le basi della programmazione non hanno nulla a che fare con la conoscenza di concetti quale quello dei puntatori.
Peggio ancora partire con un linguaggio contorto come il C.
Molto meglio iniziare subito col piede giusto. Cioé... Python. :D
Non sono d'accordo: gli IDE sono troppo comodi. Basta con gli editor di testo con, al più, la syntax highlight: siamo nel 2008!!! :p
:stordita:
Ecco, ora ci siamo. :D
non passiamo da un estremo ad un altro...non ho detto che NON bisogna usare gli ambienti di sviluppo, anch'io li uso....è logico che è conveniente usarli, ma senza dubbio cominciare da quelli senza chiedersi il perchè certe cose si fanno in un certo modo mi sembra comunque controproducente....mica ho detto che bisogna sviluppare applicativi con un editor di testo e basta, sarebbe assurdo visto i tempi, e anche anacronistico...almeno provare insomma facendo delle cose semplici, questo intendevo....non mi inventerei mai di mettermi a fare un software con un blocco note e basta...
effettivamente il C non è uno dei linguaggi più semplici per iniziare, anzi, ma quello che intendevo era magari provare a vedere linguaggi più a basso livello che ti fanno scontrare con delle problematiche che altri linguaggi (giustamente) non sfiorano nemmeno...
che poi i puntatori non facciano parte della base della programmazione è un tuo parere personalissimo che sinceramente non condivido per nulla...attenzione, ho detto "fanno parte" non "SONO"...c'è una bella differenza...poi che nella sezione programmazione del forum di Hardware upgrade lo sia detto un sacco di volte sinceramente non è che mi colpisca molto come argomentazione
trovo ragionevolte che uno si appoggi ad un ottimo linguaggio come python per iniziare a programmare, ma d'altro canto ritengo che programmare != pyhton...mica c'è solo quello...poi la puoi benissimo pensare come preferisci, io la penso diversamente
variabilepippo
23-07-2008, 15:09
che poi i puntatori non facciano parte della base della programmazione è un tuo parere personalissimo che sinceramente non condivido per nulla...attenzione, ho detto "fanno parte" non "SONO"...c'è una bella differenza...poi che nella sezione programmazione del forum di Hardware upgrade lo sia detto un sacco di volte sinceramente non è che mi colpisca molto come argomentazione
Imparare a programmare significa essenzialmente imparare a risolvere problemi mediante degli algoritmi e dal mio punto di vista i puntatori, per uno che deve concentrarsi sulla sintesi di una soluzione, introducono molti più problemi di quanti ne risolvano. Quando arriverà il momento, prima bisogna chiedersi SE arriverà, il programmatore novizio potrà tranquillamente aprire il cofano e scoprire cosa c'è sotto. Anche perché in molti linguaggi il loro uso è, a vari livelli ed in diversi contesti comuni: deprecato, inutile, dannoso, fuorviante, aggirabile, etc.
Se poi uno, tra i tanti linguaggi esistenti, sceglie proprio il C per iniziare allora difficilmente potrà fare a meno di approfondire il concetto di puntatore. Ma spero che nel 2008 siano in pochi ad optare per un linguaggio così anti-didattico.
Imparare a programmare significa essenzialmente imparare a risolvere problemi mediante degli algoritmi e dal mio punto di vista i puntatori, per uno che deve concentrarsi sulla sintesi di una soluzione, introducono molti più problemi di quanti ne risolvano. Quando arriverà il momento, prima bisogna chiedersi SE arriverà, il programmatore novizio potrà tranquillamente aprire il cofano e scoprire cosa c'è sotto. Anche perché in molti linguaggi il loro uso è, a vari livelli ed in diversi contesti comuni: deprecato, inutile, dannoso, fuorviante, aggirabile, etc.
Se poi uno, tra i tanti linguaggi esistenti, sceglie proprio il C per iniziare allora difficilmente potrà fare a meno di approfondire il concetto di puntatore. Ma spero che nel 2008 siano in pochi ad optare per un linguaggio così anti-didattico.
io intendevo solo il "concetto" dei puntatori, mica diventare pazzi a utilizzarli...
ma in sto forum non si riesce a far passare la "via di mezzo" ? :confused:
variabilepippo
23-07-2008, 15:47
io intendevo solo il "concetto" dei puntatori, mica diventare pazzi a utilizzarli...
ma in sto forum non si riesce a far passare la "via di mezzo" ?
Dicevi che le argomentazioni non ti colpivano, io mi sono limitato a presentare il mio personalissimo punto di vista, secondo il quale un neo-programmatore non dovrebbe preoccuparsi di aspetti secondari rispetto alla risoluzione di un problema via codice: uso dei puntatori, gestione manuale della memoria, endianess, re-implementazione da zero di strutture dati di uso comune, etc.
Senza considerare che non capisco l'utilità di impiegare il proprio tempo nell'apprendimento dei "concetti" se non bisogna poi utilizzarli, quando ci sono tante altre priorità. :)
Dicevi che le argomentazioni non ti colpivano, io mi sono limitato a presentare il mio personalissimo punto di vista, secondo il quale un neo-programmatore non dovrebbe preoccuparsi di aspetti secondari rispetto alla risoluzione di un problema via codice: uso dei puntatori, gestione manuale della memoria, endianess, re-implementazione da zero di strutture dati di uso comune, etc.
Senza considerare che non capisco l'utilità di impiegare il proprio tempo nell'apprendimento dei "concetti" se non bisogna poi utilizzarli, quando ci sono tante altre priorità. :)
sono d'accordissimo con te se non per la definizione di neo-programmatore: uno che inizia da zero penso debba essere interessato a capire certi aspetti tecnici che non subito a fiondarsi sulla risoluzione del problema a discapito di tutto quello che c'è dietro...se uno nn capisce le differenze basilari (ad esempio) implementative di strutture dati differenti non saprà nemmeno scegliere la migliore per il contesto considerato...
d'altro canto uno che già programma non deve star li a perdere tempo con questi inuili dettagli implementativi....assolutamente d'accordo
però, già il fatto che tu questi argomenti li citi significa che li hai incotrati e ti ci sei scontrato, quindi non trovo inutile che uno sappia che esistono
variabilepippo
23-07-2008, 16:17
se uno nn capisce le differenze basilari (ad esempio) implementative di strutture dati differenti non saprà nemmeno scegliere la migliore per il contesto considerato
Secondo me un neo-programmatore deve sapere che esistono delle strutture dati e le loro peculiarità, se si trova nella fase di studio iniziale non potrà comprenderne né apprezzarne i dettagli implementativi, quanto basta per poterle usare (non riscrivere da zero!).
Quando impari a guidare un'automobile non devi necessariamente aprirne il cofano, supponendo che tu abbia 1 mese prima dell'esame di guida, tutto il tempo dedicato a smanettare con il motore e non con la teoria/pratica di guida è tempo perso se l'obiettivo è prendere la patente. Rischi di diventare un ottimo meccanico, senza sapere però come ci si muove nel traffico né cos'è un divieto di sosta. Ovviamente man mano che si acquisisce esperienza può diventare opportuno, o addirittura necessario, aprire il cofano e sporcarsi le mani. Io preferisco un neo-patentato che abbia imparato a guidare e che conosca il codice della strada ad uno con le mani sporche di grasso... ;)
Sto valutando python pure io x la facilità di utilizzo, ho la necessità di farmi alcuni programmi x calcolo elettromeccanico in ambito lavorativo.
Ora utitilizzo fogli excel con un po di codice che mi facilita il lavoro con cicli x la soluzione di alcune funzioni e alcune macro che automatizzano layout di stampa e altro.
Ora alcuni di voi si rovesceranno dallo scandalo ma alcuni anni fa ho fatto qualcosina in VB6 e in Delphi5 e mi sono trovato bene nella stesura del codice (cose semplici) e nelle maschere di inserimento dati, un po meno bene nelle stampe.
Python come GUI mi sembra meno immediato, sbaglio ?
In + la possibilità di proteggere gli algoritmi di calcolo non mi dispiacerebbe visto gli anni impegnati x ottenerli, e in un futuro vorrei poter sfruttare sql server x poter caricare in automatico i materiali sul programma di produzione che usa appunto questo database.
Che linguaggio mi consigliate ?
variabilepippo
23-07-2008, 23:40
ho la necessità di farmi alcuni programmi x calcolo elettromeccanico in ambito lavorativo.
Ma aprire una nuova discussione ti sembrava una cosa così brutta? :rolleyes:
Brutta no, ma non amo quelli che aprono 2000 post :D , qui si parlava con che linguaggio iniziare e io sono quasi all'inizio :mc:
variabilepippo
23-07-2008, 23:50
ma non amo quelli che aprono 2000 post
Bastava aprirne uno, non si paga... ;)
Python come GUI mi sembra meno immediato, sbaglio ?
Delphi e VB sono strumenti RAD, Python poggia su una filosofia diversa. In ogni caso puoi usare wxPython (ed i relativi GUI designer) o pyQT se hai bisogno di dotare di un'interfaccia grafica il tuo applicativo.
Che linguaggio mi consigliate ?
Se hai esperienza con Delphi ed il tuo programma deve essere eseguito solo su Windows prova Turbo Delphi (http://www.turboexplorer.com/).
Python, Java e .NET sono alternative valide.
e io sono quasi all'inizio
Sì, ma con un problema specifico... :)
Quando impari a guidare un'automobile non devi necessariamente aprirne il cofano, supponendo che tu abbia 1 mese prima dell'esame di guida, tutto il tempo dedicato a smanettare con il motore e non con la teoria/pratica di guida è tempo perso se l'obiettivo è prendere la patente. Rischi di diventare un ottimo meccanico, senza sapere però come ci si muove nel traffico né cos'è un divieto di sosta. Ovviamente man mano che si acquisisce esperienza può diventare opportuno, o addirittura necessario, aprire il cofano e sporcarsi le mani. Io preferisco un neo-patentato che abbia imparato a guidare e che conosca il codice della strada ad uno con le mani sporche di grasso... ;)
scusa ma che razza di paragone è?? :asd:
cosa c'entra prendere la patente col diventare un meccanico???
...il paragone avrebbe potuto reggere se avessi parlato di un elettrauto che può permettersi di avere una conoscenza minima di come funziona un motore, ma magari non gli interessa sapere tutti i singoli dettagli...non capisco veramente il paragone...
io non so te, ma all'università un sacco di volte ho """perso tempo""" con cose che reputavo marginali rispetto a quello che volevo fare, ma alla fine nessuna di queste si è rivelata inutile, anzì, sono convinto che la conoscenza più è ampia più sviluppa consapevolezza dei propri mezzi e delle scelte implementative che si devono fare...
per costruire una casa io (parere personale eh...) non inizierei mai dal tetto...
Sono d'accordo che il C sia ostico, faccia perdere tempo su problematiche che ad un programmatore esperto possono risultare inutili e fuorvianti...che sia anti-didattico e una mera perdita di tempo è agli antipodi del mio pensiero...anzi, se devo dire la sincera verità, mi sento veramente fortunato che il programma di certi corsi che ho affrontato non sia stato fatto in questo modo...:rolleyes:
variabilepippo
24-07-2008, 14:44
scusa ma che razza di paragone è??
cosa c'entra prendere la patente col diventare un meccanico???
Che legame c'è tra imparare a risolvere problemi con degli algoritmi (=saper programmare) e studiare i puntatori? :stordita: Sono fondamentali in casi particolari e SE si usano determinati linguaggi, si può vivere anche senza, soprattutto all'inizio quando le priorità sono altre (imparare a guidare, non a smanettare con il motore).
per costruire una casa io (parere personale eh...) non inizierei mai dal tetto...
Bravo, si inizia dalle fondamenta, cioè dal saper risolvere problemi con delle astrazioni, non con gestione della memoria, endianness, puntatori, che IMHO non rappresentano il tetto, per un principiante dovrebbero essere le tegole... Ovvero l'ULTIMA delle cose di cui preoccuparsi. :stordita:
Che legame c'è tra imparare a risolvere problemi con degli algoritmi (=saper programmare) e studiare i puntatori? :stordita: Sono fondamentali in casi particolari e SE si usano determinati linguaggi, si può vivere anche senza, soprattutto all'inizio quando le priorità sono altre (imparare a guidare, non a smanettare con il motore).
Bravo, si inizia dalle fondamenta, cioè dal saper risolvere problemi con delle astrazioni, non con gestione della memoria, endianness, puntatori, che IMHO non rappresentano il tetto, per un principiante dovrebbero essere le tegole... Ovvero l'ULTIMA delle cose di cui preoccuparsi. :stordita:
mmmm....interessante....risolvere problemi senza nemmeno conoscere nulla dello strumento che si usa per risolverli...così magari quando ti capita un bel "SEGMENTATION FAULT" ti tuffi sul primo forum a chiedere aiuto...e per ogni singolo problema non hai nemmeno idea del perchè certe cose si facciano in un certo modo....tanto non serve...la priorità è risolvere il problema....
secondo me la priorità è capire il perchè delle cose, anche scontrandosi con queste...ridurre tutto il mio discorso a dire programmare = puntatori è assurdo, ho citato il C solo per prendere un linguaggio ANCORA AMPIAMENTE USATO IN AMBITO DIDATTICO (saranno scemi quelli che lo scelgono...) che non da nulla per scontato e fa capire profondamente cosa vuol dire programmare attraverso un linguaggio...
non capisco come mai le università si ostinino a mettere come primi corsi di ambito informatico proprio quelli di programmazione dove si usa spesso e volentieri il C, e dopo quelli come algoritmi e strutture dati, piu astratti e votati a formare una mente critica rivolta alla risoluzione di problematiche complesse
a mio parere questo è un bagaglio culturale imprescindibile in questo ambiente, mica ho detto che bisogna perderci le notti sopra...sono basi...se le hai ti giova, se non le hai....amen...
gioverà senza dubbio non sapere nemmeno cosa vuol dire "dichiarare una variabile prima di utilizzarla"
ora che ci penso...mi torna alla mente il corso si sistemi operativi in cui mi spiegarono tutte le tecniche vecchie e nuove di gestione della memoria di un sistema operativo....quanto tempo sprecato...mi avessero detto "ragazzi avete presente UNIX? avete presente Windows ? avete presente ECC ECC ECC?...ecco quelli sono sistemi operativi, sono fatti per far funzionare il pc, dato che volete diventare programmatori e non vi troverete mai davanti il problema di gestire manualmente la memoria, è inutile che sia qui a spegarvi come la gestice un sistema operativo...tanto non vi servirà mai..."
mah.... :rolleyes:
variabilepippo
24-07-2008, 16:57
mmmm....interessante....risolvere problemi senza nemmeno conoscere nulla dello strumento che si usa per risolverli...così magari quando ti capita un bel "SEGMENTATION FAULT"
Un neofita NON dovrebbe imbattersi in "segmentation fault" perché non rientrano nel dominio "problema+soluzione", ma sono un danno collaterale generalmente evitabile scegliendo strumenti didattici migliori. Purtroppo ci sono dei linguaggi (es. C) che li regalano anche a programmatori con decenni di esperienza alle spalle, poi ci sono altri linguaggi che consentono di concentrarsi sulla risoluzione del problema e non sui dettagli implementativi (allocazione/dellocazione memoria, implementazione di strutture dati, etc). E' un po' come dare una vettura da Formula1, con tutti gli accorgimenti ed i parametri di guida da tenere sotto controllo, ad uno che non ha mai visto un'automobile. Rischia di schiantarsi alla prima curva, molto meglio partire con una Panda o con automobili dai controlli facilitati. Per premere sull'acceleratore si fa sempre in tempo... :stordita:
saranno scemi quelli che lo scelgono...
Sì, in molti casi si tratta di gente che non è mai uscita dall'ambito accademico e/o non ha mai scritto una riga di codice in un progetto "vero".
non capisco come mai le università si ostinino a mettere come primi corsi di ambito informatico proprio quelli di programmazione dove si usa spesso e volentieri il C
Certe tradizioni sono dure a morire... Non conosco nessuno che abbia imparato a programmare grazie ai corsi universitari, in compenso ne conosco tanti che sapevano farlo prima di immatricolarsi e tanti altri che sono stati costretti a farlo una volta entrati nel mondo del lavoro.
Concentrarsi sui dettagli a basso livello quando non si sa ancora strutturare un programma è come "guardare il dito e non la luna".
una domanda sorge spontanea, ma che azz sono gli endianness? :stordita:
una domanda sorge spontanea, ma che azz sono gli endianness? :stordita:
Quando devi scrivere (e poi leggerai) un intero da 4 byte in un file binario, puoi inziare a scrivere dal byte meno significativo, oppure da quello piu' significativo.
L'intero sara' sempre di 4 byte, ma a seconda di come lo interpreti saranno 2 valori diversi.
In realta' il discorso non e' limitato ai file, ma addirittura alla memoria stessa.
Esempi notevoli: Intel inizia dal byte meno significativo, Motorola dal byte piu' significativo.
Su un Intel, nel primo byte puntato da un puntatore a byte leggerai il valore meno significativo, sui motorola leggerai quello piu' singificativo.
Serve sapere queste cose? Se stai facendo un sistema operativi forse si' (ma forse anche no). Se stai leggendo dati di formati multipiattaforma potrebbe doverti servire.
http://it.wikipedia.org/wiki/Ordine_dei_byte
comunque devo dire che mi trovo d'ccordo con variabilepippo.. e comunque in USA pare che in qualche corso di informatica nelle università siano già passati a python.. per esempio dall'introduzione di "pensare da informatico" di David Beazley si legge:
Quando tengo corsi di informatica, il mio intento è quello di spiegare concetti importanti interessando ed intrattenendo nel contempo gli studenti. Sfortunatamente nei corsi introduttivi c'è la tendenza a focalizzare troppo l'attenzione sull'astrazione matematica e nel caso degli studenti a sentirsi frustrati a causa di fastidiosi problemi legati a dettagli di basso livello della sintassi, della compilazione e dall'imposizione di regole poco intuitive. Sebbene questa astrazione e questo formalismo siano importanti per il progettista di software professionale e per gli studenti che hanno intenzione di proseguire i loro studi di informatica, questo approccio in un corso introduttivo porta solitamente a rendere l'informatica noiosa. Quando tengo un corso non voglio avere davanti una classe di studenti annoiati: preferirei piuttosto vederli impegnati a risolvere problemi interessanti esplorando idee diverse, approcci non convenzionali, infrangendo le regole e imparando dai loro stessi errori.
Inoltre non voglio sprecare mezzo semestre a risolvere oscuri problemi di sintassi, cercando di capire messaggi del compilatore generalmente incomprensibili o di far fronte al centinaio di modi in cui un programma può generare un "general protection fault".
se nelle nostre università si usa il C perchè come al solito siamo indietro non vuol dire che sia giusto studiarlo..
Quando devi scrivere (e poi leggerai) un intero da 4 byte in un file binario, puoi inziare a scrivere dal byte meno significativo, oppure da quello piu' significativo.
L'intero sara' sempre di 4 byte, ma a seconda di come lo interpreti saranno 2 valori diversi.
In realta' il discorso non e' limitato ai file, ma addirittura alla memoria stessa.
Esempi notevoli: Intel inizia dal byte meno significativo, Motorola dal byte piu' significativo.
Su un Intel, nel primo byte puntato da un puntatore a byte leggerai il valore meno significativo, sui motorola leggerai quello piu' singificativo.
Serve sapere queste cose? Se stai facendo un sistema operativi forse si' (ma forse anche no). Se stai leggendo dati di formati multipiattaforma potrebbe doverti servire.
http://it.wikipedia.org/wiki/Ordine_dei_byte
grazie :)
Sì, in molti casi si tratta di gente che non è mai uscita dall'ambito accademico e/o non ha mai scritto una riga di codice in un progetto "vero".
un'affermazione molto forte...con un'argomentazione assai debole...non so che università hai frequentato tu, ma quella che ho frequentato io comprendeva professori la cui stragrande maggioranza faceva parte di gruppi di sviluppo e portavano di continuo la loro esperienza lavorativa nell'ambito dell'insegnamento...
prendi ad esempio Massimo Marchiori (http://www.w3.org/People/Massimo/shortbio.html), che ha insegnato sia a Venezia che a Padova, ha lavorato al MIT e fa parte pure del W3C...è stato il primo ad introdurre il concetto di iper-informazione, concetto alla base anche dell'algoritmo di google....questo "scemo" qui teneva un corso sull'assembler alla mia facoltà...visto che "l'assembler non serve a un emerito cazzo...tanto non lo usa più nessuno"...uno scemo insomma
come prima si confonde il concetto di possedere le basi con il rompersi la testa una vita sui dettagli...il mio discorso è diametralmente opposto...
^TiGeRShArK^
24-07-2008, 18:28
se lo insegnava con l'obiettivo di far imparare la programmazione assembly allora si, era uno scemo.
L'assembly si insegna per capire appieno il funzionamento della macchina, non certo perchè abbia un senso utilizzarlo oggi (soprattutto le cose che insegnano all'univ di assembly).
se lo insegnava con l'obiettivo di far imparare la programmazione assembly allora si, era uno scemo.
L'assembly si insegna per capire appieno il funzionamento della macchina, non certo perchè abbia un senso utilizzarlo oggi (soprattutto le cose che insegnano all'univ di assembly).
mi sembra che la seconda parte del discorso sia quella più verosimile...non credi?
sarebbe da scemi ritenere che uno decida di insegnare una cosa del genere con l'obiettivo di forgiare nuovi programmatori assembly...o no?
^TiGeRShArK^
24-07-2008, 21:51
mi sembra che la seconda parte del discorso sia quella più verosimile...non credi?
sarebbe da scemi ritenere che uno decida di insegnare una cosa del genere con l'obiettivo di forgiare nuovi programmatori assembly...o no?
ovvio.
ma la tua frase "l'assembler non serve a un emerito cazzo...tanto non lo usa più nessuno". sembrava voler dire che lui lo insegnava per far imparare a programmare, quindi ho voluto che tu specificassi meglio.
Certe tradizioni sono dure a morire... Non conosco nessuno che abbia imparato a programmare grazie ai corsi universitari, in compenso ne conosco tanti che sapevano farlo prima di immatricolarsi e tanti altri che sono stati costretti a farlo una volta entrati nel mondo del lavoro.
io sapevo già programmare prima di iniziare l'università, ma poi ho scoperto che non si finisce mai di imparare e devo molte conoscenze ai corsi che ho frequentato
Concentrarsi sui dettagli a basso livello quando non si sa ancora strutturare un programma è come "guardare il dito e non la luna".
sono due cose molto diverse e abbastanza scorrelate. da una parte bisogna imparare a risolvere problemi mediante algoritmi, mentre dall'altra bisogna conoscere come è fatto il computer anche nei "dettagli di basso livello". tra virgolette perchè poi non si va mai così in basso per non perdere in generalità.
ma penso che una laurea in informatica debba insegnare sia una cosa che l'altra.
cdimauro
25-07-2008, 08:12
comunque devo dire che mi trovo d'ccordo con variabilepippo.. e comunque in USA pare che in qualche corso di informatica nelle università siano già passati a python.. per esempio dall'introduzione di "pensare da informatico" di David Beazley si legge:
Quando tengo corsi di informatica, il mio intento è quello di spiegare concetti importanti interessando ed intrattenendo nel contempo gli studenti. Sfortunatamente nei corsi introduttivi c'è la tendenza a focalizzare troppo l'attenzione sull'astrazione matematica e nel caso degli studenti a sentirsi frustrati a causa di fastidiosi problemi legati a dettagli di basso livello della sintassi, della compilazione e dall'imposizione di regole poco intuitive. Sebbene questa astrazione e questo formalismo siano importanti per il progettista di software professionale e per gli studenti che hanno intenzione di proseguire i loro studi di informatica, questo approccio in un corso introduttivo porta solitamente a rendere l'informatica noiosa. Quando tengo un corso non voglio avere davanti una classe di studenti annoiati: preferirei piuttosto vederli impegnati a risolvere problemi interessanti esplorando idee diverse, approcci non convenzionali, infrangendo le regole e imparando dai loro stessi errori.
Inoltre non voglio sprecare mezzo semestre a risolvere oscuri problemi di sintassi, cercando di capire messaggi del compilatore generalmente incomprensibili o di far fronte al centinaio di modi in cui un programma può generare un "general protection fault".
se nelle nostre università si usa il C perchè come al solito siamo indietro non vuol dire che sia giusto studiarlo..
Post da incorniciare. :p
Ovviamente mi ritrovo perfettamente d'accordo anche con quanto detto finora da variabilepippo e "Tiger". :)
x akyra: leggiti questo http://www.hwupgrade.it/forum/showthread.php?t=1787500 thread e capirai molte cose sui linguaggi di programmazione. :cool:
Post da incorniciare. :p
Ovviamente mi ritrovo perfettamente d'accordo anche con quanto detto finora da variabilepippo e "Tiger". :)
x akyra: leggiti questo http://www.hwupgrade.it/forum/showthread.php?t=1787500 thread e capirai molte cose sui linguaggi di programmazione. :cool:
ti assicuro che, per quanto ritenga utile un forum e competente la gente che lo frequenta (e qui c'è anche gente competente), per chiarire concetti del genere mi affido a ben altre fonti...ah dimenticavo :cool:...il problema è sempre quello che non si sa chi ci sia dall'altra parte...
e poi saresti d'accordo con tigershark su che punto scusa? ha solo detto che l'assembly viene insegnato col fine di capire meglio la macchina, che è precisamente quello che intendevo io, visto che sarebbe assurdo focalizzare l'insegnamento su un linguaggio del genere se non fosse un altro il fine...il che riassume tutto il discorso che ho fatto in precedenza...sinceramente mi sembra più un "partito preso" che un'argomentazione vera e propria
cdimauro
25-07-2008, 14:11
ti assicuro che, per quanto ritenga utile un forum e competente la gente che lo frequenta (e qui c'è anche gente competente), per chiarire concetti del genere mi affido a ben altre fonti...ah dimenticavo :cool:...il problema è sempre quello che non si sa chi ci sia dall'altra parte...
Non ci posso fare niente: non cammino col curriculum dietro per dimostrarti SULLA CARTA chi sono e cos'ho fatto.
Mi spiace, ma dovrai affidarti esclusivamente sulla valutazione dei FATTI che emergono. ;)
Comunque il link a quella discussione te l'ho passato per mostrarti come viene affrontata la risoluzione di un problema con diversi linguaggi di programmazione e il costo in termini di produttività. Il C non ne esce fuori molto bene: dai un'occhiata alle soluzioni proposte. ;)
e poi saresti d'accordo con tigershark su che punto scusa? ha solo detto che l'assembly viene insegnato col fine di capire meglio la macchina, che è precisamente quello che intendevo io, visto che sarebbe assurdo focalizzare l'insegnamento su un linguaggio del genere se non fosse un altro il fine...il che riassume tutto il discorso che ho fatto in precedenza...sinceramente mi sembra più un "partito preso" che un'argomentazione vera e propria
Ma infatti il punto è proprio quello: "l'assembly viene insegnato col fine di capire meglio la macchina" che NON è una condizione necessaria per sviluppare (a meno che non sia esplicitamente il problema a richiederlo nei REQUISITI).
Non ci posso fare niente: non cammino col curriculum dietro per dimostrarti SULLA CARTA chi sono e cos'ho fatto.
Mi spiace, ma dovrai affidarti esclusivamente sulla valutazione dei FATTI che emergono. ;)
Comunque il link a quella discussione te l'ho passato per mostrarti come viene affrontata la risoluzione di un problema con diversi linguaggi di programmazione e il costo in termini di produttività. Il C non ne esce fuori molto bene: dai un'occhiata alle soluzioni proposte. ;)
Ma infatti il punto è proprio quello: "l'assembly viene insegnato col fine di capire meglio la macchina" che NON è una condizione necessaria per sviluppare (a meno che non sia esplicitamente il problema a richiederlo nei REQUISITI).
no aspetta, guarda che io non sto dubitando delle tue capacità, se dalle mie parole hai inteso questo mi dispiace, non era assolutamente mia intenzione alludere a nulla, nè mi passa per l'anticamera del cervello chiederti di dimostrare chissà cosa....ho detto soltanto che lo svantaggio principale dei forum è che non si sa davvero chi ci sia dall'altra parte:
a me è capitato spesso di leggere in giro delle porcate allucinanti (non è questo il caso), dette da persone che vantavano chissà quali esperienze che alla fine non facevano altro che del "male" a chi le leggeva...
cercando di tornare in tema: convengo con te che il C sia un linguaggio ormai vetusto sotto molti punti di vista, e se dovessi scegliere un linguaggio con cui sviluppare un progetto sceglierei il C solo se mi costringessero a frustate...
al contrario non sono convinto della sua totale inutilità didattica...
a mio parere un po' di C non fa mai male, almeno ti fa rendere conto che non tutto è scontato
Certo che se uno deve capire con cosa iniziare, il livello è un po altino, se uno vuole fare il programmatore x professione di solito inizia con un linguaggio che è + commerciale (almeno spero) in maniera da vedere remunerata la propria fatica, ma x uno che lo fa in maniera obbistica o finalizzata a poke applicazioni ?
Dietro consigli del forumi mi sono installato python e wxpyton e in aggiunta le wxformbuilder.
La facilità di python è incredibile ma mi rimangono alcuni dubbi (essendo uno che di materia non ne mastica molto)
Sono quasi 40° e quindi il meglio di me lo ho dato con il glorioso c64 sfogandomi poi con i vari sprite , poke un pseudo gwbasic e alcune istruzioni basi di assembler. Poi sono passato all'università e sinceramente tra fortran, c e pascal solo dell'ultimo ne ho fatto utilizzo in seguito.Passato all'ambito lavorativo mi sono accorto come excel non abbia pari per poter automatizzare i calcoli di progettazione, poi x motivi miei di riservatezza ho dovuto creare dei programmi compilati.Ho iniziato con il vb6 che mi sembrava il miglior compromesso x rimanere legato all'excel. Poi ho conosciuto il Delphi quasi x caso, e un po x il linguaggio pascal, e un po per il fatto che si potevano creare pseudo database senza quasi mettere codice lo ho ritenuto il miglior linguaggio x le mie esigenze.
Dopo anni rispunta il problema che devo creare nuovi programmi , mi documento su pyton e veramente è di un altro pianeta, x uno disordinato come me (mi sono visto il listati dei miei programmi di gioventù era turro un goto , gosub e return :D ), è la manna. Ma ci sono alcuni contro, il primo che per creare un minimo di grafica x l'inserimento dei dati e x organizzare le stampe mi sembra che ci voglia na vita (al contrario di delphi), il secondo che è interpretato e non so se i compilatori come p2exe funzino bene.
Ho perso qualcosa ?
p.s. Se dovessi propendere x delphi e avendo la possibilita di acquistare con la ditta il software (senza spendere cifre assurde , x quello bastano i vari cad), che diff ci sono tra turbo delphi e una soluzione commerciale , ne vale la pena ?
cdimauro
26-07-2008, 21:02
Con la soluzione commerciale puoi installare dei componenti esterni, che è una vera manna dal cielo.
Per quanto riguarda Python, è vero che al momento non è facile realizzare applicazioni dotate di GUI alla stessa velocità e con la stessa comodità di Delphi. Infatti in questi casi preferisco creare l'applicazione in Delphi e spostare quanta più logica possibile su Python, usando i componenti Python4Delphi che permette di integrare questo linguaggio in un'applicazione Delphi (e anche viceversa :D).
Comunque Python è interpretato: il sorgente è sempre compilato in bytecode prima di essere eseguito, similmente alle prime versioni di Java. E' comunque disponibile un pacchetto che permette di compilare al volo il bytecode in codice macchina x86 e che permette di ottenere notevoli incrementi prestazionali: http://psyco.sourceforge.net/
Per produrre report potresti utilizzare un pacchetto come questo: http://sourceforge.net/projects/pyexcel/ che consente di generare file Excel in maniera estremamente semplice con Python. ;)
Oppure questo http://www.resolversystems.com/ che è un'applicazione tipo Excel che è scritta interamente in Python e che permette di utilizzare Python come linguaggio da usare nelle celle. :cool:
Molto gentile, pyexcel se è quel che sembra è carino, penso xrò che mi orienterò su delphi e se è vero che la turbo non supporta componenti esterni (mi pare che tutti i report sono esterni) rispolvererò la 5 che ho la licenza (sempre ce non mi diciate che è troppo vecchia). Quando e se python avrà una gui decente cambierò. Soluzioni ibride delphi/pyton x un non programmatore penso siano sconsigliate.
Cdimauro visto che mi sembri ferrato mi spieghi perchè delphi è messo così male? Anni fa avrei scommesso che sarebbe diventato leader invece ora arranca, errori di marketing o limitazioni del linguaggio? Prima di conoscere il delphi e quando il tempo macchina si faceva sentire , mi sono fatto ricompilare alcuni programmi che avevo fatto in vb in C xkè il tempo di calcolo era troppo elevato (in pratica ho sostituito dei file dalla dimensione di 1Mb con dei file in C da poki Kb che viaggiavano come treni:D ). Poi ho trovato in delphi un ottimo compilatore che univa a una facilità di uso del vb con molte + componenti a una velocità non molto inferiore al c++. Oggi che sono alla ricerca di un nuovo linguaggio + facile , dalle mie limitate conoscenze mi sembra che Delphi sia ancora uno dei migliori linguaggi, eppure nessuno lo consiglia, seppure permetta di ottenere applicazioni grafiche con una certa semplicità. Stranezze del' informatica:mad:
cdimauro
27-07-2008, 09:10
Per quanto mi riguarda penso sia dovuto principalmente a errori di marketing: Borland s'è trovata spiazzata con l'arrivo delle soluzioni Express di MS e non ha saputo reagire.
Sul fronte del linguaggio ci sono stati anche degli errori: non è stato fatto evolvere abbastanza velocemente per abbracciare appieno tutte le funzionalità offerte da .NET (l'esempio più evidente è rappresentato dalla mancanza dei generic).
A parte questo, continuo a usare Delphi per sviluppare applicazioni dotate di GUI perché lo trovo ancora imbattibile come RAD. Ma ci affianco Python perché, come ti sei potuto rendere conto, a sua volta è imbattibile come linguaggio per scrivere velocemente codice (che sia anche leggibile e manutenibile).
Puoi benissimo usare Delphi 5 perché è un ottimo e solido RAD.
Infine concordo sul non usare soluzioni ibride al momento per i principianti, anche se ti assicuro che l'integrazione fra i due linguaggi è estramente semplice e funzionale. ;)
Ho installato Turbo Delphi sul mio portatile (un po vecchiotto) azzo se è pesante, sfrutto la vs disponibilità: ma wxformbuilder lo ritenete buono ?
Mi sto leggendo i vecchio post e più leggo + mi accorgo che python è FACILE.
cdimauro
27-07-2008, 17:26
Ho installato Turbo Delphi sul mio portatile (un po vecchiotto) azzo se è pesante, sfrutto la vs disponibilità: ma wxformbuilder lo ritenete buono ?
Non l'ho mai usato, per cui non ti saprei dire.
Mi sto leggendo i vecchio post e più leggo + mi accorgo che python è FACILE.
E molto versatile. :)
Vedrai che la tua produttività con questo linguaggio aumenterà enormemente, tra l'altro a vantaggio di leggibilità e manutenibilità del codice. :cool:
rеpne scasb
27-07-2008, 17:27
Ciao a tutti, ultimamente mi sto...[CUT]
Non intervengo mai in questo genere di discussioni ma vorrei fare un paio di considerazioni sulla sezione "Programmazione" di questo furum (non me ne voglia il moderatore).
Come al solito se qualcuno chiede "Quale linguaggio di programmazione mi consigliate per iniziare?" la discussione si riempira' di decine di pagine di "cose"...non so neache come definirle. Se qualcuno scende nel pratico (rendo atto all'utente gugoXX di averlo fatto), e la difficolta' e' appena superiore al normale allora la discussione langue, con pochi quanto esanimi interventi.
Per esempio in questa discussione http://www.hwupgrade.it/forum/showthread.php?t=1787500 sono stati proposti tre quesiti da risolvere, di cui solo il quesito C di un certo interesse. Molti hanno risolto i quesiti A e B, ma sul quesito C, i vari programmatori C#, java, python... si sono arenati, stranamente ha resistito un programmatore C, un monaco amanuense tale "Fra' Vincenzo da Palermo" che al lume di una modesta candela nella penombra della sua celletta risolveva il quesito C.
*** Prima considerazione. Ai programmatori NON-C: non e' che l'uso di linguaggi di programmazione a troppo-alto livello vi sta mandando in pappa il cervello?
Nella stessa discussione ho proposto una mia versione in C che risolvesse il quesito C. Tale versione impiega tempi ridicolmente bassi per la soluzione. Nessuno ha chiesto: "mi spieghi come funziona il tuo algoritmo per risolvere il quesito C?". Nulla. Il languore piu' completo.
*** Seconda considerazione. A tutti: ma possibile che nessuno abbia domandato: "Come funziona la tua soluzione al quesito C?"
Io noto una sostanziale "scarsezza" dei programmatori NON-C, e la discussione che ho precedentemente linkato e' una delle tante conferme, quindi da oggi alla domanda: "Quale linguaggio di programmazioni mi consigliate?" la risposta e' "Il C, il miglior linguaggio per non impigrire il programmatore e tenerlo sveglio.".
Ci sono gia' troppi programmatori mediocri, non aggiungiamone altri. :p :p :p :Prrr:
^TiGeRShArK^
27-07-2008, 19:23
beh, nel contest n° 2 i risultati migliori sono stati ottenuti da codice C# ( O(N + M) ):Prrr:
Nel terzo contest io avevo frainteso il punto C e poi mi rompevo le balle mettermi a pensare ancora (E soprattutto far partire parallels con visual studio :O)
:p
rеpne scasb
27-07-2008, 22:09
Nel terzo contest io avevo frainteso il punto C e poi mi rompevo le balle mettermi a pensare ancora (E soprattutto far partire parallels con visual studio :O)
:p
Certo, certo. :mc: :p :Prrr:
^TiGeRShArK^
27-07-2008, 22:13
Certo, certo. :mc: :p :Prrr:
Tira fuori tu qualche contest bello caZZuto allora :read:
:p
rеpne scasb
27-07-2008, 22:26
Tira fuori tu qualche contest bello caZZuto allora :read:
:p
Gia' vi trovare in difficolta' (ad eccezione di a2000.1, il quale a riprova del tutto non programma in c#, java, python...) con il quesito C proposto da gugoXX, figuriamoci con un quesito "caZZuto". Devo sparare sulla crocerossa? :p :Prrr:
^TiGeRShArK^
27-07-2008, 22:34
Gia' vi trovare in difficolta' (ad eccezione di a2000.1, il quale a riprova del tutto non programma in c#, java, python...) con il quesito C proposto da gugoXX, figuriamoci con un quesito "caZZuto". Devo sparare sulla crocerossa? :p :Prrr:
ok allora domani ci penso e lo risolvo il quesito C che ora sto uscendo :O
Tanto non le ho manco lette le vostre soluzioni, leggevo solo i commenti :p
rеpne scasb
27-07-2008, 22:44
ok allora domani ci penso e lo risolvo il quesito C che ora sto uscendo :O
Tanto non le ho manco lette le vostre soluzioni, leggevo solo i commenti :p
Bravo, intravedo un barlume di speranza! :p
Risolvi il quesito C, e poi ti proporro io un quesito veramente "caZZuto".:cool: :p ...il prossimo week-end pero', in questa settimana sono impegnata e non potro' dedicare del tempo al forum.
in questa settimana sono impegnata
mmmmm...interessante...una dolce donzella in questo covo di bruti...
comunque per quanto mi riguarda, lavorando e studiando mi ritrovo a leggere il forum nei momenti di "svago" o nei momenti "buchi" al lavoro...e devo dire che a volte su certi quesiti mi limito anche solo a leggere i commenti degli utenti, se qualche cosa mi conturba veramente o se sono particolarmente ispirato allora mi metto li a rispondere a dovere, ma altre volte ammetto di peccare di pigrizia :p
banryu79
28-07-2008, 09:13
mmmmm...interessante...una dolce donzella in questo covo di bruti...
Attento Akyra, repne scab è una che morde :O
E' lei la "bruta", non noi :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.