PDA

Visualizza versione completa : Programmare ma cosa?



Manlio
13-08-10, 21: 51
Mi piacerebbe masticare qualche cosa di programmazione, ho letto le FAQ ma non so veramente cosa realizzare e cosa possa essere facile da fare, mi aiutate? :bgg2

MarcoStraf
13-08-10, 22: 23
Beh, prima di tutto devi imparare a programmare, decidere quale linguaggio usare e quindi provvederti del compilatore.
Per iniziare io ti suggerirei il linguaggio phyton, il cui compilatore e' gratuito (essendo Open Source) e lo puoi trovare nel sito ufficiale, in cui puoi trovare abbondanza di esempi e tutorial
http://www.python.org/
Il bello di phyton e' che e' un linguaggio multi piattaforma, lo puoi quindi usare su macchine Windows, Linux e Mac. Personalmente lo considero un ottimo linguaggio didattico.

Manlio
13-08-10, 22: 24
Sarò a 0, ma non ho capito bene a cosa mi serve pynthon!! :ehmm

Ho aperto il programma... è in inglese, non so cosa devo farci :cry3, mi sembra una pagina di blocco note :bgg2

deathwish
13-08-10, 22: 38
Manlio, il Python è un linguaggio di programmazione ad alto livello interpretato...

... ma partendo un attimino più indietro, tu hai un'idea di cosa voglia dire programmare e di quali sono le entità in gioco?

cosa ti aspetti dalla programmazione? cosa ti aspetti di poter fare e in che modo e con che strumenti?

Manlio
13-08-10, 22: 44
Manlio, il Python è un linguaggio di programmazione ad alto livello interpretato...

... ma partendo un attimino più indietro, tu hai un'idea di cosa voglia dire programmare e di quali sono le entità in gioco?

cosa ti aspetti dalla programmazione? cosa ti aspetti di poter fare e in che modo e con che strumenti?

Non so programmare, penso che programmare sia creare qualcosa con dei codici, si può creare PAC MAN, oppure Assassin's Creed.. io mi aspetto di riuscire a creare la cosa più semplice che si possa fare e quindi sarei contento, tu mi puoi aiutare passo passo??? :fleurs:hap

Quadio
13-08-10, 23: 39
Giusto per sapere che sistema/i operativo/i usi?

deathwish
14-08-10, 00: 12
lecita la domanda di Quadio anche se, a dire il vero, è altrettanto importante sapere PER QUALE sistema operativo (o piattaforma) si desidera programmare.

Manlio, la cosa più semplice da realizzare "storicamente" è un programma che visualizza in qualche modo la scritta "Salve, Mondo!".

guidarti passo passo? non è certo semplice farlo tramite un forum... dici di aver letto la FAQ... qualche spunto (anche abbastanza preciso) è riportato. cosa ti manca a questo punto?

( forse rispondere a tutte le domande della FAQ? :) )

Manlio
14-08-10, 09: 35
Giusto per sapere che sistema/i operativo/i usi?
Windows XP SP3


guidarti passo passo? non è certo semplice farlo tramite un forum... dici di aver letto la FAQ... qualche spunto (anche abbastanza preciso) è riportato. cosa ti manca a questo punto?

EHM si ho letto ma non capisco ne il programma adatto, ne come realizzarlo... :cry3

deathwish
14-08-10, 09: 41
allora, probabilmente, la cosa migliore che puoi fare è procurarti un generico libro sulla programmazione in un linguaggio di tua scelta (il Python va benissimo, come ti è stato consigliato) ed inizi a seguire i primi capitoli che ti guideranno nel realizzare i primi programmi.

poi, se non hai un obiettivo ben preciso e alla portata, più che "farti un po' le ossa" non credo che arriverai a fare...

Manlio
14-08-10, 10: 49
Ma io un libbro non l'ho non è che puoi trovarmi qualcosa sulla rete simile a questo libro?

deathwish
14-08-10, 13: 36
se vuoi programmo anche al tuo posto, a questo punto. :)

nemmeno io, in casa, ho tutti i libri che vorrei o a volte ho necessità di avere... per cui, quando serve, me li procuro. nel tuo caso, ti serve un libro introduttivo sul Python?

