Domanda

Ho sempre creduto che quando si inizia a imparare un nuovo programmatore di linguaggi di programmazione debba creare determinati progetti per ottenere una migliore comprensione della lingua e / o dei quadri. Personalmente per me è stato con php (guestbook, astrazione DB, motore di template), ruby ??(su rotaie, sito web simile a twitter, plugin di registrazione attiva, gemma semplice) e goal-c (cacao, todo-list, client twitter).

Mi chiedo quali sono i progetti must-program per altri linguaggi di programmazione come Java, C ++, Python, ecc? Forse hai avuto altri percorsi per l'apprendimento delle lingue?

È stato utile?

Soluzione

Project Euler

I primi 20 o giù di lì sono piccoli e piacevoli problemi che ti consentono di sperimentare cose di controllo dell'esecuzione di base delle lingue. Ti dà una buona idea di come una lingua opera nel "piccolo".

Altri suggerimenti

Per Java penso che qualcosa come un sistema di inventario sarebbe OK perché copre la maggior parte delle cose come i concetti orientati agli oggetti, la GUI, la programmazione del database ecc. È abbastanza intelligente per iniziare

In C ++ immagino che qualcosa in relazione alle prestazioni potrebbe essere eccezionale. Suggerendo di sviluppare una semplice applicazione di elaborazione delle immagini in C ++. Comprenderai bene i puntatori e la gestione della memoria

Purtroppo, è da un po 'che non imparo una nuova lingua.

Ma quando stavo imparando nuove lingue tutto il tempo, avevo una strategia semplice: il mio primo programma era il tuo "ciao, mondo" di base, qualcosa che mostrava solo un messaggio ed esce. Il mio secondo programma era Life. (Vedi ad esempio http://www.math.com/students/wonders/ vita / life.html )

Nei giorni più recenti il ??mio prossimo sforzo è diventato un semplice programma di database, anche se non ne ho mai trovato uno standard. Ma qualcosa da leggere e scrivere da un database.

Penso che sia una buona idea scrivere lo stesso programma in lingue diverse. In questo modo conosci già il problema e i principi alla base della soluzione, quindi l'unica cosa nuova di cui hai a che fare è il linguaggio di implementazione.

Di solito mi piace fare alcuni giochi per un paio di motivi.

  • Tendono ad essere più divertenti da implementare perché dopo tutto sono dei giochi.
  • Hanno regole chiaramente definite in modo da non perdere molto tempo a capire le specifiche invece di scrivere il programma
  • Tendono ad avere un buon livello medio di complessità. Abbastanza duro da non essere banale e abbastanza semplice da poterli fare in poche ore o giorni
  • Tendono ad essere indipendenti. OSSIA non hai bisogno di un backend di database per gli scacchi a meno che tu non voglia davvero - a differenza di un'app più reale come un blog in cui un database è sostanzialmente obbligatorio.
  • Con molti giochi è possibile utilizzare solo un'interfaccia utente di testo o ASCII art che tende a semplificare le cose durante l'apprendimento di una lingua

Inizia con qualcosa di semplice come l'impiccato, la mente principale o le torri di Hanoi. Quindi puoi passare a un gioco più completo come il poker / il monopolio. Con un gioco del genere è quindi possibile aggiungere funzionalità arbitrarie come il salvataggio di giochi in un database se si desidera sperimentare il framework di accesso ai dati della lingua.

La sfida di Python è molto divertente e incoraggia l'uso di linguaggi e funzioni di libreria interessanti. http://www.pythonchallenge.com/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top