web-dev-qa-db-fra.com

Comment commencer à programmer de zéro?

Je n'ai eu jamais vraiment eu d'expérience avec la programmation du tout, mon oncle m'a dit de venir sur ce site pour l'aide du total des étrangers si je voulais commencer la programmation. Je connais les noms de quelques langues mais je ne sais rien du tout. J'ai quatorze ans et je peux taper vite si cela compte pour quoi que ce soit. Un de mes oncles voulait que j'apprends C #. Donc, ma question est que c # est un bon endroit pour commencer, et sinon, où est un bon endroit pour commencer et comment puis-je l'apprendre?

36
Rmazer

Vous voudrez peut-être envisager d'obtenir la dernière édition de tête premier C # . Il est particulièrement adapté aux nouveaux arrivants - et il se concentre sur des exemples "amusants" plutôt que sur ceux axés sur les entreprises. Je ne suis pas personnellement fan de ce style d'apprentissage, mais cela convient clairement à beaucoup d'autres personnes.

Assurez-vous d'acheter soit la dernière édition (couvrant .NET 4) ou l'impression la plus récente de l'édition précédente, cependant: les versions antérieures avaient des erreurs, mais celles-ci ont été rectifiées au fil du temps.

20
Jon Skeet

C # est un langage bien pour commencer.

ici est un bon ebook gratuit pour commencer. Il aborde non seulement le langage de programmation, mais aussi ce que cela signifie d'être un programmeur et la façon d'aborder professionnellement.

Comme Jon dit dans son réponse - Head First C # est aussi un premier livre (comme tous leurs autres livres tels que Head First HTML ) .

Vous pouvez obtenir l'environnement de programmation Visual Studio Express (éditeur avec coloration syntaxique et IntelliSense, compilateur, débogueur et plus) gratuitement ici - juste être sûr de choisir la version C #.

17
Oded

C # est un lieu d'accord pour commencer, mais vous pourriez le trouver plus amusant d'écrire des sites Web à la place. C'est facile, tout le monde peut voir les choses cool que vous faites, et vous avez déjà les outils pour commencer à le faire - juste un éditeur de texte et un navigateur Web. HTML et JavaScript sont également beaucoup plus simples et plus simples que C # sans être moins puissants.

http://www.w3schools.com/ est un bon point de départ.

15
mqp

À mon avis, il y a un outil critique lorsque vous apprenez à programmer ou lors de l'apprentissage d'un nouveau langage de programmation. Cet outil est "un problème que vous êtes sincèrement intéressé par la résolution".

C'est peut-être un jeu qui vous intéresse à l'écriture ou à un outil de bureau ou à un outil Web qui vous aidera réellement avec quelque chose à l'école ou dans votre vie.

Si vous avez un vrai problème que vous souhaitez vraiment résoudre, vous serez toujours des outils gratuits, des tutoriels et des geeks en ligne pour vous aider à apprendre à le résoudre.

L'apprentissage de la programmation sans résolution de problèmes réels est comme apprendre à construire une maison avec un marteau et un clou et un court morceau de bois. Vous pouvez apprendre la mécanique de base du marteau, mais vous ne serez jamais un charpentier tant que vous n'avez pas à affronter les problèmes que vous rencontrerez tout en essayant de construire quelque chose d'utile.

Après cela, je pense que c # est une grande langue générale pour apprendre la programmation. Et il y a de très bons outils gratuits disponibles.

Je suis d'accord avec l'affiche qui a déclaré expérimenter plusieurs langues. La résolution du même problème avec différents outils peut être un véritable ouvre-yeux dans les différents paradigmes de ces outils.

9
Jason

Si l'un de vos oncles veut que vous appreniez C #, il vous voit probablement comme son employé quelques années à partir de maintenant. Alors demandez-lui directement si c'est son plan et le persuader de vous aider.

Si votre oncle n'a aucune idée de la programmation et de la suggestion de cette c # parce qu'il entendit le terme quelque part, il pourrait vous faire une très mauvaise faveur.