nel FAQ si cita il WWW come buona sorgente a cui attingere... un modo per farlo è usare un motore di ricerca, no? e dove si va a finire molto facilmente cercando libri sul Pyhon? qui (http://www.python.it/doc/libri/), dove è citato anche un tutorial (http://www.python.it/doc/Easytut/easytut-it/index.html)...

... che ne dici di partire da questo?

Manlio
14-08-10, 20: 02
OK, sto seguendo il tutorial, ma mi sono bloccato e non capisco perchè mi dice sempre sintassi errata...:bsh:aargh

Qua c'è l'allegato... mi dai una mano?? :bgg2

K.a.o.s.
14-08-10, 20: 20
Ciao,
da abbastanza inesperto di Python ti posso subito dire che stai usando Python 3.1, che cambia parecchio dalla versione 2.6.
Appunto per questo print è diventata print(), ovvero non

Only registered members can view code.ma

Only registered members can view code.
Click (http://docs.python.org/py3k/whatsnew/3.0.html)

Secondo me dovresti partire con il 2.6 :eye e poi migrare al 3 quando hai una base buona.

Manlio
14-08-10, 20: 30
Ciao,
da abbastanza inesperto di Python ti posso subito dire che stai usando Python 3.1, che cambia parecchio dalla versione 2.6.
Appunto per questo print è diventata print(), ovvero non

Only registered members can view code.ma

Only registered members can view code.
Click (http://docs.python.org/py3k/whatsnew/3.0.html)

Secondo me dovresti partire con il 2.6 :eye e poi migrare al 3 quando hai una base buona.

Grazie mille, avevo cercato la 2,6 ma mi sono confuso e non l'ho trovata...
Nel caso avrò altri problemi vi faccio sapere (ne avrò tantissimi :tong2)

Edit: Ho trovato la 2.6 vedo se le cose diventano più facili :hap

Manlio
16-08-10, 10: 17
:bai Ragazzi non ho capito se alla fine dell'introduzione ogni volta che lancio il programma ci sarà scritto hello world come messaggio di benvenuto... :leg:

K.a.o.s.
16-08-10, 16: 28
Se lanci uno script che stampa hello world, ovviamente sì :hap.

Altrimenti usando l'interattivo è tutto perso dopo l'esecuzione.

Manlio
16-08-10, 18: 11
Come mai allora non me lo lancia? La guida l'ho seguita tutta ma niente...

K.a.o.s.
16-08-10, 18: 27
Ma hai creato un file contenenti le varie istruzioni? Il percorso è giusto?

Secondo me è molto meglio imparare linguaggi come Python su un sistema Unix, magari anche una semplice distribuzione GNU/Linux. Hai tutti gli strumenti che vuoi e pure una shell migliore di quella di Windows.

Manlio
16-08-10, 18: 33
Be intanto le guide sono catalogate e qualche pulsante a volte non c'è tuttavia ero arrivato al punto in cui il programma mi diceva ciao, ma quando l'ho riavviato era a vuoto completo... :bsh

K.a.o.s.
16-08-10, 18: 48
ma quando l'ho riavviato era a vuoto completo... Riavviato cosa per la precisione?

Semplificando: quando hai >>> sulla sinistra sei in modalità interattiva, passi i comandi direttamente all'interprete che li esegue al volo. Non viene salvato nulla.

Se invece vuoi salvare le varie cose, crei un file con all'interno le istruzioni, che poi esegui con

Only registered members can view code.Ovviamente il comando va lanciato dalla giusta directory, non è che se metti il file hello.py sul desktop e lanci quel comando senza spostarti funziona.

Manlio
16-08-10, 19: 16
Riavviato cosa per la precisione?

Semplificando: quando hai >>> sulla sinistra sei in modalità interattiva, passi i comandi direttamente all'interprete che li esegue al volo. Non viene salvato nulla.

Se invece vuoi salvare le varie cose, crei un file con all'interno le istruzioni, che poi esegui con

Only registered members can view code.Ovviamente il comando va lanciato dalla giusta directory, non è che se metti il file hello.py sul desktop e lanci quel comando senza spostarti funziona.

Ma allora cosa serve salvare i file?? se poi se ci clicco sopra non si avvia?? :boh

K.a.o.s.
16-08-10, 19: 23
Ma allora cosa serve salvare i file?? se poi se ci clicco sopra non si avvia??
Per evitare di dover riscrivere ogni volta l'intero programma per eseguirlo. Finché c'è solo un print ok, ma pensa con un normale programma di 6-7 mila righe di codice.
Inoltre quello che stai facendo è uno script per la shell. Non ha un interfaccia grafica e quindi non basta cliccarci sopra 2 volte. Per vedere il risultato devi lanciarlo dal prompt dei comandi o in ogni caso dal terminale che usi.

Manlio
16-08-10, 19: 32
o in ogni caso dal terminale che usi.
cos'è il terminale? (ignoranza profonda :ohoh)

K.a.o.s.
16-08-10, 20: 01
Su Wikipedia: http://it.wikipedia.org/wiki/Shell_(informatica)
Su Mac c'è Bash:
http://img227.imageshack.us/img227/7639/terminale2.th.png (http://img227.imageshack.us/i/terminale2.png/)
Stessa cosa per la maggioranza delle distribuzioni GNU/Linux.
Su Windows c'è il prompt dei comandi che è un mini-shell. Su Xp è sotto tutti i programmi-accessori.

deathwish
16-08-10, 20: 27
Su Windows c'è il prompt dei comandi che è un mini-shell. Su Xp è sotto tutti i programmi-accessori.

ad onor del vero l'interprete dei comandi di DOS/Windows non è una "mini-shell"... è semplicemente un interprete di comandi e non una shell (per come è intesa in ambiente UN*X)... soprattutto, non ha tutta una serie di "aggiunte" proprio di shell come (T)CSH e BASH che incorporano caratteristiche proprie dei linguaggi di programmazione.

Manlio
16-08-10, 20: 36
Su Wikipedia: http://it.wikipedia.org/wiki/Shell_(informatica)
Su Mac c'è Bash:
http://img227.imageshack.us/img227/7639/terminale2.th.png (http://img227.imageshack.us/i/terminale2.png/)
Stessa cosa per la maggioranza delle distribuzioni GNU/Linux.
Su Windows c'è il prompt dei comandi che è un mini-shell. Su Xp è sotto tutti i programmi-accessori.

Ricapitolando... se lo avvio con il prompt vedo la scritta??

K.a.o.s.
16-08-10, 20: 39
Ricapitolando... se lo avvio con il prompt vedo la scritta??

Sì :hap.
Ci sono certi ide che ti permettono di fare queste cose più velocemente, ma personalmente credo sia meglio imparare prima come eseguirlo manualmente.

Manlio
16-08-10, 20: 46
Si, poi io sono quel tipo di persona che preferisce iniziare dalla gavetta e poi salire sempre più in alto se si diventa più bravi!
E' un po la mia filosofia di vita :oo2

deathwish
17-08-10, 09: 31
Si, poi io sono quel tipo di persona che preferisce iniziare dalla gavetta e poi salire sempre più in alto se si diventa più bravi!

anche perché l'alternativa è avere un talento innato oppure "nascere già imparati" :P :)

Manlio
17-08-10, 10: 05
Bello il talento innato... il fiuto giusto per ogni cosa... :P

deathwish
17-08-10, 10: 42
Bello il talento innato... il fiuto giusto per ogni cosa... :P

il TALENTO INNATO non ha molto a che vedere con il "fiuto giusto"... ad ogni buon conto, fa piacere scambiare chiacchere, ma vediamo di limitare gli off-topic e non riduciamo questa discussione ad una chat sterile dal punto di vista informativo...

Manlio
18-08-10, 09: 03
Ragazzi una cosa ma io ho pynton 2,6, ma quello nella guida che versione è??

deathwish
18-08-10, 09: 53
citando il tutorial alla sezione 1.3 (Modalità Interattiva), si coglie questo stralcio di output della shell

Only registered members can view code.

secondo te che versione hanno utilizzato? :)

Manlio
18-08-10, 11: 32
2.2.2??

Ci sono particolari differenze con il 2.6?

deathwish
18-08-10, 11: 39
2.2.2??

Ci sono particolari differenze con il 2.6?

se speri che me lo ricordi o che lo sappia senza cercare nel web, beh...

... in ogni caso, differenze ce ne saranno di sicuro, probabilmente anche considerevoli.

ma visto che non conosci ancora il linguaggio per bene, finché non incontri problemi non vedo perché fasciarsi la testa in anticipo.

K.a.o.s.
18-08-10, 11: 45
Dal 2.4 al 2.5 c'è un forte incremento prestazionale nell'esecuzione del codice. (però la differenza non si sente su un hello world :hap)
La sintassi non dovrebbe cambiare particolarmente, per quanto ne so solo con Python 3 c'è stata una rottura della compatibilità con la serie 2.x. E se anche fosse cambiata, direi che per i programmi semplicissimi iniziali va bene lo stesso :eye.

EDIT: Anticipato parzialmente

Manlio
18-08-10, 12: 43
Ma tecnicamente con questo programma potrei creare un videogame??
Ovviamente sapendo i codici!

deathwish
18-08-10, 12: 48
intendi con Python (che è un linguaggio di programmazione, non un programma)?

sì, certamente.

Manlio
18-08-10, 12: 51
intendi con Python (che è un linguaggio di programmazione, non un programma)?

Che differenza c'è tra questi? il primo esegue mentre il secondo è la visualizzazione dei codici?

cydonia
18-08-10, 13: 55
ciao a tutti:hap
dai uno sguardo anche qui' (http://www.python.it/doc/Howtothink/Howtothink-html-it/chap01.htm), cosi' ti togli un po di dubbi(domande),e alla doc http://www.python.it/doc/
:bai:bai

deathwish
18-08-10, 14: 26
Che differenza c'è tra questi? il primo esegue mentre il secondo è la visualizzazione dei codici?

no, il primo non "esegue".

cerchiamo di chiarire in breve (per approfondimenti è decisamente il caso che inizi a leggere un buon libro).

un linguaggio di programmazione (ad esempio, Python) è, come dice il termine stesso, un LINGUAGGIO ovvero una grammatica formale (un po' come l'italiano) con le sue regole ben precise e tramite la quale esprimersi.

l'espressione avviene per mezzo di un programma, ovvero un documento testuale (detto anche codice sorgente) comprensibile per chi conosce il linguaggio di programmazione (ma non direttamente dal processore).

un programma, di per se, non fa nulla a meno che non venga eseguito. questo può avvenire in due modi

i) tramite un interprete, che esegue il programma passo passo, oppure

ii) per mezzo di un compilatore, che traduce il programma in un lingua comprensibile dal processore generano un programma eseguibile (appunto).

