Quel est le meilleur endroit pour m'enseigner une langue et laquelle?

13

Je ne connais aucun langage de programmation. Je vais m'auto-enseigner et j'ai besoin de savoir le meilleur endroit pour le faire où je peux apprendre à partir d'un niveau le plus élémentaire. Où est un bon endroit pour commencer à apprendre une langue? Quelle langue est préférable d'apprendre en premier? Est-ce idiot d'apprendre Ruby en premier?

Ici, je suis tombé sur quelqu'un disant que l'apprentissage de certaines des langues supérieures peut vous rendre «paresseux» si vous les apprenez d'abord. Comme Ruby entre autres.

Pour ma première langue, mon mari me conseille d'apprendre le rubis (pour son intérêt personnel). Cependant, j'ai besoin de conseils indépendants sur la façon de commencer et la langue que je dois apprendre en premier. J'apprendrai finalement Ruby puis Rails.

Il y a quatre mois, mon mari a commandé un texte d'objectif C parce qu'il pensait qu'il l'accepterait. J'ai feuilleté et cela commençait clairement à un endroit plus avancé que celui d'où je viens.

J'ai essayé un didacticiel Ruby et je ne comprends pas. J'obtiens ce que je mets, c'est ce que j'obtiens, mais je ne comprends pas ce qui mène à cela. Je dois d'abord connaître TOUTES les règles. J'ai ensuite recherché les langages informatiques et j'ai commencé à rechercher du code binaire qui m'a beaucoup aidé, mais pas par où je veux commencer. Je n'ai pas beaucoup de temps en ce moment dans ma vie (avec quatre enfants) pour remonter aussi loin. Si j'allais à l'école, ce serait différent.

Tout conseil que vous pourriez donner est le bienvenu.