Si je serais vous et j'aurais des mains libres de choisir ce que je veux, je ne choisirais certainement pas c #, car il vous lie à un système d'exploitation exclusif (Mono est une blague, admettez-la).

Mon choix serait probablement python, car il court sur presque n'importe quelle plate-forme. Et vous avez deux tutoriels très précieux pour les débutants qui approchent des programmes d'enseignement à partir de points très différents, vous pouvez donc choisir celui qui vous convient le mieux: le tutoriel officiel Python et Zed Shaw's apprendre Python la solution difficile (N'ayez pas peur du titre effrayant, le livre est très précieux pour un débutant).

éditer:

Après avoir lu les commentaires, j'aimerais ajouter quelques points de plus.

Combien de ces programmes de programmeurs C # pour s'amuser? La plupart des programmeurs qui utilisent Microsoft Technologies, le font de manière professionnelle - c'est leur travail, ils le font pour de l'argent, la plupart d'entre eux n'ont pas de courage d'admettre que leur travail est ennuyeux (même si c'est), car une telle réclamation est contre le Politique d'entreprise qui glisse dans la culture autour de l'infrastructure fournie par leur (toux!) Outils de programmation gratuits.

Juste dans quelques années, la communauté des utilisateurs qui programmant plus ou moins sérieusement a littéralement explosé. De retour dans les jours, il y avait Sourceforge - le monstre unique qui était totalement programmeur connexe. Aujourd'hui, il y a LaunchPad, Bitbucket, GitHub (qui a récemment dépassé les référentiels 1000000, dont la plupart sont de petits projets d'animaux de compagnie personnels régis par des licences libres). Combien de ces projets utilisent c #?

Aujourd'hui, la programmation consiste à réutiliser ou à "voler" (au bon sens) le code plus que jamais. Où sont les troupeaux de projets C #, de petites bibliothèques à usage général? Alors que certains programmeurs qui écrivent des logiciels propriétaires ne sont pas très utiles aux débutants (car ils le voient comme consultation, qu'ils peuvent faire pour de l'argent), et bien que certains programmeurs qui écrivent des logiciels libres ne soient pas très utiles (parce qu'ils manquent de compétences sociales) , le code est plus important. Vous n'apprenez pas la programmation uniquement en lisant des livres, vous l'apprenez en étudiant le code de travail. Et l'écosystème de logiciel libre offre beaucoup plus de code à étudier.

En règle générale, les personnes qui entrent dans la programmation ont deux choix:

  • évitez les choses exclusives, accédez à beaucoup de logiciels libres au risque d'être appelé "Elitiste Internet anonyme"
  • ignorer la guerre exclusive contre la guerre sainte libre au risque de ressentir quel logiciel exclusif signifie en effet et comment il peut gâcher une bonne intention, comme ce gars
9
jedi_coder

Il y a beaucoup à programmer mais il peut probablement être divisé en quelques éléments clés:

  • théorie
  • artisanat
  • dialectes

La théorie prend juste beaucoup d'apprentissage. Livres, classes, essais et erreurs, recherche, etc.

L'artisanat vient avec l'expérience.

Et cela laisse des dialectes ... ou plutôt la ou les langues particulières que vous souhaitez parler couramment.

Pour répondre qui nécessiterait une longue liste de quel genre de choses que vous visez à faire. Si vous n'avez pas vraiment de direction particulière pour entrer, votre "oncle voulant que vous l'appreniez" est peut-être aussi bon qu'une raison de la raison.

5
DA.

C # est définitivement un bon endroit pour commencer et voici une raison pour laquelle:

C # est une langue appropriée qui vous fera beaucoup de force de savoir ce que vous faites comme programmeur. J'ai commencé ma carrière de programmation avec PHP et cette langue est tellement lâche que vous ne pouvez presque pas bousiller. Vous pouvez faire des sites froids et tels que, mais ne savez jamais à quel point ils sont terribles jusqu'à ce que vous soyez embauché pour faire quelque chose qui nécessite une langue plus forte. À cette époque, certains types de termes et de données qui ne sont jamais utilisés dans PHP _ vous vont à badgeter. Alors que je regarde en arrière, maintenant que je connais de nombreuses langues de programmation, en commençant par PHP _ était une mauvaise façon de commencer la programmation, du moins à mon avis. Je ne peux pas croire avoir un emploi dans ce domaine sachant où j'ai commencé. Java est également un bon endroit pour commencer. Tout langage de compilation strict, vraiment. Lorsque vous connaissez les fondations d'une langue de compilation stricte, les lâches comme PHP sont une brise à ajouter à votre base de connaissances.

Bien sûr, vous voudrez peut-être envisager ce que vous cherchez à programmer. Si vous voulez faire du travail Web, C # est une bonne base, mais douteux que vous l'utiliseriez beaucoup pour le travail Web, à moins que vous ne travaillez sur quelque chose de sérieux. L'objectif C est utilisé pour l'iPhone et le développement de l'iPad, vous ne pouvez donc pas vous tromper d'apprentissage.

Java est bon pour le Web et est maintenant une plate-forme mobile, il s'agit donc d'un bon investissement. Les principes de Java _ vous aideront à écrire un meilleur code Web, ainsi que de former une bonne base si vous souhaitez brancher la suite. Vice versa, je suppose.

PHP est très facile à apprendre et vous servira assez bien si vous souhaitez entrer au développement Web. Vous devez connaître HTML, CSS et vous familiariser avec au moins MySQL pour des bases de données si vous allez cet itinéraire. Juste FYI, PHP Les développeurs sont un dime une douzaine dans le champ de programmation, alors ne comptez pas pour devenir riche en faisant cela, sauf si vous souhaitez exécuter votre propre société Web et faire le site vous-même.

Dans tous les cas, MVC (contrôleur de vue de modèle) sera une chose importante à lire. Lorsque votre code est bien structuré, il est inappassablement plus facile à entretenir pour vous-même et quiconque qui peut avoir à récupérer là où vous l'avez laissé.

S'amuser.

3
fleces

Je crois que c # est un très bon point de départ. C'est plutôt plongé que vous êtes vraiment intéressé par la programmation à 14 heures.

Je suggère de ramasser un livre C # et de le lire. Suivez les exemples au fur et à mesure que vous venez par eux.

L'un de mes livres C # préférés est d'Andrew Troelsen: Pro C # avec .NET 4.0 est son dernier livre. :)

http://apress.com/book/view/1430225491

3
Ashley Grenon

Il n'y a pas de meilleure approche, mais un endroit pour commencer est ici:

Editions express

Ils sont gratuits et vous obtenez beaucoup de choix.

2
egrunin

pour copier un message I Publié ici: https://stackoverflow.com/questions/3430705/3432079#3432079 Il y a deux choses pour obtenir une manipulation sur:

Connaissances académiques:

  • Connaître la théorie - Obtenez une grande partie de la théorie de la programmation, la théorie de la conception linguistique, la théorie derrière les architectures que vous codez sur
  • Connaître les maths - Toutes la programmation finissent par se résumer en mathématiques - connaître la logique de prédicat, la trigène, les vecteurs, la géométrie, la théorie de réglage, les graphiques, la théorie de la matrice de base, une petite analyse numérique ne fait pas de mal - ainsi que la théorie de la complexité
  • Connaissez votre langue - Obtenez un livre, lisez-le, apportez des notes pour référence. Les titres ARPRY fonctionnent bien pour C # http://www.amazon.com/pro-2010-net-platform-fifth/dp/1430225491/ref=sr_1_1?ie=utf8&sr_1_1?ie=utf8&s=books&qid=1281215548&sr=8-1 c'est bon. Ensuite, lisez des blogs et des vidéos, apprenez à utiliser le réflecteur redgate et l'aide de MSDN.
  • Connaissez vos outils - Pour C # Cela signifie Visual Studio 2010 - http://blogs.msdn.com/b/saraford/archive/2010/06/17/Video-101 -Vistual-studio-astuces-in-55-minutes.aspx est un excellent moyen d'apprendre. Obtenez également un refactteur décent - Resharper est mon préféré, mais il y en a d'autres.
  • Connaissez votre ECOSYSYEM - Savoir quelles bibliothèques sont là-bas, apprenez à utiliser un ou deux des meilleurs

