Je sais qu'il y a des questions similaires ici, que j'ai lues, mais j'ai récemment lu ce post de Joel Spolsky:
Et cela m'a fait réfléchir à ma façon d'apprendre et à savoir si cela pourrait être nocif à long terme.
J'ai essayé divers langages mais C # est mon premier sérieux, j'ai lu "Head First C #" et créé quelques projets. Mais après avoir lu le post ci-dessus, j'ai trouvé un peu décourageant de me tromper, je respecte évidemment l'opinion de Joel, ce qui m'a un peu égaré.
J'ai commencé à lire "Code" comme recommandé dans la liste de lecture et je trouve cela assez difficile, bien que agréable. J'ai l'impression que cela a fait briller mon "piratage de noobish about" dans Visual Studio.
Alors maintenant, je ne sais pas quel chemin prendre? Dois-je prendre du recul et suivre les conseils de Joel et commencer à lire?
Je suppose que mon objectif principal est simplement de devenir un bon programmeur, comme tout le monde, mais je ne veux pas me lancer dans de mauvaises pratiques en apprenant un langage .NET lorsque quelqu'un que je respecte estime que c'est nuisible.
Pensées?
Réponses:
Je respecte également les opinions de Joel, mais ce ne sont que des opinions . Il n'y a absolument rien de mal à utiliser C # comme langage de départ.
Le plus grand conseil que je puisse vous donner, ou à quiconque fait de la programmation (même s'ils commencent en vanille C!) Est de ne pas stagner et de ne pas être religieux . Je ne me soucie pas de ce langage de programmation que vous commencez avec, ou comment pur ou juste que la langue est - à ce jour et l' âge , vous ne pouvez pas se permettre de rester dans seulement monde de la programmation.
Par exemple, j'ai commencé à programmer avec PHP3 à l'adolescence. J'ai construit quelques petites applications Web et quelques sites Web avec elle; Je pensais que j'étais un programmeur génial et que je pouvais faire n'importe quoi avec PHP3, et fronçais les sourcils aux gens qui étaient tous sur ASP ou BASIC. Garçon, avais-je tort.
Je n'ai pas vraiment commencé à m'épanouir en tant que développeur avant de commencer à élargir mes horizons et à étudier d'autres langages et concepts de programmation. Au lycée, j'ai appris quelques RealBASIC, puis Visual Basic. Après l'école de commerce, quand je suis devenu développeur professionnel, j'ai commencé à apprendre sérieusement le C # et le Javascript.
Maintenant, ne vous méprenez pas ici - je ne préconise pas que vous essayez d'être un Jack of All Trades. Dans l'âme et dans le commerce, je suis toujours programmeur PHP. PHP est mon pain et mon beurre, et je le connais à l'intérieur comme à l'extérieur. Cependant, mes compétences PHP ne sont pas devenues ce qu'elles faisaient juste PHP. Voici quelques concepts très importants que je n'ai pas compris de PHP, malgré le fait de travailler professionnellement.
Je pourrais continuer ainsi que beaucoup d'autres sur ce site pendant des jours. Même si je suis un programmeur PHP, j'ai pu ramener tous ces autres concepts merveilleux avec moi dans le travail que je fais tous les jours.
Quel est mon point? Apprenez C #. Devenez un maître de C # - vous aurez une longue carrière réussie et vous accomplirez probablement des choses incroyables. Mais ne vous pigeonnez pas vous-même. Voyagez et goûtez à d'autres langues, environnements et concepts.
la source
Cela me rappelle une histoire impliquant Richard Feynman. Un étudiant de Caltech a demandé à l'éminent cosmologiste Michael Turner quel était son "parti pris" en faveur d'un type de particule comme candidat pour comprendre la matière noire, et Feynman a répondu "Pourquoi voulez-vous connaître son parti pris? Formez le vôtre!" ... Ne faites pas attention aux autorités, pensez par vous-même. "
Les programmeurs viennent de tous les horizons. Le Java est enseigné dans de nombreux lycées et collèges aujourd'hui, mais il n'avait même pas été inventé lorsque Joel Spolsky était à l'école. Il n'y a pas de "voie unique" pour devenir un bon programmeur. Il y a certainement des classiques comme SICP que la plupart des programmeurs rencontrent à un moment donné, mais il n'y a pas de norme stricte et rapide. L'essentiel est de commencer quelque part et de se concentrer sur la construction de concepts. Un grand programmeur a dit quelque chose comme:
Je pense que C # est un bon langage pour commencer, mais je vous préviens de vous méfier de Visual Studio. C'est un formidable IDE, mais si vous faites glisser un
DropDownList
et le liezGridView
à unObjectDataSource
et utilisez unButton
contrôle pour effectuer uneDropDownList
recherche basée, alors la plupart du travail est effectué par l'IDE et vous n'êtes pas vraiment en train de programmer. Profitez des outils IDE, mais essayez toujours de construire des concepts et de développer des connaissances.la source
Je suis juste un junior, mais avec toute l'humilité et le respect pour ceux qui sont infiniment plus expérimentés, je dois avouer que je n'ai pas cette attitude non plus.
Un programmeur a commenté ci-dessous la réponse de Joel: " comme quelqu'un qui a dû se cogner la tête sur le bureau au-dessus de" programmeurs "qui étaient fortement recommandés pour leurs capacités C #, mais ne pouvaient pas faire des choses simples comme implémenter une classe de base très bien documentée, trouver fuites de mémoire dans les programmes c et c ++ " ...
Mais pourquoi la recherche de fuites de mémoire dans les applications C ++ doit-elle être simple pour quelqu'un qui n'a jamais prétendu connaître le C ++? :) Je ne comprends pas. C'est comme critiquer un psychologue pour son manque de compétences dentistes. Je ne suis sûrement pas un bon programmeur, mais je pense que ce n'est pas parce que je ne sais pas C ++ - il est parce que je ne sais pas assez bien le cadre et les langues que je suis utilise.
"ne pouvait pas faire des choses simples comme implémenter une classe de base très bien documentée (...) ou simplement trouver un problème par lui-même ou apprendre une nouvelle idée même à un rythme modéré"
D'accord, mais - corrélation ne signifie pas causalité, et qu'est-ce qui nous fait supposer que leur manque de compétences générales en programmation - dont je ne doute pas - est le résultat de leur choix de langue?
Ou un effet de C # étant leur première langue de choix, d'ailleurs?
Je peux voir d'autres explications plausibles (peut-être que C # est juste à la mode, et donc il attire beaucoup de novices ... la plupart des gens pour qui C # est la première langue n'ont pas programmé très longtemps du tout , et c'est plus un handicap dans son propre droit que de ne jamais programmer dans une autre langue ... etc., etc.).
la source
free
vous regarde droit dans les yeux, comment allez-vous la reconnaître dans un programme écrit dans un langage qui ne fournit pas de tels indices?using
,IDisposable
, gestionnaires d'événements faisant référence à leurs auditeurs , etc.), mais je ne pouvais même pas tenter sérieusement de diagnostiquer une mémoire fuite dans une application C ++, car je ne connais même pas la syntaxe! Je ne sais pas ce que signifie l'astérisque.Je dirais qu'apprendre une langue et s'y tenir est plus une erreur que de décider avec quelle langue vous devriez commencer. Il y a des langues que vous pouvez apprendre qui sont plus faciles bien sûr, mais il vaut mieux essayer de commencer à en apprendre une que vous utiliserez beaucoup (dans une école, le choix de la langue est déjà fait par l'école). Après avoir correctement appris un langage et l'avez utilisé activement après quelques mois, vous devriez essayer un autre langage de programmation et comparer.
Dans .NET, il vous est facile d'utiliser deux langages de programmation différents (en quelque sorte ), car vous pouvez basculer entre Visual Basic et C #. Vous pouvez donc apprendre Visual Basic et voir quelles sont les différences. À ce niveau, vous devez maîtriser le codage procédural de base avec les trois structures de programmation de base, si vous pouvez être créatif avec elles toutes (et savoir comment utiliser les variables), alors vous êtes sur le point de devenir un excellent programmeur:
Peu importe si votre langage de programmation secondaire sera le plus actif ou non, sachant simplement que les langages de programmation (spécialement s'ils suivent le même paradigme) sont très similaires les uns aux autres et qu'il y a de petites nuances, cela va vraiment loin. pour vous faire comprendre le fonctionnement de la programmation logicielle.
À partir de cela, essayez au moins une fois par an d'apprendre un nouveau langage de programmation qui suit un autre paradigme de programmation . Vous n'avez pas besoin de suivre complètement la nouvelle langue, mais il existe certains avantages à connaître d'autres paradigmes. Il existe plusieurs paradigmes, et certains langages de programmation se mélangent entre plusieurs (notez que C # a en fait des sous-ensembles les trois suivants):
Les choses les plus importantes que vous devez apprendre, c'est que de nombreux langages de programmation suivent leur propre ensemble d'idiomes et une API de base. Donc, lorsque vous apprenez une nouvelle langue, essayez d'apprendre ces idiomes et API et tout ira bien lorsque vous construirez des choses. Une bonne raison est que vous deviendrez meilleur dans la conception et la résolution de problèmes de programmation. Certains idiomes dans une langue peuvent vous donner un aperçu de la façon de résoudre un problème dans votre langue principale.
Sachez également qu'il existe également une autre très bonne raison pour laquelle vous devriez apprendre d'autres langages de programmation, autres que le langage principal que vous utiliserez le plus: Vos chances d'emploi sont bien plus grandes.
la source
L'objectif de votre question et de nombreuses réponses ici est sur C #. De Wikipédia :
Sur cette base, il semble prudent de dire que vous pourriez apprendre le C # comme première langue sans causer de dommages à long terme à votre cerveau. Je ne pense pas que Joel condamnait toute la langue quand il a écrit :
Le problème n'est pas la langue, il prend des raccourcis. Trop souvent, les gens essaient de prendre un chemin rapide vers leur objectif final en suivant des didacticiels étape par étape ou des livres «tout apprendre en 24 heures». Vous n'avez pas besoin de passer trop de temps sur Stack Overflow avant de commencer à remarquer qu'il y a beaucoup de questions du type: "Je n'ai jamais écrit de ligne de code de ma vie, mais j'entre dans l'iPhone programmation! Quelqu'un peut-il me donner des instructions étape par étape pour faire exactement ce que je veux faire? Merci! " Je ne dis pas que vous adoptez cette approche, mais c'est quelque chose contre lequel vous devez vous prémunir.
Si vous souhaitez développer de solides compétences en programmation, vous devez commencer par acquérir des compétences fondamentales. Si vous essayez de passer directement aux applications OOP et GUI et autres, vous manquerez probablement ces fondamentaux. Les livres que Joel a pointés sont vraiment très bons. Je n'ai effleuré par le C # Yellow Book (PDF), mais ressemble à c'est probablement une meilleure introduction à la programmation que la plupart des livres de C # je vois dans les magasins.
la source
Pour moi, ces trucs dans cet autre article semblaient un peu radoteurs élitistes. Oui, je recommande souvent SICP aux développeurs sérieux qui veulent vraiment s'améliorer, mais seulement à ceux qui veulent aller au-delà de la "norme" et apprendre la magie profonde. En effet, pendant des années, SICP était le texte de programmation de première année du MIT; mais, beaucoup de programmeurs qui travaillaient bien n'avaient jamais eu l'occasion d'assister à cette institution fine mais chère et hautement sélective.
Alors, que dois- je recommander, en réponse à votre question? Commencez avec ce que vous avez et apprenez à penser comme un programmeur, plutôt que d'apprendre simplement un langage spécifique.
S'il vous arrive d'avoir une implémentation C # disponible, eh bien, je peux vous dire que c'est un langage parfaitement adapté à un rigoureux comme moi, tout comme Java, JavaScript, Python, Ruby, Scala, Scheme et les nombreux autres langages que j'ai appris au fil des ans. En fin de compte, j'essaie de sélectionner les bonnes langues et les bons outils pour le travail spécifique à accomplir, ce qui signifie changer de langue comme les chapeaux.
Il n'y a rien de mal à utiliser des façons amusantes d'apprendre, comme approcher Ruby via Why's Poignant Guide and Shoes (comme je l'ai recommandé dans un autre post récent ). Il y a des chemins mystérieux et mystérieux, comme se cogner la tête contre Le Petit Schémeur et Le Schémeur chevronné sur le chemin du SICP . De nombreux penseurs modernes voudraient que vous évitiez tous ces vieux trucs universitaires et "d'entreprise" et que vous plongiez directement dans JavaScript, JQuery et HTML5. Il existe de nombreuses façons de commencer, alors ne perdez pas trop de temps. Choisissez-en un et obtenez le codage!
De manière réaliste, je crois que peu de professionnels travaillant de nos jours vous enverraient en arrière pour apprendre Assembleur ou C / C ++ en premier. Franchement, s'ils le faisaient, je ne pense pas qu'ils vous rendraient un grand service.
Donc, pour embellir un peu "commencez avec ce que vous avez", j'ai trois autres conseils:
J'ai commencé avec FORTRAN IV et QBASIC et si ceux-ci ne me ruinaient pas, C # ne vous ferait pas de mal non plus! Bonne chance et assurez-vous de vous amuser pendant que vous apprenez!
la source
Je pense que le meilleur conseil que j'ai jamais vu en ce qui concerne les gens qui demandent "Quelle langue dois-je apprendre?" est tout simplement: un bon programmeur peut travailler dans n'importe quelle langue.
Il y a des arguments contre cette affirmation, j'en suis sûr, mais le fait est: apprenez à être un bon programmeur, au lieu d'un expert en langage, d'abord. Les constructeurs ne se spécialisent pas dans la construction sur exactement une parcelle de terrain, ils apprennent les compétences de leur métier et les appliquent sur la parcelle de terrain sur laquelle ils sont requis.
la source
Parfois, je soupçonne que les langues de choix ont beaucoup plus à voir avec nos personnalités et leur manière d'être câblées et beaucoup moins à faire avec des considérations pratiques ou académiques que nous aimerions l'admettre.
Cela dit, apprendre de nouvelles choses n'est jamais dangereux. Vous saurez le jour où vous aurez franchi le seuil vers un cerveau évolué ou peut-être brisé (tout cela est une question de perspective, je suppose) lorsque vous commencerez à réaliser que tout a un manuel. Vous pouvez finalement vraiment faire tout ce que vous voulez si vous avez du talent et êtes réellement intéressé par l'action plutôt que par l'aspect être d'un programmeur.
Au moins jouer avec Python et JavaScript. C'est un avantage d'apprentissage certain de pouvoir vraiment écrire du code et le regarder s'exécuter immédiatement dans un environnement de console accessible aux E / S de fichiers comme IDLE ou un environnement sandbox comme un navigateur. Ce que je n'aime pas à propos de C # et de Java, c'est qu'ils veulent que tout soit confiné aux classes même si vous écrivez vraiment une simple fonction avec des wrappers inutiles autour pour garder vos pairs ou un compilateur trop restrictif heureux. L'autre chose que j'aime avec JS et Python, c'est qu'ils vous permettent vraiment de définir votre propre paradigme. Un peu trop flexible par beaucoup de préférences des développeurs. Je ne sais toujours pas quoi penser de la sagesse de surcharger les opérateurs de base, mais je suis presque sûr que j'aime Python pour avoir permis cette option.
Ne tombez pas non plus dans le mensonge cruel de choisir la langue principale avec le plus d'offres d'emploi. Il vaut mieux être un gros poisson dans les eaux moyennes qui fait ce que vous aimez qu'un membre d'une horde de poissons insupportables pour la plupart merdiques qui transforment chaque recherche d'emploi en une loterie plus qu'un processus d'appariement.
la source
C # n'est pas aussi mauvais que Java par un tronçon considérable. Ils prennent mieux en charge de nombreux concepts tels que la programmation fonctionnelle, la programmation générique, la destruction déterministe et les types de valeur, la surcharge des opérateurs, etc. ce n'est pas du C ++.
Deuxièmement, je pense que vous avez mal lu ce que Joel a dit. Si vous pouvez maîtriser les pointeurs et la récursivité, peu importe la langue que vous utilisez maintenant. La chose la plus importante serait d'utiliser un peu de
unsafe
code, de se familiariser avecunsafe quicksort
quelque chose, puis de revenir au reste du C # normal.Oh, et lisez :)
la source
Le premier langage productif pour moi était C #. Même si j'avais joué avec Foxpro à l'école et un peu de C au Collège. C # est un bon point de départ pour tout le monde. Il suit les principes généraux de la programmation comme le typage fort, l'encapsulation, l'héritage, etc. que je crois qu'il faut toujours apprendre, peu importe s'ils les utilisent ou non. Plus tard, vous pouvez toujours passer à d'autres langages comme Python qui ne suit pas la standardisation de la programmation fondamentale.
L'autre facteur d'ajout que les gens n'ajoutent pas vraiment à l'aspect d'apprentissage de C # est la disponibilité du meilleur IDE pour n'importe quel langage que j'ai vu. Eclipse IDE est également bon, mais une fois que vous aurez utilisé Visual Studio, vous remercierez Microsoft.
C # étant amélioré par rapport à C, vous évite d'avoir à apprendre d'autres langues au préalable. Tous les langages sur une dizaine d'années ont évolué de la nature du C, même le JAVA.
Donc, le verdict est, C # est un excellent point de départ qui vous permet d'apprendre rapidement d'autres langues à l'avenir
la source
Apprendre le C # comme première langue n'est pas une erreur tant que vous passez tôt ou tard à l'apprentissage d'une deuxième langue. C'est beaucoup plus important. Encore mieux si cette seconde langue est quelque peu différente de C # (javascript ou ruby serait à cet égard meilleur que java). Chaque langue a ses avantages et ses inconvénients, et ce sont les différences qui feront de vous un meilleur programmeur à long terme.
la source
Autant que je vous conseille d'apprendre de nombreuses langues (comme le suggèrent les autres), assurez-vous de connaître une ou plusieurs langues que vous apprenez très bien.
Le risque de connaître de nombreuses langues est que vous pourriez ne jamais apprendre une langue complètement frustrante lorsque vous voulez réellement résoudre un problème.
La connaissance de la construction for-loop dans de nombreuses langues est amusante mais inutile si vous ne savez pas comment gérer les erreurs dans aucune d'entre elles.
la source
Ne vous inquiétez pas du fait que vous avez appris le C # en premier. Cela revient à s'inquiéter que votre premier pas ait été fait avec votre pied gauche ou votre pied droit. La seule différence entre l'apprentissage d'une langue gérée en premier est que vous ne faites que retarder lorsque vous devez apprendre des pointeurs et une gestion détaillée de la mémoire. Cela peut réellement fonctionner en votre faveur, car quand il est temps d'apprendre C, la seule nouvelle chose dont vous vous inquiétez est la gestion de la mémoire - vous ne jonglerez pas également avec les techniques de contrôle, le concept de fonctions, etc. pouvoir se concentrer entièrement sur les pointeurs et la gestion de la mémoire.
Le stéréotype existe parce qu'il y a des programmeurs de langage géré qui n'ont jamais fait cette deuxième partie et appris le C et C ++, puis appliqué aux travaux C et C ++.
C'est comme apprendre un instrument de musique - le premier est difficile parce que vous essayez d'apprendre les mécanismes de lecture de la musique écrite ET les mécanismes physiques d'articulation d'un instrument pour faire ce que vous voulez. Pour le deuxième instrument et les suivants, vous apprenez que vous pouvez vous concentrer uniquement sur ce qui rend cet instrument différent de ce que vous savez déjà.
la source
C'est dur pour le novice, sans aucun doute. J'ai fait vb, javascript, PL / SQL, T-SQL, Uniface et un peu de C # pour n'en nommer que quelques-uns.
Quelqu'un a mentionné précédemment Visual Basic comme l'endroit où ils ont appris la programmation orientée objet, et pour être honnête, VB.NET a la syntaxe la plus facile à comprendre de tous les langages que j'ai jamais vus. La meilleure caractéristique est que les mots clés correspondent étroitement aux concepts décrits.
Par exemple, la fonction myHandler () gère myButton.click
ou classe Human Extends mammifère implémente intelligentLifeform
Sérieusement, pour plus de lisibilité lorsque vous êtes novice, à quoi voudriez-vous que la syntaxe ressemble?
Lorsque vous recherchez des propriétés et des méthodes (et distinguez les sous-fonctions et les fonctions), il est beaucoup plus facile de lire dans VB.
De même lors de la déclaration de variables
Dim myString As string - évident quel est le type et quelle est l'instance
La sensibilité à la casse C # encourage ce qui est pour moi une très mauvaise habitude - avoir le même nom pour la classe et l'instance avec un en majuscule et un en bas.
par exemple
Humain humain
si vous appelez human.think, il serait facile de confondre une instance avec une classe et de penser que vous appeliez une méthode statique en un coup d'œil. Et regarder est souvent la façon dont nous percevons le code, nous n'avons pas le temps de survoler chaque élément pour laisser l'éditeur nous dire ce qui se passe.
C # pourrait avoir certains avantages, mais il est beaucoup plus difficile de commencer - même s'il enregistre la saisie. C'est pourquoi il devrait définitivement y avoir une place pour les deux langues.
la source
Dim myHuman as Human
c'est tellement mieux? : DLe plus gros inconvénient que je peux voir est que Visual Studio et les outils associés sont très, très agréables - des choses comme intellisense et la complétion de code peuvent facilement devenir des béquilles. Je dirais généralement que l'environnement peut être si agréable et si favorable que vous avez tendance à vous sentir un peu perdu lorsque vous devez, par exemple, pirater du code ruby dans un éditeur de texte. Oh, et vous manquerez généralement des trucs comme linq aussi.
la source
C # est parfaitement bien pour commencer la programmation.
C'est ce qu'on m'a dit de commencer, sans même avoir la chance de me plonger dans autre chose (à part le Hello World en Java, quelques trucs de base de LOGO et quelques trucs dans Scratch, mais rien de "sérieux").
Dans l'ensemble, cela peut être difficile - il y a beaucoup de choses qui ne semblent pas intuitives, et elles ont leurs limites, mais je pense que cela encourage un bon codage et est génial une fois que vous avez compris. Je veux dire, cela vous donne plus de puissance et est un peu plus professionnel que Python (ce qui est généralement suggéré), et cela ferait toute une différence - essayer C ++ après C # n'était pas trop douloureux, mais si j'avais commencé avec Python, alors ce serait en effet un très gros obstacle, même juste au niveau de la syntaxe.
En outre, il a un bon support multiplateforme sous la forme de Mono (pour ceux d'entre vous qui pensent que Mono n'est pas un gros problème - le moteur de jeu Unity vous permet de coder dans une version de celui-ci). Il est également très utile pour la plupart des choses, qu'il s'agisse de scripts de jeu, de conception Web ou d'applications Windows. Bien sûr, certains langages seront meilleurs pour certaines lignes, donc cela dépendra de la direction générale dans laquelle vous prévoyez d'aller - par exemple, si vous allez dans la direction Web, alors C # (ASP.NET) serait certainement un bonne idée. Si vous prévoyez de vous lancer dans les jeux, vous devriez plutôt penser au C ++.
En fin de compte, cela vaut la peine de l'apprendre, même si vous ne finissez pas par l'utiliser en faveur de la simplicité de Python ou de la nature archaïque de Java (car le cycle de publication de Java est VRAIMENT lent) - vous apprenez un bon codage pratiques, tout en n'étant pas trop compliqué pour un débutant à apprendre.
la source
Pour être programmeur, il faut avoir de la passion. Les programmeurs que je connais sont ceux qui se mettent en quatre pour apprendre et remarquer les changements de l'industrie. J'ai commencé ma programmation avec de base sur un Commodore Vic 20 (oui cet ancien) et j'ai continué à passer à d'autres nouveaux langages. Une partie de mes années de programmation a même inclus COBOL. J'ai également commencé à remarquer que certaines langues fonctionnaient mieux dans certains processus que dans d'autres. Mon conseil est d'apprendre n'importe quel langage et de comprendre les concepts de programmation de base comme les boucles, les méthodes, les comparaisons. La plupart des langues prennent en charge ces trois concepts. Vous ne devez jamais dire "C'est la meilleure façon" mais plutôt "Comment puis-je améliorer cela". La pire chose à propos de cette dernière phrase est que vous pourriez vous rattraper sur l'ingénierie. La programmation est amusante, amusez-vous! Internet a ouvert une toute nouvelle façon de vivre la programmation car le niveau d'accès que nous avons aujourd'hui à l'information est stupéfiant. Pour moi, avant Internet, je devais aller à l'étagère et descendre les livres de programmation IBM GRIS et apprendre. Aujourd'hui, vous pouvez simplement taper une chose dans google et whammo.
la source
Wow beaucoup de réponses. Voici mon point de vue:
C # n'est pas un endroit pour apprendre l'informatique. Je le vois comme une très mauvaise idée. Je vais énumérer certaines de mes préoccupations ci-dessous.
Trop fatigué pour continuer si vite, choisissez une autre langue.
la source
Je recommanderais C # ou n'importe quel langage qui offre ces trois choses à la base:
Entièrement typé compilé et entièrement orienté objet ..
Une première langue qui offre ces trois cœurs en apprendra beaucoup sur le déroulement du programme, la syntaxe et comment résoudre les problèmes de manière plus structurée. Je vis et respire à l'intérieur d'un tas de langues formidables qui n'ont pas ces attributs, mais si j'enseignais une langue à quelqu'un, j'en choisirais une qui aurait ces trois exigences.
la source
Non, cette réponse est terrible. Pourquoi? Eh bien, il prescrit de bons livres que vous devriez lire, mais sans travail en classe et travail en laboratoire (laboratoire informatique), vous serez perdu et frustré. Vous devez être avec un tas d'autres nouveaux programmeurs expérimentant car il y a tellement de choses à apprendre autre que ce qui est dans ces livres. Je ne dis pas que vous devez opter pour un BSCS, mais vous devez également avoir accès à un instructeur compétent quand un tas de choses peuvent mal se passer à tout instant, comme des problèmes de compilation, des environnements de construction ... vous l'appelez. Vous ne serez pas un programmeur travaillant dans le vide. Quels que soient les livres dont vos cours ont besoin, cela suffira tant que vous choisissez une école à moitié décente.
Alors, inscrivez-vous pour certains cours et ce sera BEAUCOUP plus amusant! De plus, si vous prévoyez d'obtenir un emploi de programmeur, vous avez besoin de connexions et vous entendrez tout le buzz sur les entreprises qui recrutent sur le campus, etc.
Enfin, l'éducation formelle est très importante car la programmation nécessite beaucoup de connaissances de base théoriques pour comprendre comment les choses sont censées fonctionner à tous les niveaux (hw / sw) afin que vous puissiez comprendre comment réparer les choses. À peu près tout est une boîte noire, vous devez donc être en mesure de comprendre pourquoi quelque chose se comporte de la sorte afin que vous puissiez prendre le prochain coup logique dans l'obscurité. Sans au moins un diplôme de programmation de 2 ans (peu importe comment vous l'appelez), vous serez désavantagé.
PS Je n'irais pas près de .Net, ou C #, jusqu'à ce que vous ayez expérimenté Java. C # n'est pas agréable à l'œil. C'est un code qui semble désordonné et encombré. L'IDE .Net craint au-delà de toute croyance. C'est dans l'âge sombre des normes IDE. Java: C # ~ Données: Lore
la source