Costruire un programma completo?

14

Leggere libri, guardare video e rivedere i tutorial è molto semplice. Prendere appunti e imparare effettivamente il materiale potrebbe essere un po 'più difficile, ma anche allora, chiunque abbia un cervello decente e una buona dose di interesse, è abbastanza facile (per non dire divertente).

Il fatto è che in realtà non ti prepara a scrivere un programma o un sito web completo. Diciamo che siete quei ragazzi (solo al liceo, nessun vero corso di laurea in informatica o corsi di programmazione, e nessuna esperienza del mondo reale), e vieni fuori con Groupon. O anche Mark Zuckerburg, sicuro che fosse un genio, ed era un programmatore molto capace ... ma come?

Come raccomandi che le persone che non sono necessariamente nuove nella programmazione, ma che sono nuove nella programmazione di applicazioni reali e di veri programmatori, lo sviluppano? Qual è il "processo di sviluppo", in particolare per i singoli programmatori (o forse 2-3 adolescenti)?

Inoltre, per quanto riguarda lo sviluppo del web, qual è il processo? Qualcosa come Facebook o Groupon è stato scritto con un framework (come CodeIgniter o Zend per PHP)? O sviluppano i loro quadri? Non sto chiedendo come trovare una grande idea, ma come implementare le grandi idee in modo efficace? Qualcuno ha un consiglio?

Ho letto un paio di libri su C e C ++ (principalmente il linguaggio di programmazione C e il linguaggio di programmazione C ++) e preso AP Computer Science (oltre a leggere alcuni libri aggiuntivi su Java e OOP). Ho anche letto alcuni tutorial su PHP (e CodeIgniter) e Python. Ma sono ancora al liceo e tecnicamente non sono nemmeno abbastanza grande per lavorare in uno stage per qualche altro mese.

    
posta Bob 25.11.2011 - 10:45
fonte

7 risposte

7

C'è una differenza tra sapere semplicemente come programmare e sapere come strutturare un programma (architettura software).

Un semplice libro su un linguaggio di programmazione specifico ti insegnerà solo gli strumenti che puoi usare per configurare l'architettura di un programma.

Ci sono anche libri che ti aiutano con l'architettura del software. Gli argomenti che dovresti cercare sono schemi di progettazione , astrazione del software , architettura / design del software e molti altri ... ( Head First Design Patterns è stata una vera rivelazione per me.)

Per un insieme più ampio di risorse, questa domanda potrebbe interessarti.

Il modo migliore per imparare a strutturare correttamente un intero programma è comunque l'esperienza pratica, essendo molto aperto a suggerimenti e nuove tecniche mentre lo fa.

    
risposta data 25.11.2011 - 11:02
fonte
5

È lo stesso problema molto comune con lo sviluppo di giochi (indie): come finire.

Oltre a fare in modo che tu possa farlo, perché hai tutte le conoscenze richieste o sei disposto a imparare - e hai controllato che altre persone hanno verificato che non fosse impossibile ...

... la cosa principale che rende possibile "finire" è impostare obiettivi .

Gli obiettivi sono l'obiettivo da raggiungere, non devono descrivere come arrivarci, solo quali sono i requisiti / le caratteristiche di base di cui hai bisogno per considerare una "prima" versione della tua app "finita". Inoltre, non fissare obiettivi troppo lontani nel tempo.

Scrivi i tuoi obiettivi da qualche parte. Scrivilo.

Una volta impostati gli obiettivi, dovrai solo trovare i modi per raggiungerlo. Questo è il famoso "sentiero" che è più interessante dell'arrivo. Non preoccuparti di raggiungere i muri e scoprire quanto sarai sbagliato. La maggior parte delle volte, se il soggetto è nuovo, ti sbagli e imparerai perché ed essere in grado di farlo bene e hai fatto un altro setup per avvicinarti agli obiettivi.

Anche nel game design, sappiamo che devi fornire degli obiettivi per assicurarti che il giocatore sappia, anche in modo astratto, ciò che deve raggiungere, qualunque sia il suo modo di fare.

    
risposta data 25.11.2011 - 10:52
fonte
4

Leggere molto sul nuoto non fa di te un nuotatore. Naturalmente prepara uno con le conoscenze richieste, per diventare un nuotatore che devi saltare in acqua.

Vedo che molte persone che l'hanno fatto e che hanno pensato di leggerlo sono quelli che ci riescono.

Se vuoi essere un nuotatore tuffati in acqua e impara a nuotare, se vuoi diventare un programmatore, inizia a programmare con un'idea e impara a programmare.

Credo che il saggio di Peter Norvig sia pertinente qui: Insegna a te stesso a programmare in 10 anni

    
risposta data 25.11.2011 - 17:42
fonte
1

Sembra che ci si concentri troppo sugli aspetti di implementazione del software, che è solo una piccola parte dell'intero processo di sviluppo del software (vedi SDLC). Potrebbe essere necessario esaminare alcune metodologie software e imparare come usarne uno che ti piace. Oltre a questo, leggi gli studi di casi, scopri i vantaggi e gli svantaggi di ogni strumento che potresti considerare di utilizzare nel tuo software, valuta e vai da lì. Dopo una rapida lettura della tua domanda, potresti doverti concentrare sulle aree Analisi e Progettazione del software e imparare a conoscere UML, decomposizione e forse alcuni schemi di progettazione. forse ..

Spero che questo aiuti ..

    
risposta data 25.11.2011 - 11:09
fonte
0

Risposta breve, imposta i tuoi obiettivi e inizia.

Non esiste un libro o un modo per insegnartelo ma un'esperienza pratica.

Farai molti errori e gradualmente acquisirai esperienza. Quindi, se ti imbatti in un problema, pensaci, prova a trovare una soluzione e se fallisci vai a StackOverflow e ottieni aiuto. Anche avere recensioni di codice il più presto e il più possibile.

Dopo aver terminato il tuo primo progetto e aver acquisito una buona conoscenza dei problemi tecnici, inizia a esaminare argomenti più astratti e di maggiore levatura dell'ingegneria del software.

Con la consapevolezza appena acquisita di problemi comuni otterrete i concetti di abstract di libri con codice pulito e disaccoppiato, perché il vostro primo progetto sarà un disordine irraggiungibile.

Libri (soliti sospetti):

risposta data 25.11.2011 - 13:07
fonte
0

A questo punto è necessario interrompere la lettura della programmazione e avviare la programmazione. Se vuoi creare un sito web, segui un tutorial per il quadro di tua scelta. Scegli uno che ti piace. Segui il tutorial per imparare come usare il framework, quindi inizia a creare la tua applicazione web.

Dopo aver scritto del codice, i libri sulle tecniche di programmazione avranno molto più significato.

    
risposta data 25.11.2011 - 17:57
fonte
0

Quando esci e provi a scrivere alcuni programmi che vuoi vendere, ti consiglio di leggere questo saggio di Joel Spolsky su "The Development abstration layer".

link

    
risposta data 25.11.2011 - 18:18
fonte

Leggi altre domande sui tag