Compétences:

  • Savoir comment définir un projet - Peu importe la qualité d'un programmeur que vous êtes si vous construisez la mauvaise chose que vous aurez échoué de manière épique.
  • Savoir comment concevoir - Apprenez la théorie sur la conception orientée objet - Le gang de quatre modèles logiciels sont des classiques et chaque codeur doit en être conscience.
  • Savoir documenter le code - Ceci est essentiel pour le code de longue durée et pour bien travailler dans une équipe. Écrivez-le, documentez-le, testez-le => RESUXE
  • Savoir travailler dans une équipe - Travailler dur, jouer sympa, communiquer bien.
  • Sachez quel outil utiliser - Faites ressentir un sentiment pour autant de types de langues, de langues réelles, de technologies, de bibliothèques, etc. Comme vous le pouvez afin que vous sachiez quoi utiliser dans quels situations
  • Savoir comment savoir - de ceux qui vous entourent, du Web, de la documentation et surtout de vos propres erreurs.

Je suis sûr que d'autres peuvent ajouter à ces listes;)

2
GreyCloud

Quelle que soit la langue que vous décidez de choisir (rien de mal avec C #). Ramassez un bon livre ou une ressource, quelques-uns sont mentionnés ici. Une fois que vous avez fait cela, assurez-vous de travailler les exemples à la main, puis sur l'ordinateur pour les concret dans votre melon.

Cela peut être totalement évident, mais plus vous pouvez travailler, modifier et faire la vôtre et voir comment ils fonctionnent, plus vous allez chercher la langue. IMHO Voici comment vous commencez vraiment à apprendre et à vous amuser, car vous pouvez commencer à voir que les choses se produisent et commencent à résoudre des problèmes et à gagner du contexte à des problèmes que vous n'auriez pas seulement lire ...

1
Wil P

J'ai personnellement eu un grand headstart sur la programmation lorsque j'ai commencé sur C++ il y a environ un an. Je suis environ treize moi aussi. C # est beaucoup comme C++ (il y a des différences, cependant), alors parlant de l'expérience, je dirais ouais, c'est une bonne langue pour commencer.

En ce qui concerne les références, prenez simplement des livres dans votre librairie locale et commencez à vous frayer un chemin. C'est ce que j'ai fait. Si vous souhaitez commencer avec C++, je sais, certainement qu'il y a une excellente référence appelée "C++ pour les nuls". C'est là que j'ai commencé.

1
Elliot Bonneville

C'est un atout que vous avez pris un engagement envers la prréglementation. Il est généralement avantageux de commencer par un obstacle aigu de votre environnement de travail. Demandez aux questions de base comme quels outils sont déjà disponibles pour faire vos missions quotidiennes? Avoir autant de plaisir que vous pouvez avec eux; Et quand ils se comportent inhabituel, demandez pourquoi? Essayez de trouver une solution sur le net. Plus tard, peut-être que vous voudrez peut-être profiter de HTML de base pendant un certain temps; et déplacez tout autour autour du langage de programmation c-shel ou antérieur; Parce qu'à la fin, vous comprenez le lien entre un programmeur et des langages de programmation.

J'espère que ça aide

1
deepseefan

Ok, est-ce juste moi ou personne ne lui posa la question principale. Que veux-tu exactement faire? Voulez-vous jouer avec du matériel (c'est-à-dire que la carte est connectée à un port série/parallèle/USB et que certains voyants clignotants, ont un son sortant un haut-parleur, etc.) ou souhaitez-vous développer des applications qui ont une interface utilisateur agréable à une base de données ou même à un jeu?

Eh bien, pour le numéro un, cela sera assemblé (c'est-à-dire pour ARM SOCS) et C et qui vous demanderait de vous familiariser avec la programmation matérielle. Pour le numéro 2, je dirais que c ++/java . Je ne recommanderais pas une langue qui n'est supportée que par un système d'exploitation (comme C #) ...

0
Nicolas

Avoir une capacité à taper rapidement en utilisant dix doigts est utile car vous pouvez faire de plus en plus d'exercices sans que votre muscle soit fatigué rapidement. La première fois que j'ai utilisé un ordinateur, je viens de taper à l'aide de mon droit à l'index de droite et que je me suis fatigué rapidement - la dactylographie devient un cauchemar!

Si vous avez beaucoup de temps, vous pouvez commencer à apprendre les sujets suivants pour:

  1. Architecture informatique de la perspective matérielle et logicielle.
  2. C # (le livre C # de Deitel peut être un bon choix puisqu'il a beaucoup plus de détails).
0
xport

C # est un excellent endroit pour commencer. Une chose que je suggérerais, c'est penser à quelque chose de cool, mais pas trop complexe, que vous voudriez construire l'utilisation de certains des ouvrages de référence que d'autres personnes ont suggéré dans ce fil d'aller la construire. Les calculatrices sont amusantes à démarrer des programmes à bâtir (non-responsabilité: je suis un geek mathématique).

0
Adrian

Je ne choisirais pas c # purement car ce n'est pas complètement libre et le studio Visual complet est très cher. Jetez un coup d'œil à Python, il vous oblige à programmer correctement à bien des égards tout en omettant certains des aspects les plus gênants de la programmation ({S et; s). Si vous choisissez d'apprendre python Il existe un site gratuit avec des tutoriels sur la manière de faire de simples jeux basés sur des textes. Je l'ai utilisé pour me familiariser avec la langue avant de commencer mon projet actuel.

lien: http://pythonbook.coffeeghost.net/book1/index.html

0
Gish

Les langues les plus utilisées sont C et Java, selon Tiobe, alors je dirais donc que vous devriez commencer là, mais ESR a de bonnes raisons de recommander Python comme une langue maternelle.

0
Rob

Toute langue largement utilisée est un bon endroit pour commencer. Une fois que vous avez fait des projets utiles dans une langue, il sera plus facile de ramasser les autres parce que la logique est similaire.

Je suggère de choisir en fonction de ce que vous voulez faire avec cela maintenant. Par exemple, disons que vous êtes intéressé à faire quelques jeux simples pendant que vous apprenez (pensez à grogger ou peut-être 1943 et à garder la portée petite). Vous pouvez faire des jeux 2D assez rapidement à l'aide d'une langue interprétée comme Python ou Ruby (les deux ont tous deux des bibliothèques de jeu gratuites disponibles). Avec peut-être un peu plus de travail, vous pouvez les faire en Java ou C, et avoir de la place pour développer des fonctionnalités de jeu Heftern. Ou vous pouvez les faire dans Objective-C et Cocoa, ce qui vous limiterait à développer sur un Mac, mais ouvrez la possibilité de distribuer vos jeux sur l'iPhone.

Si vous souhaitez effectuer des applications commerciales ou finances, vous pouvez trouver beaucoup de support basé sur des langues telles que C #, Visual Basic, Java, C et le .NET Framework (pas une langue, mais applicable au logiciel d'entreprise en général). Ce serait également une bonne idée de pratiquer avec SQL pour interagir avec des bases de données (où des données commerciales telles que les ventes, les noms des clients ou les enregistrements d'employés sont susceptibles d'être stockées).

La chose la plus importante à apprendre rapidement est que vous appréciez les projets que vous travaillez et que vous êtes extrêmement intéressé. Il semblera impossible d'apprendre une langue si vous ne voulez vraiment rien faire avec elle. D'autre part, vous pouvez être un programmeur incroyablement bon dans 6 mois si vous commencez rapidement à travailler sur des projets d'intérêt et que vous êtes fanatique sur la résolution des problèmes que vous avez définis. En outre, vous avez donc la possibilité de pousser votre vie et votre carrière dans une direction qui vous donnera des revenus et de votre plaisir dans le travail que vous faites.

0
Rab