View Full Version : vorrei iniziare a programmare ma credo ke ormai sia troppo tardi...
Th3 Kn0wl3dg3
26-09-2006, 23:41
il titolo dice tutto.ho sempre amato i sistemi informatici, i programmi,sapere come funzionano, come si scrivono e ho sempre ammirato i grandi programmatori del mondo informatico.purtroppo ho avuto il mio primo computer da poco.volevo cominciare a programmare, ma fra un pò compio 19anni e credo ke sia troppo tardi, anche per andare alla facoltà di scienze informatiche.vedo che nel mondo ci sono un sacco di ragazzi + giovani di me che hanno dato una svolta notevole al mondo dell'informatica, tipo dvd jhon.non ho nemmeno la mentalità del programmatore, una mente aperta, niente..che dovrei fare secondo voi?
..che dovrei fare secondo voi?
0)Studiare l'inglese, se non lo conosci.
1)Scegliere un linguaggio semplice per cominciare, tipo Python.
2)Recuperare un buon libro sul linguaggio.
3)Studiare e Programmare ad abundantiam.
Ziosilvio
27-09-2006, 08:14
0)Studiare l'inglese, se non lo conosci.
1)Scegliere un linguaggio semplice per cominciare, tipo Python.
2)Recuperare un buon libro sul linguaggio.
3)Studiare e Programmare ad abundantiam.
Quoto tutto, soprattutto i primi due punti; e suggerisco questo testo (http://www.ibiblio.org/obp/thinkCSpy/).
il titolo dice tutto.ho sempre amato i sistemi informatici, i programmi,sapere come funzionano, come si scrivono e ho sempre ammirato i grandi programmatori del mondo informatico.purtroppo ho avuto il mio primo computer da poco.volevo cominciare a programmare, ma fra un pò compio 19anni e credo ke sia troppo tardi, anche per andare alla facoltà di scienze informatiche.vedo che nel mondo ci sono un sacco di ragazzi + giovani di me che hanno dato una svolta notevole al mondo dell'informatica, tipo dvd jhon.non ho nemmeno la mentalità del programmatore, una mente aperta, niente..che dovrei fare secondo voi?
io ho iniziato a 31 anni... ai miei tempi c'erano solo calcolatrici... poi conobbi il C64... linguaggio il basic. Nessuno ti deve forzare
Se 19 anni son troppi per iniziare ad imparare io che ne ho 30 che faccio, inizio a scrivere gli inviti per il mio funerale? :D
Anzichè pensare alla tua tumulazione, coltiva la passione che senti di avere. Scartabella un po' internet, prova un po' di linguaggi, scegli quello che ti sconfiffera di più. Poi trova un "genere" che ti paia interessante e via col sorriso sulle labbra e il coltello tra i denti.
Conoscere l'inglese amplia di parecchio la quantità di informazioni di cui puoi fare man bassa. Non serve essere Lord Carrington, basta un anglosassone di sopravvivenza.
Uno che ha la mentalità del programmatore senza aver mai programmato dovrebbe farsi vedere da uno psicologo.
Tempo e applicazione danno tutte le mentalità che si possono desiderare e se hai un pizzico di curiosità prepara i pani e i pesci: fa miracoli.
Asterion
27-09-2006, 11:01
il titolo dice tutto.ho sempre amato i sistemi informatici, i programmi,sapere come funzionano, come si scrivono e ho sempre ammirato i grandi programmatori del mondo informatico.purtroppo ho avuto il mio primo computer da poco.volevo cominciare a programmare, ma fra un pò compio 19anni e credo ke sia troppo tardi, anche per andare alla facoltà di scienze informatiche.vedo che nel mondo ci sono un sacco di ragazzi + giovani di me che hanno dato una svolta notevole al mondo dell'informatica, tipo dvd jhon.non ho nemmeno la mentalità del programmatore, una mente aperta, niente..che dovrei fare secondo voi?
Tranquillo amico non è affatto troppo tardi come credi tu.
Innanzitutto se hai un diploma puoi iscriverti ad una laurea triennale in informatica. Io ho una laurea in informatica, ti devo avvertire però di una cosa: l'informatica all'università è soprattutto una branca della matematica che studia problemi computazionali. Anche se ci sono esami tecnici interessanti, il corso di laurea in informatica non è una scuola di programmazione (purtoppo), per quella ti serve tanta pratica.
Non avere fretta e pensa che non si tratta di una gara con altri programmatori, ci saranno sempre persone più brillanti di noi. Io a 30 programmo in java per un'azienda e non farò mai credo quello che ha fatto dvd john ma amen, basta che ti piaccia quello che fai.
Io non ti consiglio python, ti consiglio di esaminare le carateristiche di ogni linguaggio (programmazione strtturata come il C o ad oggetti come il C++/java), linguaggio interpretati/compilati (Java / C).
Poi tanta pratica, basta che tu sia soddisfatto di quello che fai, non importa nulla dove arriverai ;)
non conosco il python, quindi non posso fare considerazioni, ma credo che per iniziare da zero anche perl e qbasic non siano cattivi... se poi vuoi buttarti sul c/c++/java ti consiglio il perl, altrimenti il qbasic, che è proprio "basico" :D
Th3 Kn0wl3dg3
27-09-2006, 13:06
avete ragione, ma l'obiettivo mio sarebbe quello di fare qualcosa di veramente importante e che resti nella storia..
Di solito gli essere umani fanno una stronzata a caso e lasciano che la storia decida quanto sia stata importante.
Di solito gli essere umani fanno una stronzata a caso e lasciano che la storia decida quanto sia stata importante.
:mano:
Xalexalex
27-09-2006, 14:49
Di solito gli essere umani fanno una stronzata a caso e lasciano che la storia decida quanto sia stata importante.
:ave:
P.s. Difficilmente farai qualcosa che resterà nella storia DA SOLO.. Trova qualcuno che ha la tua stessa passione!
:ave:
P.s. Difficilmente farai qualcosa che resterà nella storia DA SOLO.. Trova qualcuno che ha la tua stessa passione! straquoto. nel mondo dell'informatica un ottimo modo per rimanere nella storia è unirsi ad un progetto opensource. ma per prima cosa sappi che queste manie di protagonismo sono inutili: tu devi solo pensare a divertirti nella vita, a fare cose che ti piacciono.
Th3 Kn0wl3dg3
27-09-2006, 16:27
era da tanto ke non sentivo delle parole cosi sagge..
Xalexalex
27-09-2006, 18:57
era da tanto ke non sentivo delle parole cosi sagge..
Diventa programmatore e anche tu sarai un asceta onniscente :O
Th3 Kn0wl3dg3
27-09-2006, 19:07
eheh!!allora...con cosa dovrei cominciare?cosi stampo tutto e studio mattina e sera!
Xalexalex
27-09-2006, 19:12
Parti da qui: http://www.greenteapress.com/thinkpython/ per le versioni stampabili del manuale di Python, e il mio consiglio è di stampartele non studiarle a video... Studiare sullo schermo a me riesce molto difficile e mi si stancano gli occhi dopo molto poco...
E poi vuoi mettere lo studio mentre sei seduto sulla tazza del.....al posto di topolino :asd:
Parti da qui: [url]
E poi vuoi mettere lo studio mentre sei seduto sulla tazza del.....al posto di topolino :asd:
io c@g@ a memoria... :ciapet: ;) ;) ;)
Xalexalex
27-09-2006, 19:26
io c@g@ a memoria... :ciapet: ;) ;) ;)
:fuck: :asd:
Io consiglio.. se proprio non hai programmato con nulla.. Di partire con Html.. ti leggi un pò di guide e in una settimana hai già una bella infarinatura.. ;)
Dopo di chè parti a manetta con C++.. trovi tantissimo materiale.. è un linguaggio tra i + utilizzati e ti permette di fare di tutto.. dai programmi a cazzetto seguendo la scia degli Hello World.. :D a programmi di grafica.. giochi.. 2d e 3d.. Insomma, puoi fare molto, e questo con anche con altri linguaggi.. In fin dei conti le potenzialità non sono del linguaggio ma devono essere tue.. Se impari a programmare molto bene.. col passare del tempo, studiando i programmi o anche solo facendo esercizi vedrai che ti verrà in mente una buona idea.. E a quel punto siccome avrai le conoscenze necessarie per mettere in pratica quello che ti passa per la testa potrai fare quello che ti pare!! ;)
Lo so che guardare film tipo Hackers o Synapse ti fanno venire quella voglia convulsiva di voler fare qualcosa di davvero grande.. però ci vuole del tempo amico mio.. e tanta buona volontà.. Iniziare è difficile lo so, ma se parti bene non ti ferma + nessuno.. te lo garantisco... ;) :cool:
(io purtroppo sono partito male.. e sto facendo c++ e database ad ing informatica...) :(
morskott
27-09-2006, 21:19
avete ragione, ma l'obiettivo mio sarebbe quello di fare qualcosa di veramente importante e che resti nella storia..
"Non cercare di essere un grande uomo, sii solo un uomo, e lascia il giudizio alla storia"
Citazioni a parte mi unisco al coro di chi dice che non è AFFATTO troppo tardi, "where there's a will, there's a way"!!!!!
Personalmente ti consiglio di cominciare dal java/C#
Xalexalex
27-09-2006, 21:20
Io consiglio.. se proprio non hai programmato con nulla.. Di partire con Html.. ti leggi un pò di guide e in una settimana hai già una bella infarinatura.. ;)
Dopo di chè parti a manetta con C++.. trovi tantissimo materiale.. è un linguaggio tra i + utilizzati e ti permette di fare di tutto.. dai programmi a cazzetto seguendo la scia degli Hello World.. :D a programmi di grafica.. giochi.. 2d e 3d.. Insomma, puoi fare molto, e questo con anche con altri linguaggi.. In fin dei conti le potenzialità non sono del linguaggio ma devono essere tue.. Se impari a programmare molto bene.. col passare del tempo, studiando i programmi o anche solo facendo esercizi vedrai che ti verrà in mente una buona idea.. E a quel punto siccome avrai le conoscenze necessarie per mettere in pratica quello che ti passa per la testa potrai fare quello che ti pare!! ;)
Lo so che guardare film tipo Hackers o Synapse ti fanno venire quella voglia convulsiva di voler fare qualcosa di davvero grande.. però ci vuole del tempo amico mio.. e tanta buona volontà.. Iniziare è difficile lo so, ma se parti bene non ti ferma + nessuno.. te lo garantisco... ;) :cool:
(io purtroppo sono partito male.. e sto facendo c++ e database ad ing informatica...) :(
:argh: Html non è un linguaggio di programmazione...
Cmq per la scelta anch'io opterei come prima base, C++... Prima di me ti hanno consigliato Python... Non voglio spiegarti perchè io dico C++ e loro Python anche perchè finiremmo in orribili e flameose discussioni. Pensala così: con Python puoi fare molto, più velocemente, e in modo più semplice. Con C++ hai molto più controllo sul programma, moltissima versatilità, impari anche le basi basi, e puoi fare tutto.
Just my 2 cents :D
franksisca
27-09-2006, 23:13
guarda, io ho fatto il mio primo programma al secondo periodo di università, quindi 19 anni compiuti.....
Mi interesso molto di java, e mi sorprendo di quanto sia potente e versatile ogni volta che trovo qualcosa di nuovo, ma non ti consiglierò un linguaggio.
Per prima cosa ti consiglio di leggere qualcosa sulla struttura dei programmi, poi ti dico di farti qualcosa in assembly(secondo me allarga la mente), poi C e poi scegli tu, la programmazione ad oggetti è moooooolto ampia(Comunque scegli tra java e C++, non altre "porcate(parlo per esperienza personale)).
Detto ciò credo che non ti rimane che iniziare a leggere e a fare tanti "hello world!"
Th3 Kn0wl3dg3
28-09-2006, 00:10
siete tutti molto gentili, ma con tutti questi consigli non so da dove cominciare..se voi foste nei miei panni quale linguaggio comincereste a studiare?!
Pare una domanda innocente ma scatena regolarmente la terza guerra mondiale :D. Proviamo a vedere con cosa hanno iniziato gli altri. Ritarderà la rissa (che è inevitabile).
BASIC (su mitologico VIC-20)
Quoto tutto, soprattutto i primi due punti; e suggerisco questo testo (http://www.ibiblio.org/obp/thinkCSpy/).
anche io ti consiglio python, poi il libro linkato da Ziosilvio cerca di spiegare anche le basi della programmazione
19 anni? Quando ho letto il titolo credevo ne avessi minimo 70 :D
Anche io ho avuto il primo pc a 19 anni!
Per quanto riguarda l'universita' ti dico solo che c'e' molta matematica, quindi regolati,
pero', se vuoi un consiglio vacci all'universita', almeno per provare, almeno
per un annetto, se proprio non va lascerai...
Per il resto, umilte', umilte', e ancora umilte'...
ciao.
;)
Th3 Kn0wl3dg3
28-09-2006, 12:54
ma all'università quale facoltà dovrie prendere dove c'è programmazione?scienze informatiche o ingegneria informatica?e che tipo di matematica c'è?!
Xalexalex
28-09-2006, 13:10
Pare una domanda innocente ma scatena regolarmente la terza guerra mondiale :D. Proviamo a vedere con cosa hanno iniziato gli altri. Ritarderà la rissa (che è inevitabile).
BASIC (su mitologico VIC-20)
C su winzozzo (grave errore, ci voleva Linuxzxzz...)
la scelta universitaria è una cosa e imparare la progarmmazione un altra... cmq guardati i corsi di studi nell'ateneio dove vorresti andare e documentati....
non credere che come programmatore cambi il mondo, ma se lo fai per passione è una cosa che da molte soddisfazioni personale e se diventi bravo anche un discreto guadagno
come linguaggio per inizare personalmente ti direi di inizre col c, che è molto completo per poi passare al c++ e poi al Java, anche perchè sono quelli che ti fanno vendere meglio sul mercato, specie il Java....
trovi molto materiale, su tutti e tre, quello che ti posso consigliare è di cercare di capire bene i meccanismi e provare ogni piu piccolo brandello di codice, e cercare di capirlo, che trovi sulle guide.
Cmq se segli un corso di laurea come programmazione passano magari un po sopra alle cose facilissime, ma spiegano tutto dal principio....
di certo non sono tanti 19 anni per iniziare, dipende dalla tua voglia e volontà
:)
Pare una domanda innocente ma scatena regolarmente la terza guerra mondiale :D. Proviamo a vedere con cosa hanno iniziato gli altri. Ritarderà la rissa (che è inevitabile). AAAAAAA ma allora sei fissato te co st'invasione della Polonia, eh... :asd:
io ormai mi sono evoluto, flammo su altri argomenti molto più divertenti :D :Prrr:
siete tutti molto gentili, ma con tutti questi consigli non so da dove cominciare..se voi foste nei miei panni quale linguaggio comincereste a studiare?! fino a qualche giorno fa ti avrei risposto "uno qualsiasi, l'importante è che impari"; adesso, riflettendo meglio, preferirei consigliarti uno qualsiasi dei più usati. nel senso, è inutile che impari Fortran come primo linguaggio a meno che tu non abbia esigenze specifiche che non hai; se parti che vuoi imparare un linguaggio per il puro gusto di programmare allora mi sento piuttosto di consigliarti Java, C++ o Python (non tutti assieme, vai con calma).
ecco, se vuoi qui (http://java.sun.com/j2se/1.5.0/docs/index.html) c'è la documentazione ufficiale della Sun del linaguaggio Java: sintassi e interfacce API.
questo sito (http://www.cplusplus.com/) invece è una buon reference di C++.
per Python non saprei perché non lo conosco; persone più esperte di me nell'ambito sapranno consigliarti.
PGI-Bis... lo sai che cos'è che fa partire il flame...? :incazzed:
C su winzozzo (grave errore, ci voleva Linuxzxzz...) QUESTO!! :muro: :muro: :muro:
Xalexalex
28-09-2006, 14:18
PGI-Bis... lo sai che cos'è che fa partire il flame...? :incazzed:
QUESTO!! :muro: :muro: :muro:
Pecchè?
Pecchè? non flammerò, non flammerò, non flammerò... :|
Xalexalex
28-09-2006, 14:42
non flammerò, non flammerò, non flammerò... :|
:asd: Resistiii... resistiiii...
Th3 Kn0wl3dg3
28-09-2006, 21:53
ho valutato e credo sia meglio cominciare dal C!potreste darmi un link dove trovare una guida completa da poter stampare sul C?grazie anticipatamente a tutti!
p.s.riguardo la facoltà universitaria ancora non so.sono indeciso tra scienze informatiche e ingegneria informatica..
ho valutato e credo sia meglio cominciare dal C!
Hai valutato molto male.
Leggiti la prima delle mie signature in basso...
Oddio, C come linguaggio è molto bello. Ha poche regole, tipi e strutture elementari. La documentazione delle librerie è penosa e il codice generalmente incomprensibile ma penso che siano questioni extralinguistiche. Perchè no?
Hai valutato molto male. come sono solito ripetere ultimamente, non c'è un metro per la bontà di un percorso didattico; ciascun percorso ha vantaggi e svantaggi. può anche partire da un linguaggio più semplice, come Java o Python: avrà il vantaggio di essere produttivo in tempo minore ma di essere meno colto e sapiente su cosa avviene "under the hood"; è una sensazione, ti assicuro per esperienza personale, spesso frustrante nonché in aperto contrasto col suo obiettivo primario (imparare per il puro gusto di imparare piuttosto che per produrre subito qualcosa).
Leggiti la prima delle mie signature in basso... la tua sign contiene un paio di battute cretine e discutibilmente divertenti, non delle ragioni valide.
col suo obiettivo primario (imparare per il puro gusto di imparare piuttosto che per produrre subito qualcosa). rettifico: non era questo il suo obiettivo :D
il suo obiettivo era entrare nella storia, ma conoscendo lo stereotipo penso che una volta capito che è un'obiettivo assurdo cercherà principalmente di allargare le sue conoscenze
Bombetta incendiaria!!! :D
Kernigan e Ritchie dicono che C è un linguaggio che astrae dai dettagli dell'architettura. A meno che non siano improvvisamente rincoglioniti (non son più dei giovanotti :D) a me pare pertanto che C non abbia alcuna particolare capacità di istruire alcuno su alcunchè di ciò che capita dietro le quinte. Potrebbe aiutare, invece, un bel librone sull'architettura dei calcolatori. (chi ha detto "Patterson-Hennessy"?).
astrae dai dettagli dell'architettura; chissenefrega dei protocolli di I/O, mi riferivo ai banalissimi puntatori.
Th3 Kn0wl3dg3
30-09-2006, 18:59
quando ho detto ke volevo entrare nella storia era un modo esagerato per dire ke vorrei imparare molte cose sulla programmazione!
ora, con quale devo cominciare?!
La scelta del linguaggio sta a te.
Il C nn è male come inizio, anche se nn è molto semplice, ma si trova cmq molto materiale in internet (a dire il vero se sai l'inglese trovi materiale su tutto).
Comunque se sei appassionato di queste cose, io ti consiglierei anche di studiare, come ha detto pgi-bis, l'architettura di un elaboratore (in pratica com'è fatto dentro il pc), noi lo stiamo iniziando ora nel corso di sistemi (per passare poi alla programmazione in assembler) ed è molto interessante.
Comunque se ci metti la buona volontà riesci a fare tutto, l'importante è che nn ti scoraggi, dato che ci vorrà sicuramente molto tempo prima di vedere qualcosa di realmente utili (parlo quindi del superare la fase dei programmini stupidi che ti calcolano l'area di un quadrato :P)
il C sta all'inglese come la programmazione sta alla lingua... sarebbe un ottimo inizio, però è pieno di difficoltà e non tutti riescono ad arrivare alla fine :asd: detto ciò io ho imparato a programmare quando ancora non sapevo camminare (ho imparato a camminare tardi :D ) in pascal che alla fine è simile al C solo che le cose si chiamano in modo diverso ed è mooolto più pulito (ideale per imparare, ma ormai in disuso).
senza dubbio comunque non devi rimanere al C come linguaggio.. un programmatore non sarebbe completo se non sa programmare a oggetti.. quindi ti consiglio in seguito di passare a C++, java o C# (anche se preferirei java personalmente)
questo sarebbe un ottimo libro da leggere se fosse finito http://www.mindviewinc.com/ThinkingInC/Beta3Download.php prova a vedere.
è pensato per imparare C e poi passare a java se non erro.. adesso lo riscarico a vedere ;)
ps. è un audiobook in inglese.. se capisci l'inglese è ottimo perchè mira a imparare C++/java alla fine altrimenti non serve a molto :stordita:
Zimmemme
30-09-2006, 23:08
Dai, dico anche la mia.
Lascia perdere Phyton, QBasic e porcherie varie.
Impara BENE un solo linguaggio e fa che sia uno che ti serve veramente.
VisualC++ per le applicazioni e Php5 per il web.
Hai solo 19 anni, hai tutta la vita ancora!
Ciao e in bocca al lupo.
Th3 Kn0wl3dg3
01-10-2006, 00:25
pensandoci bene credo ke prima di iniziare a programmare,dato ke non cih o mai messo mano,sarebbe cosa opportuna imparare le basi ke servono poi per imparare a programmare...ke dite?
pensandoci bene credo ke prima di iniziare a programmare,dato ke non cih o mai messo mano,sarebbe cosa opportuna imparare le basi ke servono poi per imparare a programmare...ke dite?
IMHO il modo migliore per imparare a programmare è programmare :O
Th3 Kn0wl3dg3
01-10-2006, 09:57
mi sembra logico!!
Come dire che Michelangelo era uno che prendeva a martellate delle grosse pietre :D.
Come dire che Michelangelo era uno che prendeva a martellate delle grosse pietre :D.
beh in effetti è esattamente così :asd:
tornando a Th3 Kn0wl3dg3... hai detto che pensi di volere iniziare con il C... beh prima di tutto immagino che sei su windows perchè non hai specificato niente :fagiano:
quindi non devi far altro che andare qui http://forums.codeblocks.org/index.php?PHPSESSID=9fac6dea0a5b563c3f8b48187e62863b&topic=4112.0
scaricare questo http://prdownload.berlios.de/codeblocks/CB_20060928_rev3000_win32.7z estrarlo (se non hai 7zip dopo spiego come) magari in una cartella in c:\Programmi che chiami CodeBlocks e ti fai un collegamento a codeblocks.exe sul desktop
poi questo http://prdownload.berlios.de/codeblocks/wxmsw26u_gcc_cb_wx2.6.3p2.7z e lo estrai nella cartella CodeBlocks
e questo http://prdownload.berlios.de/codeblocks/mingwm10.7z la stessa cosa di sopra
e questo http://prdownload.berlios.de/codeblocks/wxmsw26_gcc_cb_wx2.6.3p2.7z pure
poi lanci codeblocks, crei un nuovo file (empty file), scrivi:
#include <stdio.h>
int main()
{
printf("hello world");
return 0;
}
salvi come hello.c, clicchi sul pulsante "build and run" e vedi che ti apre una finestra di DOS con scritto hello world. penso che tutti hanno iniziato così ;)
se non hai 7zip lo trovi qui http://www.7-zip.org/
si, però evitiamo la solita scena da cascata delle palle "il programma non funziona, mi si apre la finestra nera per un attimo e si richiude subito" :fagiano: :fagiano: :fagiano: :fagiano: :fagiano: :fagiano: :fagiano: :fagiano:
modifica il codice in questo modo:
#include <stdlib.h>
#include <stdio.h>
int main() {
printf("Hello, world!\n");
getchar();
return 0;
}
si, però evitiamo la solita scena da cascata delle palle "il programma non funziona, mi si apre la finestra nera per un attimo e si richiude subito" :fagiano: :fagiano: :fagiano: :fagiano: :fagiano: :fagiano: :fagiano: :fagiano:
modifica il codice in questo modo:
#include <stdlib.h>
#include <stdio.h>
int main() {
printf("Hello, world!\n");
getchar();
return 0;
}
no no ho provato di persona! :fagiano: CodeBlocks è più intelligente e lascia aperta la finestra :fagiano: comunque per spiegare a Th3 Kn0wl3dg3... getchar() serve a ricevere un carattere da tastiera, in modo che il programma rimane aperto fino a quando non schiacci un tasto (ma con codeblocks non c'è bisogno ;) )
Th3 Kn0wl3dg3
01-10-2006, 12:28
allora ormai credo di cominciare con il C se qualcuno non ha + niente da dire!
cmq prima di iniziare a imparare il linguaggio, come ho detto poco fa, non sarebbe meglio imparare le basi ke mi servirebbero per programmare?
allora ormai credo di cominciare con il C se qualcuno non ha + niente da dire!
cmq prima di iniziare a imparare il linguaggio, come ho detto poco fa, non sarebbe meglio imparare le basi ke mi servirebbero per programmare?
io con il mio commento di prima intendevo che è molto più stimolante imparare a programmare mentre si programma, altrimenti credo che ti annoieresti molto. vabbè poi fa come vuoi! anche il linguaggio è una scelta molto soggettiva, ma io personalmente penso che il C è tra i più adatti.
di libri sul C ne trovi tantissimi.. c'è anche un thread in rilievo nella sezione (per i libri dico). comunque il materiale che c'è su internet è qualcosa di impareggiabile, googla.. googla..
allora ormai credo di cominciare con il C se qualcuno non ha + niente da dire! no, nessuno, altrimenti non finiamo più. te l'ho detto, un linguaggio vale l'altro, purché inizi; perderai molto più tempo progettando il tuo percorso didattico che non intraprendendolo.
inoltre se vogliamo, potremmo anche dire che scegliendo il C hai fatto quella che potrebbe essere considerata oggettivamente un'ottima scelta, visto che è lo stesso linguaggio da cui si inizia all'università :)
indipercui, comincia dal C e good game.
cmq prima di iniziare a imparare il linguaggio, come ho detto poco fa, non sarebbe meglio imparare le basi ke mi servirebbero per programmare? in effetti, volendo imitare in tutto il tipico percorso didattico accdemico, contemporaneamente a Programmazione 1 di solito si fa anche Architettura 1... boh, che dire, fa un po' come vuoi; se vuoi imparare ciò che tu chiami le "basi" non saprei cosa consigliarti perché esistono due modi per apprenderle:
1) the Microsoft way
2) the other way
io nella mia vita ho optato per la prima: il 90% delle cose che so le so da MSDN (http://msdn.microsoft.com/library/default.asp) e devo dire in tutta onestà che MSDN è stata in grado di darmi una preparazione veramente aperta e completa, ma molti probabilmente non sarebbero d'accordo nel consigliarti la stessa fonte di cultura. il problema è che, mentre per la Microsoft way esiste un punto di riferimento (il sito di MSDN appunto), per l'altra via non esiste nessun riferimento: vai così a culo su Google :Prrr:
fa un po' tu :rolleyes:
io nella mia vita ho optato per la prima: il 90% delle cose che so le so da MSDN (http://msdn.microsoft.com/library/default.asp) e devo dire in tutta onestà che MSDN è stata in grado di darmi una preparazione veramente aperta e completa
cosa ne sai se la tua preparazione è aperta e completa se leggi solo MSDN :Prrr:
ma molti probabilmente non sarebbero d'accordo nel consigliarti la stessa fonte di cultura. il problema è che, mentre per la Microsoft way esiste un punto di riferimento (il sito di MSDN appunto), per l'altra via non esiste nessun riferimento: vai così a culo su Google :Prrr:
man rulez :asd: altro che msdn :Prrr: la miglior documentazione comunque è il codice stesso :read:
ps. cosa ne dici se flammiamo qualche pagina sull'argomento "MS-way versus rest-of-the-world-way"? :D
Xalexalex
01-10-2006, 18:28
no, nessuno, altrimenti non finiamo più. te l'ho detto, un linguaggio vale l'altro, purché inizi; perderai molto più tempo progettando il tuo percorso didattico che non intraprendendolo.
inoltre se vogliamo, potremmo anche dire che scegliendo il C hai fatto quella che potrebbe essere considerata oggettivamente un'ottima scelta, visto che è lo stesso linguaggio da cui si inizia all'università :)
indipercui, comincia dal C e good game.
in effetti, volendo imitare in tutto il tipico percorso didattico accdemico, contemporaneamente a Programmazione 1 di solito si fa anche Architettura 1... boh, che dire, fa un po' come vuoi; se vuoi imparare ciò che tu chiami le "basi" non saprei cosa consigliarti perché esistono due modi per apprenderle:
1) the Microsoft way
2) the other way
io nella mia vita ho optato per la prima: il 90% delle cose che so le so da MSDN (http://msdn.microsoft.com/library/default.asp) e devo dire in tutta onestà che MSDN è stata in grado di darmi una preparazione veramente aperta e completa, ma molti probabilmente non sarebbero d'accordo nel consigliarti la stessa fonte di cultura. il problema è che, mentre per la Microsoft way esiste un punto di riferimento (il sito di MSDN appunto), per l'altra via non esiste nessun riferimento: vai così a culo su Google :Prrr:
fa un po' tu :rolleyes:
Per Java si :D
EDIT: Mi ero dimenticato il link :stordita:
http://java.sun.com/
Th3 Kn0wl3dg3
01-10-2006, 19:10
ok,aggiudicato il C!le basi le studierò quando vedo ke ne avrò bisogno!ora scarico tuttoi l necessario e vado in libreria a ordinare i libri!mentre qualcuno di voi potrebbe darmi un link buono dove stampare una buona guida di c cosi comincio a studiare e a smanettare?!
ok,aggiudicato il C!le basi le studierò quando vedo ke ne avrò bisogno!ora scarico tuttoi l necessario e vado in libreria a ordinare i libri!mentre qualcuno di voi potrebbe darmi un link buono dove stampare una buona guida di c cosi comincio a studiare e a smanettare?!
ricorda che google porta consiglio.. questa è la vera base che serve per programmare :fagiano: , infatti cercando guida c ho trovato (il primo mi sembra ottimo):
http://programmazione.html.it/guide/leggi/32/guida-c/
http://www.tutorialpc.it/lingcmenu.asp
http://fisionweb.altervista.org/guide/index.php?guida=C&ris=1
e molto molto altro..
@Alessandro::Xalexalex forse volevi linkare questo http://java.sun.com/j2se/1.5.0/docs/api/ io non saprei nemmeno stampare "hello world" senza :asd:
cosa ne sai se la tua preparazione è aperta e completa se leggi solo MSDN :Prrr: mica leggo solo MSDN... e comunque lo capisco dai voti :asd: :Prrr: :Prrr: :Prrr: :Prrr: (almeno quelli che ho... :cry: )
man rulez :asd: MSDN va anni luce oltre il semplice reference stile man; tanto per cominciare, per ciascun set di API MSDN non include solo il capitolo Reference ma anche un capitolo Design che da' un'introduzione a livello intuitivo dello scopo di quel set. e a questi due capitoli (Design e Reference) ne aggiungamo anche un terzo, Technical Articles, presente solo in alcuni degli argomenti. ed infine, come se il tutto non bastasse, mettici MSDN Magazine che con le sue colonne "Under the Hood" del miticissimo Pietrek basta e avanza a farti diventare un MOSTRO della programmazione Windows :Prrr:
altro che man :asd:
la miglior documentazione comunque è il codice stesso :read: devi sapere, forse ti lascio un po' sconcertato, che una caratteristica di primaria importanza di una documentazione degna di questo nome è la comprensibilità :fagiano:
lasciamo perdere le stronzate sui veri programmatori e i mangiatori di quiche (che ancora devo capì che cazzo so ste quiche :D), sappiamo benissimo ed è innegabile che il codice (in C tra l'altro, capirai) di un sistema operativo non può sostituire una buona documentazione scritta in una lingua umana - anche perché il codice potrebbe essere bacato.
il codice può essere solo un valido supporto alla documentazione.
ps. cosa ne dici se flammiamo qualche pagina sull'argomento "MS-way versus rest-of-the-world-way"? :D io resto qua, tanto se riapriamo l'argomento in via più larga andiamo sicuramente a finire su politica/economia/roba che non dico che non me ne frega, me ne frega in negativo.
Kappaloris
01-10-2006, 20:06
Scusate, ma perchè non iniziare da un linguaggio più 'semplice'?
Con sempice, intendo che non devi preoccuparti troppo di cose tipo la gestione della memoria, magari che non devi neanche compilare prima. Tipo il python o il php.
Io mi ricordo quando ho cercato di provare a fare qualcosa di c++.
Una volta installato il compilatore, avevo un sacco di problemi:
Quando usavo del codice preso da un'altra parte, il compilatore non mi riconosceva delle parti (che intoria credo avrebbe dovuto, dato che non usavano librerie particolari).
Con il php è tutto + semplice. Non devi compilare prima, le lib sono (+o-) standard, e non devi preoccuparti di ogni singolo aspetto del programma che devi fare. E' molto flessibile con i tipi di variabili (il che aiuta all'inizio quando non sei abituato a fare attenzione al tipo di variabile).
Così si fa molta meno fatica per iniziare a capire i principi superficiali della programmazione.
in ogni caso è tutto IMHO.
PS
Oppure c'è il brainfuck. :asd:
@71104 eddai.. non mi avrai mica preso sul serio! :p anche io quelle poche volte che uso windows vado su MSDN per documentarmi ;) era solo perchè questo thread è fin troppo tranquillo :mc: hey dove sono finiti i python-boys?
Th3 Kn0wl3dg3
01-10-2006, 23:59
grazie per i link!cmq speriamo ke con il c non mi confonda le idee!!
Th3 Kn0wl3dg3
02-10-2006, 22:35
le guide le ho stampate e cominciate a studiare!devo solo ordinare i libri!
Consiglio su quale linguaggio utilizzare per iniziare ? NESSUNO.
Non iniziare proprio, hai delle premesse completamente sballate, e stai iniziando in un modo tale che arriverai dopo pochissimo tempo ad un punto di frustrazione e mollerai tutto, con il solo risultato di aver sprecato tempo e denaro.
La programmazione non è quello che pensi tu vedendo Synapse, e non è quello che pensi tu quando leggi il readme.txt di qualche programmino opensource. La programmazione al 99% è un lavoro ripetitivo, noioso, impegnativo e frustrante e spesso implica tendenze socialmente discutibili, che non ti porterà lauti guadagni, non ti porterà neanche guadagni medi, e non metterei la mano sul fuoco neanche sui guadagni scarsi; non solo non ti farà entrare nella storia, ma non ti darà neanche piccole soddisfazioni personali.
Se non ti ho ancora spaventato abbastanza, se sei abbastanza tenace o semplicemente ingenuamente (stupidamente?) cocciuto, se ti vuoi attaccare a forza a quel 1% che non ho descritto sopra.... bene, puoi proseguire a leggere, ma non dire che non ti avevo avvertito; non accetto reclami!! Se ci sarà qualcosa che non ti piacerà, che reputerai idiota o completamente inutile... quella sarà l'evidenza che i primi due paragrafi di questo post sono perfettamente adatti alla tua situazione.
Ok... i passi basilari per intraprendere questo suicidio sono i seguenti:
1) Spegni il computer (finisci di leggere prima però :) ). Non scegliere nessun linguaggio, è completamente inutile.
2) Prendi carta e penna.
3) Descrivi come và preparato un piatto di pasta.
4) Riaccendi il computer e riporta cosa hai buttato giù!
Vediamo di che pasta sei fatto.
DISCLAIMER: Il post di cui sopra non ha intenzioni flammatorie.
:wtf: non capisco perché dovrebbe descrivere una ricetta culinaria e perché dovrebbe farlo con carta e penna se ha il pc acceso... :wtf:
3) Descrivi come và preparato un piatto di pasta.
lo vuoi preparare allo spaghetti code?
:asd:
:wtf: non capisco perché dovrebbe descrivere una ricetta culinaria e perché dovrebbe farlo con carta e penna se ha il pc acceso... :wtf:
infatti.. non può descriverlo su un .txt? :mbe:
:wtf: non capisco perché dovrebbe descrivere una ricetta culinaria
Questo lo spiegherò poi.
e perché dovrebbe farlo con carta e penna se ha il pc acceso... :wtf:
In effetti qui mi sono lasciato prendere la mano! :D
In ogni caso serviva l'enfasi sullo "Spegni il computer" come primo passaggio... da interpretare come "Lascia perdere tutte queste cavolate su C, Java, Python e compagnia bella!! Non servono a nulla e aggiungono solo complicazioni ora che non sei in grado di valutarli! Te ne preoccuperai dopo, ora concentrati sul succo!"
lo vuoi preparare allo spaghetti code?
:asd:
:D :D :D :D :D
Mica c'avevo fatto caso!! :D
Pensa che piuttosto l'obiettivo è proprio il contrario, cioè introdurlo al concetto di algoritmo e risoluzione dei problemi!!
int tempacqua=0;
int chilipasta=0;
cin >> chilipasta;
int litriacqua=chilipasta*3;
versa_acqua_in_pentola(litriacqua);
accendi_il_fuoco();
metti_il_sale();
while(tempacqua!=100)
Sleep(1000);
butta_la_pasta();
Sleep(60000*10);
scola_la_pasta();
metti_la_pasta_nel_condimento();
Sleep(60000*5);
servi_la_pasta();
mangia();
int tempacqua=0;
int chilipasta=0;
cin >> chilipasta;
int litriacqua=chilipasta*3;
versa_acqua_in_pentola(litriacqua);
accendi_il_fuoco();
metti_il_sale();
while(tempacqua!=100)
Sleep(1000);
butta_la_pasta();
Sleep(60000*10);
scola_la_pasta();
metti_la_pasta_nel_condimento();
Sleep(60000*5);
servi_la_pasta();
mangia();
:mbe: :mbe: :mbe:
Immagino che questo faccia parte del "non scegliere il linguaggio"!!
Xalexalex
03-10-2006, 16:27
int tempacqua=0;
int chilipasta=0;
cin >> chilipasta;
int litriacqua=chilipasta*3;
versa_acqua_in_pentola(litriacqua);
accendi_il_fuoco();
metti_il_sale();
while(tempacqua!=100)
Sleep(1000);
butta_la_pasta();
Sleep(60000*10);
scola_la_pasta();
metti_la_pasta_nel_condimento();
Sleep(60000*5);
servi_la_pasta();
mangia();
Hai dimenticato
Burp();
Finalmente un po' di sale sulla discussione. Anzi, zolfo. Massimo 10 post e parte una fiammata da bruciare la gente sulle sedie! G-A-R-A-N-T-I-T-O :D
Xalexalex
03-10-2006, 16:31
DISCLAIMER: Il post di cui sopra non ha intenzioni flammatorie.
Ah no ? :fagiano: :D
Finalmente un po' di sale sulla discussione. Anzi, zolfo. Massimo 10 post e parte una fiammata da bruciare la gente sulle sedie! G-A-R-A-N-T-I-T-O :D povero sciocco, attendi così ardentemente questo grande contrasto che non esisterà mai... :asd:
il genere umano è molto più pacifico di quanto credi :read:
Xalexalex
03-10-2006, 16:38
povero sciocco, attendi così ardentemente questo grande contrasto che non esisterà mai... :asd:
il genere umano è molto più pacifico di quanto credi :read:
Ah si?
Php è bello.
Asp è brutto.
C++ è :old: e non serve a nulla.
Java è sulla via del declino, ma vabbè che va ancora bene.
Python è bello ma mi sta antipatico il nome.
Io programmo solo in Whitespace.
71104 è brutto e cattivo. Tutti sono brutti e cattivi. Io sono bello.
Peace :yeah:
comunque può essere divertente programmare finchè non sei alle dipendenze di qualcuno che ti dice come e cosa fare... per il resto geniale l'algoritmo per preparare la pasta :D
ma se invece di disegnare gli algoritmi su un foglio li scrive mentre impara il C che differenza fa :fagiano: ? la forma forse.. io mica ho seguito un corso sugli algoritmi prima di imparare a programmare :boh:
Ah si?
Php è bello.
Asp è brutto.
C++ è :old: e non serve a nulla.
Java è sulla via del declino, ma vabbè che va ancora bene.
Python è bello ma mi sta antipatico il nome.
Io programmo solo in Whitespace.
71104 è brutto e cattivo. Tutti sono brutti e cattivi. Io sono bello.
Peace :yeah: troppo banale, non funziona perché non ci sono ragioni tecniche.
(adesso ci mettiamo a flammare su come si flamma :| :| :| )
povero sciocco, attendi così ardentemente questo grande contrasto che non esisterà mai... :asd:
il genere umano è molto più pacifico di quanto credi :read:
Dai, non puoi negare l'attitudine pirotecnica del messaggio di PDef! Diamine, per leggerlo ho dovuto mettere gli occhiali da sole! :eek: :D
Xalexalex
03-10-2006, 16:51
(adesso ci mettiamo a flammare su come si flamma :| :| :| )
Lo scopo segreto finale era quello :P
Dai, non puoi negare l'attitudine pirotecnica del messaggio di PDef! Diamine, per leggerlo ho dovuto mettere gli occhiali da sole! :eek: :D chi oserebbe mai negare le sagge parole di PFed? sono giuste, come le potresti mai negare? e se non le puoi negare (vabbè, a parte magari quell'ultima parte sulla pasta che mi pare un po' becera :fagiano: ) significa che non ci puoi flammare su
Ah no ? :fagiano: :D
No! :)
Dai, non puoi negare l'attitudine pirotecnica del messaggio di PDef! Diamine, per leggerlo ho dovuto mettere gli occhiali da sole! :eek: :D
Beh in effetti (come ho già detto) mi sono lasciato un pò prendere la mano! :D
(non a caso il disclaimer successivo)
chi oserebbe mai negare le sagge parole di PFed? sono giuste, come le potresti mai negare? e se non le puoi negare (vabbè, a parte magari quell'ultima parte sulla pasta che mi pare un po' becera ) significa che non ci puoi flammare su
Io non posso, ho fatto voto di non violenza! :D
[ps. il messaggio è riferito alla risposta di 71104]
chi oserebbe mai negare le sagge parole di PFed? sono giuste, come le potresti mai negare? e se non le puoi negare (vabbè, a parte magari quell'ultima parte sulla pasta che mi pare un po' becera :fagiano: ) significa che non ci puoi flammare su
Non riesco a capire dove finisce la concordia e inizia la presa per il culo! :D
Sono SICURO che c'è una presa per il culo.... ma non riesco a capire dove! :sofico:
ah, ricordo che scambiare opinioni != flammare !!
Kappaloris
03-10-2006, 17:02
chi oserebbe mai negare le sagge parole di PFed? sono giuste, come le potresti mai negare? e se non le puoi negare (vabbè, a parte magari quell'ultima parte sulla pasta che mi pare un po' becera :fagiano: ) significa che non ci puoi flammare su
perchè becera? teatrale si, ma non tanto becera.
Io trovo che abbia detto una cosa giusta: il punto non è tanto il saper un linguaggio tanto quanto saper analizzare e risolvere un problema.
Come per la pasta, cosa che sembra ovvia e semplice dafare, anche per altre cose più 'a tema' che sembrano semplici in realtà hanno un ragionamento un po + complesso sotto. (cmq questo credo che lo sappiate già -.-)
ma se invece di disegnare gli algoritmi su un foglio li scrive mentre impara il C che differenza fa :fagiano: ?
(a parte che questa fase non è detto che debba durare a lungo)
La differenza è che per iniziare a programmare bisogna concentrarsi sul nocciolo della programmazione (risolvere problemi, e relative metodologie).
Se invece di concentrarsi su un solo argomento una persona che parte da zero si comincia a concentrare anche su mille altri (differenze fra linguaggi, sintassi, ambienti di sviluppo, e chi più ne ha più ne metta) si rischia di crearli solo una gran confusione in testa (considerando che non ha mezzi per poter capire ciò di cui sta parlando) e di arrivare al punto di frustrazione "di non ritorno".
Ad esempio... una persona deve imparare a montare una bicicletta, e deve anche imparare l'inglese.
Pensi che un libretto delle istruzioni in inglese risolva i suoi problemi ?
... teatrale si, ma ...
E va bene e va bene!! :D Cercherò di mantenere un profilo più contenuto! :D
Gandalf_BD
03-10-2006, 17:38
.. ma fra un pò compio 19anni e credo ke sia troppo tardi, anche per andare alla facoltà di scienze informatiche...
ma che dici!!!
cosa dovrei fare io allora???
fino a 19 anni ho usato il pc solamente per giocare...
poi ho iniziato un corso di Ingegneria Informatica ed ora, vedendo i miei compagni, sono decisamente al livello delle persone che erano più esperte di me...
basta solo volerlo e rimboccarsi le maniche!!
vuoi studiare informatica? fallo!! (ascolta uno che los ta facendo... anzi... [mode "Sborone" ON] ho preso la laurea triennale un mese fa, assolutamente in linea con le scadenze universitarie :sofico: [mode "Sborone" OFF])
ah, ricordo che scambiare opinioni != flammare !!
Ma certo. E ti assicuro che non sei solo nel propugnare l'idea dell'irrilevanza propedeutica del linguaggio. Personalmente ritengo che un linguaggio di programmazione altro non sia che uno strumento utile al "formalizzare" la soluzione ad un problema. Ma non posso dirlo.
Non posso perchè la capacità di un essere umano di risolvere problemi è un mistero assoluto.
Come facciamo a formare un'attitudine al "problem solving" senza certezze su cosa comporti l'attività di cui vorremmo parlare?
Propiniamo a chi si avvicini alla programmazione le stesse massime da osteria che hanno rifilato a noi?
Dire a chi si avvicini alla programmazione: "guarda che prima devi formare un'attitudine alla soluzione di problemi" significa buttarlo in un mare di domande a cui dovrà rispondere navigando a vista.
Propiniamo a chi si avvicini alla programmazione le stesse massime da osteria che hanno rifilato a noi?
Dire a chi si avvicini alla programmazione: "guarda che prima devi formare un'attidutine alla soluzione di problemi" significa buttarlo in un mare di domande a cui dovrà rispondere navigando a vista.
No, no... troppo fumoso, completamente inutile, e si arriva sempre al punto di frustrazione "di non ritorno", solo passando da un'altra strada.
Io sono per le cose ben precise e in ordine:
Parte 1:
Algoritmi, cosa sono e come si scrivono. (eventuali cenni al flowchart se possibile nel contesto didattico)
Sequenza, alternativa e iterazione.
Suddividere problemi in sotto problemi (preparo il terreno a procedure e funzioni, e ancora più nel futuro metodi! :D)
Parte 2:
Descrizione sommaria del funzionamento di un calcolatore elettronico.
Parte 3 (e qui ci si comincia a divertire):
Introduzione ad un linguaggio di programmazione (uno qualsiasi, purchè lo studente non si debba concentrare, per ora, su tematiche tipo variabili di ambiente, ide di sviluppo, compatibilità o cavolate varie)
etc. etc. etc.
Xalexalex
03-10-2006, 18:02
No, no... troppo fumoso, completamente inutile, e si arriva sempre al punto di frustrazione "di non ritorno", solo passando da un'altra strada.
Io sono per le cose ben precise e in ordine:
Parte 1:
Algoritmi, cosa sono e come si scrivono. (eventuali cenni al flowchart se possibile nel contesto didattico)
Sequenza, alternativa e iterazione.
Suddividere problemi in sotto problemi (preparo il terreno a procedure e funzioni, e ancora più nel futuro metodi! :D)
Parte 2:
Descrizione sommaria del funzionamento di un calcolatore elettronico.
Parte 3 (e qui ci si comincia a divertire):
Introduzione ad un linguaggio di programmazione (uno qualsiasi, purchè lo studente non si debba concentrare, per ora, su tematiche tipo variabili di ambiente, ide di sviluppo, compatibilità o cavolate varie)
etc. etc. etc.
Questo grossomodo è il processo che abbiamo fatto noi al liceo... E che di solito non fanno fare agli itis...
E lo stesso che usano tutti. L'ho usato anche io. E ti posso dire due cose: si usa perchè nell'impossibilità di motivare un percorso alternativo ci si rivolge a quello "classico". E non funziona: se alla fine di quel percorso uno "sa programmare" è per ragioni inesplicabili.
Parte 3 (e qui ci si comincia a divertire):
Introduzione ad un linguaggio di programmazione ([B]uno qualsiasi, purchè lo studente non si debba concentrare, per ora, su tematiche tipo variabili di ambiente, ide di sviluppo, compatibilità o cavolate varie[B])
etc. etc. etc.
sono d'accordo.
un conto è il saper programmare.
un conto è il linguaggio che si usa
E che di solito non fanno fare agli itis...
Io ho avuto un percorso molto simile, all'Itis.
Xalexalex
03-10-2006, 18:14
E lo stesso che usano tutti. L'ho usato anche io. E ti posso dire due cose: si usa perchè nell'impossibilità di motivare un percorso alternativo ci si rivolge a quello "classico". E non funziona: se alla fine di quel percorso uno "sa programmare" è per ragioni inesplicabili.
*
Io infatti, se avessi seguito questo processo, saprei buttare giù ora come ora 4 righe scrause di pascal... Invece maneggio ottimamente Php, e me la cavicchio col C.
Inoltre mi accorgo che riesco a capire un listato di qualsiasi linguaggio (nei limiti dell'umano ovvio) anche se non conosco il linguaggio in sè... E questo non accade per aver studiato qualche cacatina in Pascal, ma è solo esperienza (con tutto che ne ho poca...)
E lo stesso che usano tutti. L'ho usato anche io. E ti posso dire due cose: si usa perchè nell'impossibilità di motivare un percorso alternativo ci si rivolge a quello "classico". E non funziona.
Non riesco a capire ne l'impossibilità di motivare un percorso "alternativo" (quale ? e "alternativo" rispetto a cosa ?), nè perchè quello "classico" dovrebbe non funzionare.
E non funziona: se alla fine di quel percorso uno "sa programmare" è per ragioni inesplicabili.
Si, per grazia divina!! :D
Sono esplicabilissime: perchè si è in grado di scindere le varie sfaccettature indipendenti dell'attività di programmazione.
Si riesce a scindere l'attività logica dall'attività tecnica legata al contesto in cui si lavora (ambiente di sviluppo, linguaggio, sintassi, librerie, piattaforma...) perchè se ne hanno ben chiari i meccanismi, seppure cambino gli aspetti tecnologici.
Io infatti, se avessi seguito questo processo, saprei buttare giù ora come ora 4 righe scrause di pascal...
Questo è falso. Ed è esattamente il contrario di quello che ho detto.
Invece maneggio ottimamente Php, e me la cavicchio col C.
Inoltre mi accorgo che riesco a capire un listato di qualsiasi linguaggio (nei limiti dell'umano ovvio) anche se non conosco il linguaggio in sè... E questo non accade per aver studiato qualche cacatina in Pascal, ma è solo esperienza (con tutto che ne ho poca...)
L'esperienza fa parte del percorso formativo, ovvio che sia necessaria!!
Ma non è altro che lo stesso processo cognitivo, solo che svolto in maniera forse più inconsapevole perchè portato dall'esperienza piuttosto che dallo studio.
Lancio uno spunto di riflessione :
Inoltre mi accorgo che riesco a capire un listato di qualsiasi linguaggio (nei limiti dell'umano ovvio) anche se non conosco il linguaggio in sè.
Riesci perchè sono linguaggi ad "alto livello"... Cos'è un linguaggio ad alto livello ? E' un linguaggio che è più vicino al linguaggio naturale dell'essere umano (nel caso dei linguaggi di programmazione è considerato tale l'inglese) piuttosto che del calcolatore elettronico. Proprio per questo motivo il cervello impiega meno risorse a "decodificare" il messaggio e più a capirne il significato.
Sarebbe altrettanto facile con l'assembler ?
E queste due righe di (pseudo)codice secondo te sono comprensibili allo stesso modo ?
S1 = P1.Met1(2,6)
-
Lordo = Sum(Netto,Iva)
Il percorso formativo che io chiamo "classico" è fatto di architettura dei calcolatori, di algoritmi e strutture dati e dallo studio di uno o più linguaggi di programmazione. E' presupposta una formazione parallela in analisi matematica e geometria che è tuttavia esplicita solo a livello universitario.
Non funziona per via della banalissima considerazione che il software che produciamo oggi è dichiaratamente inaffidabile.
L'inaffidabilità è talmente "essenziale" al concetto di software che taluni ne predicano addirittura l'inevitabilità, quasi che ogni essere umano che intraprenda l'attività di sviluppo di applicazione si tramuti magicamente in un imbecille. Un caso di regresso che avrebbe lasciato di stucco anche Darwin: il più saggio dei saggi di fronte ad una tastiera PAF, rincoglionisce! Esiste persino un campo del sapere umano dedicato alla (in)affidabilità del software (Software Reliability come la chiamano gli anglofoni).
Non è una questione qualitativa: al momento tutte le attività umane sono soggette ad un certo grado di perfettibilità. E' quantitativa: se la medicina avesse lo stesso grado di inaffidabilità sulla terra saremmo rimasti in quattro gratti (e tutti e quattro con la rogna :D).
Ora, data questa situazione è possibile dico solo "immaginare", che so, che l'algoritmo magari è una stronzata? :confused: Ci sono intere classi di problemi che non sono rappresentabili in forma algoritmica. E se l'algoritmo fosse una forma di rappresentazione eccezionale? Non lo so, beninteso. Dico così per dire. Magari spiegare l'architettura dei calcolatori produce una forma mentis assolutamente inidonea alla scrittura di programmi per calcolatori! Sarebbe strano...:eek: ma visto che insegnandola non si cava un ragno dal buco...forse è vero :eek:.
E' vero che persone indubitabilmente più competenti di me hanno prodotto il metodo con cui siamo stati formati. Ma non possiamo non considerare il fatto che talune delle discipline che appartengono all'area informatica, e il primo posto è della programmazione, non hanno avuto materialmente il tempo di essere sottoposte a critica. Che, all'uomo, richiede un po' di tempo. La grammatica moderna è oggetto di studio da quattromila anni. Che uno più uno fa due probabilmente l'ha detto per primo un paramecio nel brodo primordiale della terra.
Noi scriviamo programmi che vivaddio forse vanno e più probabilmente no e per il solo pensiero che forse Dijkstra cinquant'anni fa ha detto una cazzata devi fare harakiri? :D
Per me così non si va mica tanto lontano...
P.s. ho detto Dijkstra ma solo perchè è stato il primo nome di un padre fondatore a venirmi sulle dita.
No, no... troppo fumoso, completamente inutile, e si arriva sempre al punto di frustrazione "di non ritorno", solo passando da un'altra strada.
ma che è sto punto del non ritorno.. com'è che io non ci sono passato? :mbe:
Non funziona per via della banalissima considerazione che il software che produciamo oggi è dichiaratamente inaffidabile.
Il fatto che "Non funzioni" è un'affermazione da supportare con dei dati oggettivi. A me non sembri che "non funzioni" (sebbene non sia l'unico percorso possibile). Tuttaltro.
E il riferimento al'inaffidabilità è una considerazione demagogicamente pilotata e assolutamente priva di fondamento. (L'inaffidabilità e caratteristica comune a TUTTE le attività degli esseri umani)
L'inaffidabilità è talmente "essenziale" al concetto di software che taluni ne predicano addirittura l'inevitabilità...
Considerazione che però vale (come detto) per qualsiasi attività umana.
quasi che ogni essere umano che intraprenda l'attività di sviluppo di applicazione si tramuti magicamente in un imbecille. Un caso di regresso che avrebbe lasciato di stucco anche Darwin: il più saggio dei saggi di fronte ad una tastiera PAF, rincoglionisce!
Evidente forzatura demagogica anche questa.
Non è una questione qualitativa: al momento tutte le attività umane sono soggette ad un certo grado di perfettibilità. E' quantitativa: se la medicina avesse lo stesso grado di inaffidabilità sulla terra saremmo rimasti in quattro gratti (e tutti e quattro con la rogna :D).
La medicina non è mai stata perfetta e non lo è tuttora... Anche questa mi sembra una forzatura piuttosto fantasiosa !!!
La tua teoria quale sarebbe ? Che l'informatica ha un tasso anomalicamente elevato di imperfezione rispetto alle altre attività umane ?
Ora, data questa situazione è possibile dico solo "immaginare", che so, che l'algoritmo magari è una stronzata? :confused: Ci sono intere classi di problemi che non sono rappresentabili in forma algoritmica. E se l'algoritmo fosse una forma di rappresentazione eccezionale? Non lo so, beninteso. Dico così per dire. Magari spiegare l'architettura dei calcolatori produce una forma mentis assolutamente inidonea alla scrittura di programmi per calcolatori! Sarebbe strano...:eek: ma visto che insegnandola non si cava un ragno dal buco...forse è vero :eek:.
Ritorniamo a quanto di cui prima..... ma dove sta scritto che non si cava un ragno dal buco ???
E quale sarebbe la soluzione alternativa ??
Che uno più uno fa due probabilmente l'ha detto per primo un paramecio nel brodo primordiale della terra.
E quindi ?
E soprattutto.... ma il succo del discorso qual'è ?
Che si segue un percorso formativo che ha un obiettivo: insegnare a programmare.
Che alla fine di questo percorso si sa programmare, quindi l'obiettivo è raggiunto.
Che però il percorso non funziona per ragioni non meglio specificate.
E che si "sà programmare" per non meglio specificate ragioni inesplicabili.
E questa la tua teoria ?
ma che è sto punto del non ritorno.. com'è che io non ci sono passato? :mbe:
E il punto dove lo sconforto causato da inconcludenza supera la voglia di fare e di imparare.
Molti sono così ostinati da superare le difficoltà e non arrivare a questo punto.
Ma molti no!
E questo non accade per aver studiato qualche cacatina in Pascal, ma è solo esperienza (con tutto che ne ho poca...)
hey non chiamare cacatina pascal!! devo molto al pascal :D
per farla in breve io penso che i flow chart non servono a nulla e chi ha imparato a farli ha solo perso tempo.. allora perchè non fare un corso di disegno prima di fare i flow chart :sofico:
se si mette a studiare tutte le cose teoriche smette dopo due settimane perchè pensa che l'informatica è noiosa (cosa del tutto falsa, ma vera se ci si attiene al percorso didattico). è inutile, il miglior modo per avere stimoli è smanettare, camminare con le proprie gambe ed essere soddisfatti di quello che si è riusciti a fare. chi si mette prima a studiare gli algoritmi e tutte le basi teoriche lo fa perchè semplicemente deve fare il compito/esame a scuola/università, altrimenti non avrebbe senso.
E il punto dove lo sconforto causato da inconcludenza supera la voglia di fare e di imparare.
Molti sono così ostinati da superare le difficoltà e non arrivare a questo punto.
Ma molti no!
e dove lo metti lo sconforto di studiare mille libri che parnano di teoria e non avere ancora prodotto niente di concreto? secondo me è anche peggio, uno butta i libri nel cestino e si da alla botanica :read:
A parte che la "parte teorica" che dite voi può durare pochissimo (a differenza dei corsi scolastici / universitari), e può essere tranquillamente anche non noiosa....
Il rischio di seguire la metologia "smanettona" è di diventare un copincollista, non un programmatore.
Forse un buon compromesso e cercare di far andare le due cose di pari passo!
E soprattutto.... ma il succo del discorso qual'è ?
Che si segue un percorso formativo che ha un obiettivo: insegnare a programmare.
Che alla fine di questo percorso si sa programmare, quindi l'obiettivo è raggiunto.
Che però il percorso non funziona per ragioni non meglio specificate.
E che si "sà programmare" per non meglio specificate ragioni inesplicabili.
E questa la tua teoria ?
Toglierei il secondo punto ma per il resto direi che è un efficace riassunto. Si, direi che la mia teoria è quella.
A parte che la "parte teorica" che dite voi può durare pochissimo (a differenza dei corsi scolastici / universitari), e può essere tranquillamente anche non noiosa....
beh dai che è noioso non si può negare :fagiano:
Il rischio di seguire la metologia "smanettona" è di diventare un copincollista, non un programmatore.
non c'è nessun motivo perchè ciò debba accadere. c'è un sacco di documentazione in giro e chi smanetta sul serio la legge tutta.. forse tu parli dei "wannabe"
Forse un buon compromesso e cercare di far andare le due cose di pari passo!
e io cos'ho detto.. imparare le basi mentre si programma. un buon libro sulla programmazione introduce anche aspetti generali
Toglierei il secondo punto ma per il resto direi che è un efficace riassunto. Si, direi che la mia teoria è quella.
Il secondo punto quale ?
Quello che l'obiettivo è raggiunto ?
Il secondo punto quale ?
Quello che l'obiettivo è raggiunto ?
Si, "Che alla fine di questo percorso si sa programmare, quindi l'obiettivo è raggiunto", per me non si sa se alla fine si sappia o non si sappia programmare.
Si, "Che alla fine di questo percorso si sa programmare, quindi l'obiettivo è raggiunto", per me non si sa se alla fine si sappia o non si sappia programmare.
Ma se poi affermi che si sa programmare, ma non sai spiegartene le ragioni!!
Ma se poi affermi che si sa programmare, ma non sai spiegartene le ragioni!!
forse avete semplicemente un concetto diverso di "saper programmare" IMHO non basta sapere cos'è un algoritmo, sapere come funziona il PC e conoscere un linguaggio.. c'è qualcosa di più di difficile da quantificare e qualificare.. assomiglia vagamente all'arte sotto questo punto di vista :sofico:
Ma se poi affermi che si sa programmare, ma non sai spiegartene le ragioni!!
E' perchè sono un inguaribile ottimista. A rigore avrei dovuto dire che alla fine non si sa programmare, mentre ho detto "se alla fine di quel percorso uno sa programmare". Anche ritenendo, con grande ottimismo, che qualcuno sappia programmare dopo aver studiato algoritmi, strutture dati, architettura dei calcolatori e tutto quello che gli va dietro, poichè la grande maggioranza (realisticamente la totalità) dei programmatori non è in grado di produrre software che funzioni mi sembra logico dedurne che c'è qualcosa che non va in ciò che studiamo.
Detto altrimenti, se dico a 100 persone di fare così perchè dopo sapranno fare cosà e alla fine solo 10 sono in grado di fare cosà, allora è ciò che gli ho detto di fare ad essere in qualche modo sbagliato.
Th3 Kn0wl3dg3
03-10-2006, 22:39
scusate se mi intrometto, ma cosi non mi aiutate per niente... :(
Kappaloris
03-10-2006, 23:40
Come ha detto k0nt3, dipende da cosa intendete con saper programmare.
A mio avviso (quindi senza studi dietro) saper programmare significa (anche) essere un buon stratega. Tralasciando le parti dell'analisi del problema e della stesura del codice, il punto di forza di un programmatore ( e non ) che sa già fare bene gli altri 2 passaggi, è il fatto di cercare di prevedere ogni situazione.
Conoscere bene il sistema sul quale lavori, ti aiuta a prevedere le possibili situazioni, quindi è importante.
Anche ritenendo, con grande ottimismo, che qualcuno sappia programmare dopo aver studiato algoritmi, strutture dati, architettura dei calcolatori e tutto quello che gli va dietro, poichè la grande maggioranza (realisticamente la totalità) dei programmatori non è in grado di produrre software che funzioni mi sembra logico dedurne che c'è qualcosa che non va in ciò che studiamo.
Con grande ottimismo ? realisticamente la totalità ???
Ma cosa stai dicendo ???
Fonti ?
Come ha detto k0nt3, dipende da cosa intendete con saper programmare.
A mio avviso (quindi senza studi dietro) saper programmare significa (anche) essere un buon stratega. Tralasciando le parti dell'analisi del problema e della stesura del codice, il punto di forza di un programmatore ( e non ) che sa già fare bene gli altri 2 passaggi, è il fatto di cercare di prevedere ogni situazione.
Conoscere bene il sistema sul quale lavori, ti aiuta a prevedere le possibili situazioni, quindi è importante.
In una parola si può riassumere come: Esperienza.
scusate se mi intrometto, ma cosi non mi aiutate per niente... :(
Tu lascia perdere le chiacchiere filosofiche che abbiamo fatto dopo! :D
Concentrati sul tuo obiettivo: hai fatto quello che ti ho detto ???
Se no, e non ne hai voglia......... male....
ma prova a dare un'occhiata qui: http://digilander.libero.it/antaresws/html/programmazione/intro.html
mi sembra una buona introduzione (forse troppo ostica per i miei gusti per un nuovo adepto, ma fatta bene).
PS: Ma tale Antares non girava su questo forum ?
no, è sicuramente un altro
Con grande ottimismo ? realisticamente la totalità ???
Ma cosa stai dicendo ???
Fonti ?
è tutto vero! sei mai stato in una scuola dove si insegna informatica? anche in un'università.. solo un decimo delle persone hanno veramente la cognizione di quello che stanno facendo (e penso perchè si sono messi a imparare da soli come ho fatto anche io) :read: tu invece su quali dati ti basi?
Con grande ottimismo ? realisticamente la totalità ???
Ma cosa stai dicendo ???
Fonti ?
Eccomi, sono il demagogo pilotante.
Per il confronto con la medicina puoi dare un'occhiata alle pubblicazioni dell'istituto di medicina delle accademie nazionali degli stati uniti. Errori sull'uno percento dei pazienti, errori mortali sullo 0.02 percento ("to err is human", 1999, http://www.iom.edu/)
Poi ti tieni allo sgabello e prendi il mitico rapporto CHAOS (1994) sulla percezione del management americano riguardante la riuscita dello sviluppo delle proprie soluzioni IT (per i pigri, il 16.2 percento dei progetti è portato a termine nei tempi e nei costi desiderati, percentuale che scende al 9 per le compagnie di dimensioni più elevate, http://www.standishgroup.com/sample_research/PDFpages/chaos1994.pdf).
Ne ricordavo anche uno del 2002 in cui si parlava del 100% di fallimento (sempre percepito, sempre da parte dei produttori) ma trovo solo la citazione per cui non conta.
Le stime sulla capacità di un software parlano di un miss rate del 65% (http://www.ispw.com/articles/Computer%20Finance.htm, 1998).
Metto solo quelli che mi sembrano essere il punto di riferimento della teoria della fallibilità del software.
Io imputo la situazione al versante formativo: per me c'è qualcosa che non va nel percorso di studi perchè non forma esseri umani in grado di affrontare i problemi dello sviluppo di programmi.
Mi passi un paio di riferimenti in cui si parla del cento per cento di successi, dell'affidabilità del software, dell'idoneità formativa e via dicendo. Non dico che non ci siano, è solo che non li ho mai letti.
La discussione a quanto pare ha preso altre strade, come accade spesso..
Cmq l'età conta poco; importante è la dedizione: non puoi diventare un grande programmatore se non sbatti la testa sul codice e se non ti "rompi" un pò le palle sulla teoria.
Non è importante solamente imparare uno o più linguaggi: certo devi conoscerne almeno un paio per poter valutare pregi e difetti ed avere un approccio differente ai vari problemi, che al giorno d'oggi per il 90% non riguardano nello specifico gli algoritmi (come molti anni fa).
Va bene un approccio da smanettone fino ad un certo punto, ma deve essere mirato, magari per darti gli stimoli e il divertimento che non ti darebbe un corso specifico universitario o simile.
Di conseguenza devi imparare ad avere metodo, teoria e pratica devono andare di pari passo, altrimenti diventi o un "ciambottone" (dalle mie parti si dice così) o un estremista della teoria, che sa di tutto e di più e non riesce nemmeno a fare un programmino stupido.
Ci sono ragazzi che dopo la laurea in informatica non sanno programmare, quindi io scinderei il discorso programmazione = università.
Il corso universitario ti da le basi e un'impostazione mentale adeguata alla risoluzione dei problemi, ma poi è tutta farina del tuo sacco.
Altro elemento importante è, secondo me, una certa predisposizione: puoi avere tutte le conoscenze del mondo, ma se non hai un minimo di propensione rimani un mediocre.
Inoltre quando avrai un'infarinatura sufficiente sulla programmazione, dovrai impostare il tuo studio verso argomenti specifici: programmazione di rete, su database, videogame, grafica, etc.
Non si può sapere tutto, quindi secondo me prima o poi bisogna scegliere un settore e specializzarsi su quello. Ciò induce anche allo studio di determinati linguaggi, più adeguati di altri in base al fine da ottenere; mi spiego: voglio programmare videogiochi, mi butto sul c++; voglio programmare applicazioni portabili, orientate alla rete, vado su java..
Ricorda che devi associare allo studio del linguaggio (ma questo successivamente) anche lo studio di altri argomenti, tipo database, reti o non so.. librerie grafiche; dipende da quello che vorrai fare.
Io cmq ti consiglierei questo percorso:
inizi col C, poi passi al C++, poi arrivi a Java. Nel frattempo ti fai un background sui sistemi operativi, sulle reti, sugli algoritmi, ma senza scendere troppo nei dettagli, tanto per i primi tempi non serve.
quando avrai imparato a programmare bene in un paio di linguaggi almeno, sorgeranno altre esigenze, soprattutto nello stile di programmazione e nelle tecniche..
quindi potrai approfondire lo studio della programmazione ad oggetti, dei design pattern, del test driven development e puntare ad una programmazione di qualità.
Non si diventa bravi dall'oggi al domani, i film restano tali: per arrivare a buoni livelli bisogna spaccarsi la schiena (in senso figurato :D ) e studiare tanto,
imho l'università deve essere una guida, deve indirizzarti, ma poi devi fare di testa tua, stando attento a non perderti..
P.S. non scoraggiarti, molti si sono trovati nella tua situazione e tanti se ne troveranno ancora; pensa all'obiettivo da raggiungere. programmare non è noioso, stimola la mente e può dare tante belle soddisfazioni, anche per il semplice fatto di riuscire a fare qualcosa che prima ritenevi impossibile, sia pure scrivere "Hello world" in un'interfaccia grafica. :)
un ultimo appunto:
almeno inizialmente lascia perdere tutto quello che riguarda ide e interfacce grafiche o ambienti RAD.
prenditi un normale editor di testo, un compilatore e programma con quelli fino a quando non sarai padrone della materia.
in seguito puoi passare ad un ide specifico che ti consenta di velocizzare la scrittura del codice..
quando avrai un certa dimestichezza dai uno sguardo a framework / tool come Ant, JUnit o similari in base al linguaggio che userai.. tra le altre cose serviranno a farti capire che diventare professionisti non è proprio una passeggiata e che ci vuole un bel pò di tempo.
Imho la cosa importante è migliorarsi di volta in volta e non aspirare ad essere migliori degli altri o "fare qualcosa che resti nella storia" (non ricordo chi l'abbia detto ma credo sia vero) :read:
Vuoi dare un'occhiata a qualcosa di veramente interessante ?
http://www.freenetpages.co.uk/hp/alan.gauld/italian/index.htm
Eccomi, sono il demagogo pilotante.
Allora lo ammetti! :D
Per il confronto con la medicina .... CUT ....
Buono. E' pur vero che l'informatica difetta rispetto alla medicina centinaia se non migliaia di anni di perfezionamento!!
Io imputo la situazione al versante formativo: per me c'è qualcosa che non va nel percorso di studi perchè non forma esseri umani in grado di affrontare i problemi dello sviluppo di programmi.
Ecco... è questo il punto: TU imputi (senza offesa e senza nulla togliere a te perchè per quanto ne so potrei stare a parlare con il figlio di Alan Turing!! :D ), ma la realtà e che un'alternativa (a parte il "mi butto a capofitto a programmare" che nella mia esperienza ha prodotto solo ottimi copincollisti) in realtà non esiste: si può disquisire infatti sull'efficacia didattica di spiegare determinate parti teoriche prima durante o dopo invece altre parti più pratiche e percepite come più "divertenti".... ma di sicuro la conoscenza dell'esistenza dei meccanismi della programmazione, e la capacità di scindere logica con problematice relative a linguaggio e sintassi è necessaria!!
Mi passi un paio di riferimenti in cui si parla del cento per cento di successi, dell'affidabilità del software, dell'idoneità formativa e via dicendo. Non dico che non ci siano, è solo che non li ho mai letti.
Non ho mai parlato di affidabilità al cento per cento!!!
Th3 Kn0wl3dg3
08-10-2006, 23:54
up!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.