ad onor del vero un po' di confusione viene generata nei casi in cui l'interprete (o il compilatore) ha il medesimo nome del linguaggio di programmazione. tuttavia le due entità vanno distinte.

Manlio
18-08-10, 14: 49
ciao a tutti:hap
dai uno sguardo anche qui' (http://www.python.it/doc/Howtothink/Howtothink-html-it/chap01.htm), cosi' ti togli un po di dubbi(domande),e alla doc http://www.python.it/doc/
:bai:bai

Grazxie mille è propio quello che mi serviva per colmare il mio lago di domande :sisi

Tommy Paradise
24-08-10, 22: 15
Un consiglio: cerca tutorial video, sono più intuitivi e anche più godibili.
D7JbeWGf7po&feature=channel


Ps
Se vuoi programmare Assasin's Creed con Python, mi sai che rimarrai leggermente deluso. :ghgh

Quadio
25-08-10, 13: 48
Se vuoi programmare Assasin's Creed con Python, mi sai che rimarrai leggermente deluso. :ghgh

Non da zero :eye

Ma ci sono giochi open-source che è possibile modificare

Io sto lavorando su Open Arena (http://openarena.ws/) per renderlo più complesso
(motore di Quake 3 Arena, modelli e pak free, tende un po' all'essenzialismo ma per questo è interessante secondo me).

Ho iniziato 1 anno fa circa (è in C) e da allora ho imparato non poco.

deathwish
25-08-10, 21: 08
Se vuoi programmare Assasin's Creed con Python, mi sai che rimarrai leggermente deluso. :ghgh

al di la del fatto che, come ho già scritto, senza avere una più che solida base di programmazione sarebbe impensabile anche solo pensare di abbozzare un videogioco che non sia veramente "banale"...

... facendo uso di opportune DLL e moduli, potresti tranquillamente realizzare un gioco come Assassin's Creed in Python.

poi, dall'essere possibile a riuscirci di mezzo ci sono modalità, conoscenze e risorse che un programmatore "casalingo" non può nemmeno lontanamente pensare di raggiungere.


Ho iniziato 1 anno fa circa (è in C) e da allora ho imparato non poco.

non fa mai male mettere mano a codice realizzato da altri, anzi è uno dei modi migliori per imparare (specie all'inizio) e avere nuovi punti di vista e confrontare idee e modalità di sviluppo.

Manlio
27-08-10, 10: 27
non fa mai male mettere mano a codice realizzato da altri, anzi è uno dei modi migliori per imparare (specie all'inizio) e avere nuovi punti di vista e confrontare idee e modalità di sviluppo.
Lo dicevo anche io a scuola quando copiavo :bgg2


Ps
Se vuoi programmare Assasin's Creed con Python, mi sai che rimarrai leggermente deluso. :ghgh
No per ora sto sviluppando Call of Duty Balck Ops... mi hanno assoldato quelli della Treyarch!!! :sisi

Tommy Paradise
12-10-10, 22: 39
Ora che ho un pò le mani in pasta ti posso dire che anche Visual Basic è un'ottima base di partenza.
Però prima ti consiglio di entrare nel concetto di programmazione, quindi flowcharts (diagrammi di flusso) e presudocodifiche o varie tabelle per testare quei programmi basilari che ti fanno fare all'inizio.

K.a.o.s.
12-10-10, 22: 44
Ora che ho un pò le mani in pasta ti posso dire che anche Visual Basic è un'ottima base di partenza.
Occhio che chi impara con Visual Basic dopo non impara più niente :eye (si fa fatica per la "forma mentis" sbagliata)
Tra l'altro spero intendi Visual Basic .net, Visual Basic 6 è ormai un linguaggio morto.

MarcoStraf
12-10-10, 23: 16
Ora che ho un pò le mani in pasta ti posso dire che anche Visual Basic è un'ottima base di partenza.
Però prima ti consiglio di entrare nel concetto di programmazione, quindi flowcharts (diagrammi di flusso) e presudocodifiche o varie tabelle per testare quei programmi basilari che ti fanno fare all'inizio.

Visual Basic e' una base di partenza come le altre, ma che sia "ottima" ho i miei forti dubbi. A livello didattico direi che vada bene per "iniziare" i giovani ai primi concetti della programmazione (scuole elementari o medie). A livello professionale e' invece un'altra cosa.

A riguardo i flowcharts, direi non si usano piu' da decenni, e sono completamente disadatti per i linguaggi di programmazione moderni (e specialmente per applicazioni guidate da "eventi"), per i quali di preferisce usare UML o pseudocode.

deathwish
13-10-10, 22: 22
Visual Basic e' una base di partenza come le altre, ma che sia "ottima" ho i miei forti dubbi. A livello didattico direi che vada bene per "iniziare" i giovani ai primi concetti della programmazione (scuole elementari o medie). A livello professionale e' invece un'altra cosa.

quoto, assolutamente, in toto.

anzi, sarei anche più "fondamentalista" di te, Marco... personalmente, al di la del fascino del "riuscire a fare le cose fin da subito" (conseguenza della semplicità di prototipizzazione per cui VB è stato concepito), abolirei completamente il VB dal punto di vista didattico perché lascia fin troppo spazio a PESSIME ABITUDINI che se non corrette fin da subito possono essere solamente deleterie per una persona che si avvicina per la prima volta al mondo della programmazione.

Tommy Paradise
15-10-10, 15: 54
Mmmm....noi usiamo il Vb6.
Con cosa dovremmo iniziare? Col C?
Potrei anche farlo da solo e iniziare a fare qualcosina...

deathwish
15-10-10, 21: 11
come già detto altre volte (mi pare anche nella FAQ della sezione), oggi come oggi ritengo sia più proficuo iniziare con Java, C# o VB.NET...

... poi, nulla vieta di inziare con C, C++ o assembly... :P