lorindaapps
la source
Je dois demander, comment avez-vous trouvé ce site Web si vous ne connaissez aucune langue et je suppose que je n'ai jamais visité Stackoverflow? Aussi, ne vous embêtez pas à apprendre le code binaire au début (ou jamais, heh).
@Sergio: Hubby a probablement recommandé à OP de venir ici (car on dirait qu'il connaît déjà Ruby). Et le code binaire est bon quand on étudie l'assemblage (quelque chose que je pense que tous ceux qui sont sérieux au sujet de la programmation devraient le faire, mais peut-être pas au début s'ils s'auto-enseignent).
FrustratedWithFormsDesigner
@Frust: Je n'imagine pas quelqu'un qui commence fraîchement à apprendre l'assemblage.
2
Avec quel tutoriel Ruby avez-vous travaillé? J'ai aimé Why's Poignant Guide to Ruby. mislav.uniqpath.com/poignant-guide
FrustratedWithFormsDesigner
1
@Sergio: Oh, j'ai trouvé le site moi-même quand j'ai cherché: quelle est la meilleure façon d'apprendre une langue. Mon mari ne connaît que le HTML frontal et tout ce dont il a besoin avec son travail ... la vitesse? Il est chef de produit pour une société de logiciels, pas programmeur. Il n'a aucune patience (mais il est aimé). Je voulais regarder le code binaire parce que j'avais besoin de savoir ce qui se passe dans la journée avec les langues? Quelles langues construisent d'autres langues et ainsi de suite. Comment l'ordinateur «l'obtient» en était une autre. Il n'a pas pu répondre à mes questions.
lorindaapps

Réponses:

2

Ruby ne vous laissera pas tomber à long terme. Persévère! N'abandonnez pas!

Si vous voulez une introduction amusante, essayez Hackety Hack . C'est aussi par les estimés pourquoi le chanceux chanceux - le même gars qui vous a amené Tryruby et Why (poignant) Guide to Ruby . Il a également mystérieusement disparu d'Internet en août 2009 , mais je m'égare.

Hackety Hack suppose aucune expérience de programmation. C'est aussi amusant qu'un filet à papillons. Essaie. Oh, et ne vous inquiétez pas tellement de ce qui se passe réellement dans les 00000 et 1111111. C'est important, mais vous devez d'abord vous habituer à dire à l'ordinateur quoi faire. Faites le tour sans vous soucier de la raison pour laquelle il écoute. Pensez à toutes les autres choses que vous utilisez, mais ne savez pas exactement comment elles fonctionnent - un grille-pain , des aliments génétiquement modifiés et des produits chimiques qui modifient l'humeur.

Scant Roger
la source
Intéressant ... Les choses binaires que je lisais étaient aussi un site réalisé en 2009 par lui. Hmmmm. Hmmm. Merci pour la réponse ... tout le monde a été si généreux avec les informations. Mon mari glousse depuis que je lui ai dit quel site j'avais trouvé. Il a été impressionné par les bonnes réponses! Depuis que j'ai de telles questions vertes, j'aurais pu facilement être chassé. Tellement heureux ... ce doit être une grande communauté!
lorindaapps
6

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/

Vous pouvez regarder l'introduction du MIT au cours d'informatique. Ils utilisent python, et le manuel est même disponible gratuitement.

http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

Vous pouvez également regarder l'intro de Stanford. cours. Ils utilisent Java.

http://www.youtube.com/watch?v=zmYqShvVDh4

Enfin, vous pouvez également regarder le cours d'introduction de Cal-Berkely. Je crois qu'ils utilisent Scheme ou un autre dialecte de Lisp.

Anthony Shull
la source
2

Pourquoi voulez-vous apprendre les langages de programmation? Chacun a un objectif différent et certains sont meilleurs à enseigner certains concepts que d'autres. Vous souhaitez développer un logiciel ou vous familiariser avec l'aspect plus théorique de l'informatique? Il y a une grande différence, et celle que vous choisissez affecte la façon dont vous devez procéder.

Il semble que vous compreniez facilement les concepts bas, il se peut donc que C soit un bon langage procédural d'introduction; c'est l'un des premiers que j'ai appris, bien qu'il ne soit pas pertinent aujourd'hui dans un sens pratique. Les livres de C for Dummies que j'avais étaient bons à enseigner la langue à partir d'un niveau très, très basique. Pour quelque chose de plus pratique, Python est probablement un bon choix.

Pour des choses plus théoriques, essayez peut-être d'apprendre Lisp avec Structure et interprétation des programmes informatiques . Mais c'est probablement un peu plus difficile à saisir.

Andrew Arnold
la source
Droite. Je veux vraiment produire des logiciels et si je les apprécie, je pense qu'à l'avenir, je serais intéressé par le côté théorique.
lorindaapps
2

Suggestions basées sur la question et de nombreux commentaires:

  • L'envie de savoir exactement ce qui se passe au plus profond de la machine est forte, en particulier chez les développeurs curieux. Je vous conseille de supprimer cette envie pour l'instant. Si vous ne le faites pas, il est plus probable que vous deveniez frustré et jetiez le tout de côté. Si la programmation est pour vous, vous allez rencontrer de nombreux outils qui vous cachent les détails. C'est en fait considéré comme une bonne chose - cela vous permet de vous concentrer sur votre problème sans trop réfléchir à ce qui se cache derrière le rideau. Ne perdez pas cette curiosité. Il suffit de le ranger en toute sécurité pour l'instant.
  • Si vous ne pouvez pas vous empêcher de penser aux détails, pensez à acheter un livre comme The Elements of Computing Systems: Building a Modern Computer from First Principles . Il vous guidera à travers la construction de votre propre ordinateur (simulé). Cela commence par les bases absolues (portes logiques) et construit et construit et construit jusqu'à ce que vous ayez un ordinateur complet avec du matériel et des logiciels. Lorsque vous avez terminé, vous aurez une expérience pratique de la mémoire, de la modélisation des processeurs, des systèmes d'exploitation, des machines virtuelles et même de l'analyse du code. Lisez les critiques. Ce livre est incroyable.
  • D'après vos commentaires sur tryruby.org, il semble que vous vous mettiez trop de pression. Il se peut que vous ayez besoin de mémoriser, mais ce n'est pas le but. Les auteurs introduisent des concepts. Ils veulent vous faire une idée de la langue (et l' aimez). En passant d'une démo à l'autre, ils ne s'attendent pas à ce que vous maîtrisiez ce qui s'est passé avant. Vous aurez tout le temps de chercher les choses quand c'est nécessaire (je fais ça depuis longtemps et je regarde toujours les choses tous les jours).
  • Si vous avez un objectif logiciel spécifique, assurez-vous de le partager. Par exemple, si votre objectif est une application Web, il existe des outils qui facilitent les applications Web et d'autres non. Démarrer une application Web à partir de zéro avec C, c'est un peu comme commencer à construire une table en coupant des arbres.
  • Enfin, n'oubliez pas que l'apprentissage de la programmation prend du temps. Beaucoup de personnes contribuant à ce site ont passé des dizaines de milliers d'heures à apprendre à programmer. Ce n'est pas toujours facile. En fait, parfois ça pue. Pourtant, les experts ont commencé exactement comme vous. Ils ne connaissaient pas la première chose de la programmation. Ils sont restés avec elle et sont devenus de bons programmeurs et vous le pouvez aussi.
Marche de Corbin
la source
Merci! J'ai aimé ce livre (enfin, je le feuillette). Je pense que cela sera utile lorsque j'aurai envie de connaître quelque chose de plus profond. Je suis d'accord pour «cacher» les détails pour être une bonne chose.
lorindaapps
2

Je suppose que vous savez programmer et nous ne parlons pas de la première langue que vous apprendrez dans votre vie.

Dans ce cas, la meilleure façon d'apprendre une nouvelle langue est d'obtenir un concert où vous devez l'utiliser. Pour de vrai.

OK, vous pouvez essayer de lire d'abord un livre sur la langue, mais si vous n'êtes pas avec un vrai problème à résoudre, vous allez caler. Sans problèmes réels, vous ne ferez que des programmes de "devoirs", qui ne fonctionnent qu'avec peu de données ou peu de personnes l'utilisant.

La meilleure façon d'apprendre une langue est de programmer, de commettre des erreurs et de réaliser ce qui n'a pas fonctionné.

Eduardo
la source
1

Commencez avec un environnement conçu pour l'éducation et la maîtrise de l'informatique. La plupart des livres informatiques ne le sont pas.

Allez à la bibliothèque locale et regardez les livres "factices", les livres "idiots", même quelque chose de vieux de la section pour enfants de la bibliothèque sur Basic ou Logo. Il existe également des sites Web avec du matériel éducatif pour les enfants sur les langages de programmation Squeak et Alice.

Choisissez le livre (ou autre) qui semble le plus simple et le plus amusant, quel que soit le langage de programmation. Une fois que l'idée de base de la programmation clique, vous pouvez passer à des livres sur des langues plus courantes ou utiles, et ils sembleront alors beaucoup plus faciles.

hotpaw2
la source
Si vous ne voulez pas devenir un programmeur "paresseux", vous devez trouver du matériel pédagogique sur le langage d'assemblage. Edmund Scientific vend en fait toujours un ordinateur "Cardiaque" en carton à cet effet. (Ils l'ont utilisé dans le cours CS pour les non-majors dans un UCBerkeley il y a plusieurs décennies.)
hotpaw2
1

J'ai compris que Python est un bon choix pour un premier langage de programmation.

La première langue est importante car elle façonne votre cerveau pour ce qu'il faut apprendre plus tard. Vous pouvez toujours apprendre plus de langues plus tard si vous en avez besoin, mais la première est cruciale ici. L'assemblage, par exemple, est important pour les mêmes raisons que l'écriture haïku est importante pour les auteurs.


la source