Algorithm for Learning development [fermé]

16

C'est une question assez générale. Je connais un peu Perl et Python et je cherche à apprendre la programmation plus en profondeur afin qu'une fois que je me familiarise, je puisse commencer à développer des applications, puis des sites Web.

J'aimerais connaître un algorithme (séquence d'étapes :)) qui pourrait décrire mon approche de l'apprentissage de la programmation en général. J'ai posté de petites questions sur Perl / Python et j'ai reçu une grande aide de tout le monde.

Remarque: - Je ne suis pas pressé d'apprendre. Je sais que cela prend du temps et c'est très bien.

Veuillez donner toute suggestion que vous jugez valide. Aussi, ne me forcez pas à apprendre le lisp, le haskell, etc. - je suis un débutant.

user9057
la source
Y a-t-il une langue particulière que vous cherchez à apprendre? Je sais que vous mentionnez perl et python, est-ce que vous cherchez à y entrer?
Jason
Donc ce que vous demandez c'est ... quoi exactement? Le processus par lequel vous apprenez une langue spécifique? Se programmer lui-même? En utilisant quoi?
glenatron
Je pense que c'est une bonne question. J'ai édité pour le rendre un peu plus clair.
Gary Rowe

Réponses:

28

L'algorithme en 11 étapes pour apprendre un nouveau langage de programmation

Je suis actuellement en train d'apprendre Lisp , et je recommanderais l'algorithme suivant:

  1. Demandez si la langue mérite d'être apprise et où trouver de bonnes ressources. Si des réponses positives à la langue sont données par des experts, passez à l'étape 2.
  2. Créez un environnement de programmation initial. Restez simple: éditeur de texte et compilateur / interprète. Le strict minimum. Considérez un compte d'utilisateur spécifique sur votre machine avec un jeu de couleurs spécial pour marquer le changement de mentalité.
  3. Créez le "Bonjour, monde!" application.
  4. Apprenez la syntaxe générale et les instructions de contrôle (if-then-else, repeat-until etc). Créez un bac à sable pour vérifier les cas de contrôle simples (évaluations vraies / fausses, etc.). Essayez tous les types primitifs (int, double, chaîne, etc.). Effectuer des calculs de devises. Le jeu de devinettes (comme suggéré par @Jeremy ) est bon pour cela.
  5. Créez une classe (le cas échéant) avec plusieurs méthodes / fonctions. Faites des appels entre les fonctions. Appliquer des instructions de contrôle.
  6. Apprenez les tableaux et les collections. Créez des exemples suffisamment complexes pour créer des tableaux et des collections de chacune des classes / fonctions / primitives à votre disposition
  7. Apprenez le fichier IO. Créez des exemples de lecture, de manipulation et d'écriture de fichiers binaires et basés sur des caractères.
  8. Posez plus de questions sur la programmation idiomatique dans le langage (pointeurs, macros, monades, fermetures, cadres de support, environnements de construction, etc.).
  9. Choisissez (ou adaptez votre IDE existant) pour travailler dans l'idiome recommandé.
  10. Écrivez une variété d'applications qui vous plaisent (ou votre patron).
  11. Après 1 an, revenez à l'étape 1 pour une autre langue tout en conservant votre intérêt pour celle que vous venez d'apprendre.
Gary Rowe
la source
1
J'ai trouvé que le jeu "deviner les nombres" était un excellent deuxième programme à écrire. (À l'étape 4.) Il vous permet d'en savoir plus sur les entiers, les booléens, les entrées / sorties de texte, les boucles et les conditions.
Jeremy Heiler
@Jeremy Bonne suggestion, je l'ai mis là-dedans.
Gary Rowe
Salut Gary - merci pour les instructions détaillées, je vais essayer de le mapper avec python - très bonne explication étape par étape, c'est pourquoi j'aime cette chaîne de forums ... @Jeremy ouais je suis dessus :)
user9057
schéma de couleurs spécial pour marquer le changement de mentalité , pouvez-vous nous éclairer à ce sujet?
Santosh Kumar
J'ai tendance à choisir une palette de couleurs plus foncée lorsque je travaille avec Lisp mais j'utilise une palette plus claire pour Java. La couleur me rappelle de changer d'état d'esprit.
Gary Rowe
12
while (stillLearning)
{
    read(some);
    practice(lots);
}
Steven A. Lowe
la source
4a5 > cross_pollinate(many);
ocodo
2

Pour chaque langue que vous souhaitez apprendre L

  • Étape 1: Apprenez la syntaxe de L.
  • Étape 2: Écrivez un compilateur pour Ldans votre langue préférée.
  • Étape 3: Écrivez un compilateur pour votre langue préférée en L
  • Étape 4: Écrivez idiomatiquement un projet majeur dans L
  • Bonus: assurez-vous que le résultat de l'étape 2 est compatible avec le résultat de l'étape 4.

Cela devrait à peu près tout couvrir, revenez-nous avec un rapport d'étape dans 10 ans .

Si tout ce que vous recherchez est d'apprendre à faire du développement web et que vous connaissez déjà Perl et Python, vous en avez assez pour commencer. Je dirais commencer à apprendre les tenants et aboutissants d'Apache (et plus précisément mod_perlet mod_python), puis pratiquer. Peut-être prendre un livre ou deux sur la programmation CGI, la communication réseau et autres, plutôt que des manuels de langage spécifiques.

Enfin, être débutant n'est pas une raison pour ne pas apprendre le lisp. Allez voir SICP et les conférences vidéo . Ni l'un ni l'autre ne suppose aucun niveau d'expertise en développement ou en informatique. En fait, pour citer l'introduction aux conférences vidéo

Je vous souhaite la bienvenue à ce cours d'informatique. [L'écrit au tableau] En fait, c'est une terrible façon de commencer. L'informatique est un nom terrible pour cette entreprise. Tout d'abord, ce n'est pas une science [biffe "science"]. Il peut s'agir d'ingénierie ou d'art. [...] Il ne s'agit pas non plus vraiment des ordinateurs [biffe "ordinateur"]. Et il ne s'agit pas d'ordinateurs dans le même sens que la physique ne concerne pas vraiment les accélérateurs de particules. Et la biologie ne concerne pas vraiment les microscopes et les boîtes de Pétri. -Hal Abelson

Inaimathi
la source
Ça a l'air amusant. Rendez-vous dans 10 ans!
Jeremy Heiler
+1 pour l'étape 2, écrivez un compilateur pour L! Le cerveau ... fait mal ... tellement ... tellement ... maintenant.
Gary Rowe
-2

Je ne veux pas dire grand-chose sauf deux étapes.

  1. Apprendre la structure des données
  2. Apprenez l'introduction à l'algorithme

La programmation PS est votre tâche quotidienne.

Salut 福气 鱼
la source
Sur les programmeurs, nous vous encourageons à «dire beaucoup», ne soyez pas timide :) Donnez quelques détails sur vos conseils, comme des ressources, des références ou des exemples tirés de vos propres expériences.
Matthieu
-2

La meilleure façon est d'apprendre les bases / principes de base d'un langage de programmation, puis de rejoindre une entreprise en tant que développeur junior (entrepreneur). Ce sera le moyen le plus rapide d'apprendre et de gagner de l'argent aussi pour votre temps;)

jimmydoontec
la source