Consiglio per iniziare

di il
18 risposte

Consiglio per iniziare

Salve a tutti sono un ragazzo di 17 anni, mi piacerebbe tanto programmare e fare un giorno dell'informatica il mio lavoro.. Ho basi di diversi linguaggi tra cui il C++. Ho seguito la guida di HTML.it e appreso le nozioni principali.. Non avendo persone con cui confrontarmi ho optato per un forum. In poche parole vorrei consigli su come iniziare a fare qualcosa di concreto.. Magari esercizi o qualsiasi altra cosa ... Ho tanta volontà di imparare ma sono un po demotivato dalla mancanza di un confronto.. Accetto qualsiasi consiglio grazie in anticipo


Sent from my iPhone using Tapatalk

18 Risposte

  • Re: Consiglio per iniziare

    Forse era meglio postare nella sezione "bar".

    Da dove iniziare? cosa ti piace? che programmi ti piacciono?
    ecco inizia da li,ovvio,se ti piacciono i giochi mica vorrai creare il nuovo DOOM del 2000 ma anche solo un semplice tic tac toe(da console) è un'ottimo inizio,passerai poi a ricrearlo con un'interfaccia grafica e pian piano imparerai cose nuove.
    Questo discorso vale per tutto.
    Tenta comunque di creare qualcosa che ti piaccia realmente,altrimenti all'inizio potrebbe essere frustrante.
  • Re: Consiglio per iniziare

    Certo mi sembra giusto e ti ringrazio.. io so i comandi base, ma per la grafica e la struttura generale di un eventuale gioco non so da dove iniziare


    Sent from my iPhone using Tapatalk
  • Re: Consiglio per iniziare

    Puoi creare una grafica minimale nella console usando dei caratteri. ad esempio per il tris:

    | |
    ----------------
    | |
    ----------------
    | |

    In pratica si tratta di memorizzare i simboli X e 0 in una matrice, e poi ad ogni mossa la ristampi con 2 cicli annidati, e sfrutti questi cicli per stampare anche la griglia.
  • Re: Consiglio per iniziare

    Ti dispiacerebbe farmi un esempio? Te ne sarei molto grato !!!!


    Sent from my iPhone using Tapatalk
  • Re: Consiglio per iniziare

    Inizia con il sederti davanti ad un PC e scrivi il classico "Hello world"

    Finche' chiedi informazioni via ippone, non farai grandi passi avanti.

    Secondo: non e' nel forum che devi chiedere come si fa o che cosa fare!, Sei tu che devi ingegnarti per capire come si fa. Ma sopprattutto cosa fare.

    Non c'e' limite a quello che si puo' fare con un computer. Il limite e' solo se stessi.

    Programmare e' un po' come lavorare la creta, dipingere, scolpire, progettare ponti, ville, ...
    Devi avere un'idea in mente e utilizzari gli strumenti per realizzarla.

    I grandi pittori non sono nati grandi. Ma avevano idee e voglia di realizzarle. E i loro strumenti erano i pennelli ed i colori. Ma se non avevano il colore che volevano? Si ingegnavano per crearlo.

    Imparare a programmare non e' una cosa che si fa in 5 minuti, nemmeno in 5 giorni o 5 mesi. Ci voglio anni!
    La programmazione NON e' imparare un linguaggio di programmazione (C++, Java, Python, C#, ecc, sono tutti equivalenti !!!) ma sapere come scomporre un problema in parti che possono essere poi risolte da un computer. Il linguaggio di programmazione e' solo uno dei tanti strumenti. Serve sapere anche come scomporlo, come ricomporlo, come risolvere ogni singola componente, quale algoritmo utilizzare, dove salvare le informazioni, come sfruttare la potenza di calcolo che si ha a disposizione ...

    Certo, puoi sempre fare paginette web. Anche quella la chiamano programmazione.

    Ma se vuoi far si che la realizzazione del software sia il tuo lavoro devi studiare! Ed ancora studiare! E cimentarti com problemi semplici e poi via via piu' complessi fino ad arrivare al punto che quando ti descrivono un problema, ti e' chiaro fin da subito come va scomposto e risolto.

    E quando sarai arrivato a quel punto, ti renderai conto che non basta ancora, ma ci saranno altre mille mila cose da sapere.... Ci sara' altro da studiare.

    Se ti sei gia' demoralizzato, allora la programmazione non fa per te

    A si, e poi devi anche studiare.
    L'ho gia' detto? No? Allora lo ridico: DEVI STUDIARE!
  • Re: Consiglio per iniziare

    Grazie mille no per niente demoralizzato ! Anzi .. Questo discorso mi ha dato carica ! Voglio a tutti i costi farlo ! Amo questo mondo e non ho alcuna intenzione di abbandonarlo.. grazie mille a tutti !


    Sent from my iPhone using Tapatalk
  • Re: Consiglio per iniziare

    Caspita migliorabile ma in tutti questi anni non ho capito di stare studiando cosi tanto.Anzi io ritengo di non aver mai studiato.
    Letto,e riletto manuali di ogni sorta come fossero i piu famosi libri gialli.
    Leggo come se dovessi trovare l'assassino,il colpevole,puro piacere.
    L'msdn per me é come l'harmony per mia mamma.
    E lei mica lo studia!
    Se lo avessi dovuto fare solo per studiare e far diventare me stesso prorpio come un algoritmp gia scritto,allora non avrebbe fatto per me.
    Concordo,é una forma d'arte!
  • Re: Consiglio per iniziare

    Ma i manuali sono solo una piccola parte della conoscenza!
    Vuoi un po' di argomenti esotici?
    Tanto per fare un esempio del perche' SI DEVE STUDIARE!!!!

    Cominciamo con le cose semplici, cosi' come mi vengono in mente:

    - algoritmi di compressione
    - codici a correzione di errore
    - funzionamento di un garbage collector
    - teoria dei grafi
    - robotica
    - paradigmi di programmazione funzionali, logici, a regole, ad agenti, ...
    - programmazione parallela SIMD (ad esempio CUDA, OpenCL)
    - algoritmi per la ricerca di sottostringhe (se devi cercare una stringa in centinaia di TB di dati, l'algortmo deve essere decisamente evviciente)
    - crittografia, steganografia, digital watermarking
    - complessita' computazionale
    - automi a stati finiti, grammatiche
    - implementazione di compilatori
    - grafica 3D, geometria computazionale
    - architetture distribuite, architetture di rete
    - sistemi operativi, file system distribuiti
    - protocolli di comunicazione (mai sentito parlare di PGM ? Altro che UDP o TCP!)
    - sistemi e tecniche per il fault tollerant

    Ed ora cose un po' piu' esotiche

    - intelligenza artificiale, sistemi esperti
    - fuzzy logic
    - reti neurali
    - algoritmi genetici
    - calcolo quantistico
    - bioinformatica
    - microrobotica
    - biorobotica
    - neuroteconologie per la biorobotica
    - paradigmi di programmazione non convenzionali (robbba stranissima )
    - vita artificiale e realta' virtuale
    - sistemi multiagente

    Non tuto si usa, ovviamente. Ma sapere che esiste e piu' o meno come funziona, fa si che sia uno dei tanti strumenti che un professionista della progettazione software ha a disposizione per affrontare e risolvere un problema.

    Ed e' tutta roba strainteressante da conoscere
    La fregatura e' che ci si rende conto delle scemenze che si devono affrontare in ufficio

    @minepica: come ti dicevo, ci vogliono anni!
    A, si, e si DEVE STUDIARE
    E comprare i libri su cui studiare. Non li trovi dal giornalaio, e neppure nella libreria sotto casa, come il manuale di Visual Studio 2135
  • Re: Consiglio per iniziare

    Per me non è uno studio ma una lettura di piacere...


    [fatto]- algoritmi di compressione
    [fatto]- codici a correzione di errore
    [fatto]- funzionamento di un garbage collector
    [fatto]- teoria dei grafi
    [fatto]- robotica
    [1/2]- paradigmi di programmazione funzionali, logici, a regole, ad agenti, ...
    [manca]- programmazione parallela SIMD (ad esempio CUDA, OpenCL)
    [fatto]- algoritmi per la ricerca di sottostringhe (se devi cercare una stringa in centinaia di TB di dati, l'algortmo deve essere decisamente evviciente)
    [fatto]- crittografia, steganografia, digital watermarking
    [oddio la matematica!]- complessita' computazionale
    [bellissimo]- automi a stati finiti, grammatiche
    [momentaneamente troppo complicato]- implementazione di compilatori
    [solo 2d]- grafica 3D, geometria computazionale
    [poco]- architetture distribuite, architetture di rete
    [fatto]- sistemi operativi, file system distribuiti
    [fatto]- protocolli di comunicazione (mai sentito parlare di PGM ? Altro che UDP o TCP!)
    [moolto bello]- sistemi e tecniche per il fault tollerant
    [stupendo]- intelligenza artificiale, sistemi esperti
    [bellissimo]- fuzzy logic
    [troppo avanzato]- reti neurali
    [manca]- algoritmi genetici
    [manca]- calcolo quantistico
    [manca]- bioinformatica
    [manca]- microrobotica
    [manca]- biorobotica
    [manca]- neuroteconologie per la biorobotica
    [manca]- paradigmi di programmazione non convenzionali (robbba stranissima )
    [un pò]- vita artificiale e realta' virtuale
    [manca]- sistemi multiagente

    Gran bella lista migliorabile.
    è si comprare i libri è fondamentale,io leggo malissimo sul computer con quegli odiosi file pdf, e poi come si fa a portarli in bagno o a letto???

    a forse ti sei dimenticato che prima bisogna fare un corso di inglese dato che il 99% dei libri piu interessanti è solo ed unicamente in inglese.
  • Re: Consiglio per iniziare

    Ora che so, grazie a voi come muovermi per arricchire le mie conoscenze mi metto subito al lavoro ed inizio la mia "lettura di piacere" !! Grazie questo cercavo !


    Sent from my iPhone using Tapatalk
  • Re: Consiglio per iniziare

    Potreste per cortesia farmi una lista delle cose da studiare in ordine, in modo che mi creo un programma di studi che mi faccia pian piano arricchire le conoscenze senza pero crearmi confusione!


    Sent from my iPhone using Tapatalk
  • Re: Consiglio per iniziare

    minepica ha scritto:


    Potreste per cortesia farmi una lista delle cose da studiare in ordine, in modo che mi creo un programma di studi che mi faccia pian piano arricchire le conoscenze senza pero crearmi confusione![/url]
    Esci bene dalle superiori, poi rimboccati le maniche e segui il corso di laurea in scienze del'informazione, o ingegneria informatica, all'universita'.

    Ma adesso? Implementa tic tac toe!
  • Re: Consiglio per iniziare

    Ingegneria informatica era già nei miei programmi .. Ma ora non voglio perder tempo ! Voglio iniziare a far qualcosa da subito !


    Sent from my iPhone using Tapatalk
  • Re: Consiglio per iniziare

    Implementa tic tac toe!

    Gia' per far questo devi:

    1) imparare ad usare un linguaggio di programmazione
    2) capire che cosa sono e come si usano le librerie (devi scrivere sullo schermo, anche se e' solo a caratteri)
    3) capire come scoporre un problema in parti componibili
    4) implementare un intelligenza artificiale: e' un termine altisonante, ma alla fin fine e' cosi' se implementi un programma contro cui giocare. Sei tu contro il TUO programma. Chi sara' piu' intelligente?

    a) se lo sei tu, allora devi mettere piu' intelligenza nel tuo programma,
    b) se e' lui, allora devi capire come batterlo.

    Lo hai fatto tu! Ti faresti battere da un programma che hai fatto tu? Vergogna!

    Implementare un programma in grado di giocare e' tutt'altro che facile. Anche per i giochi piu' semplici. I giochi hanno il grande pregio di avere delle regole chiare, e quindi adatte ad essere affrontate con un computer.

    Se riesci a realizzare un programma che ti da padda ad ogni partita, sei gia' a buon punto!
Devi accedere o registrarti per scrivere nel forum
18 risposte