it-swarm-fr.com

Combien de langages de programmation est un programmeur qui devrait être un expert?

La plupart des programmeurs se spécialisent-ils sur une seule pile, laissant d'autres choses être, ou sont-ils experts dans plusieurs langues en même temps? Si c'est plus d'un, combien de standard est-il standard?

Par expert, je veux dire plus que simplement connaître la syntaxe d'une langue - un expert connaît suffisamment de bibliothèques, d'outils, d'environnements et de syntaxes standard pour pouvoir écrire des programmes non triviaux sans avoir à regarder constamment des livres/des didacticiels.

21
blueberryfields

Le principal avantage de savoir que plusieurs langues ne les écrivent pas directement. Toutes les autres choses étant égales, je préfère travailler avec un programmeur C # qui connaît également C, Python et LISP (par exemple) que celui qui n'est jamais piraté en C #. Ce n'est pas si en sachant plus Les langues sont meilleures, c'est que de pouvoir penser aux problèmes à plusieurs niveaux et à partir de plusieurs perspectives est vraiment utile.

Un langage de programmation qui ne change pas la façon dont vous pensez que la programmation ne vaut pas la peine de savoir. - Alan Perlis

Il ne s'agit pas de vérifier une langue de plus ou de la mettre sur votre CV; Il vous suffit de comprendre ses concepts sous-jacents assez bien pour le programmer pour obtenir le plein bénéfice. Vous n'aurez pas cela d'avoir une compréhension de base de la syntaxe.

La réponse plus directe est "cela dépend".

Aux grandes entreprises, vous êtes attendus/autorisés à se spécialiser, mais comme je l'ai dit ci-dessus, je pense qu'il reste encore de comprendre les choses au-delà de votre seul outil préféré.

Dans des endroits plus petits, vous ne pouvez vraiment pas vous échapper avec cela. Si rien d'autre, vous avez généralement besoin de maintenir votre application aussi bien que de la construire, et vous ne pouvez probablement pas utiliser les mêmes langues pour être exécutées via des journaux/des données munguées comme vous le ferez pour construire votre application. Je suppose que vous pouvez techniquement sortir avec connaître une langue unique, mais le bénéfice d'une langue bien performante (ou au moins capable d'assertion), probablement compilée, probablement la levée de levage, et une langue de script pour la maintenance/la configuration/les tâches de script semble assez grande. Je ne voudrais pas faire sans elle, certainement.

33
Inaimathi

Vous avez une question très intéressante:

Je ne pense pas que tout programmeur devrait être un "expert" sur une langue spécifique. Je pense que c'est que les programmeurs que nous sommes censés être des experts en programmation, la conception d'algorithmes, la réflexion sur des étapes claires, mais un langage de programmation est quelque chose que vous venez d'apprendre.

Un "bon" programmeur, par bon, je veux dire qui gère des projets de développement sans effrayer derrière le classique "Je n'ai jamais travaillé avec ça avant", devrait apprendre une langue en moins de 5 jours ouvrables. Vous apprenez les meilleures pratiques, outils et bibliothèques principalement de 2 façons, 1: Lecture et 2: Travailler. Soit vous rebondissez votre tête contre le code ou lisez un tas de livres.

Dans quelques années après la prémisstion des "bons programmeurs écrit juste du code" N ° C # code ou C++ code ou Java code, vous vous rendrez compte qu'après avoir appris à développer des programmes, la langue et les technologies ne sont pas si importants. Bien sûr, vous saurez comment déplacer C # mieux que php, mais si vous avez bien appris, vous constaterez que vous allez passer par Python si vous avez à.

J'espère mes idées comme vous!

14
David Conde

Un, mais cela ne signifie pas que vous pouvez négliger les autres. Vous devez en savoir moins pour justifier pourquoi vous ne les utilisez pas ou ne connaissez pas vos limitations, vous pouvez donc demander de l'aide lorsqu'il est approprié.

3
JeffO

Je pense que cela dépend probablement de votre personnalité, il y a des gens qui se disent à creuser dans les coins et les crannies d'un sujet, et il y en a d'autres qui aiment avoir une vision générale des choses. Vous devrez probablement déterminer quel type de personnalité vous êtes. Je ne mettez pas l'un au-dessus de l'autre que chacun a ses utilisations.

Comme le premier, vous serez l'expert, le gourou, le spécialiste. Comme ce dernier, vous serez d'une utilisation plus générale et d'une possible utilisation dans une variété de situations, mais éventuellement ne pas aller aussi profondément ou longue dans un sujet.

3
Harald Scheirich

Une

Celui devant vous.

2
Steven A. Lowe

Une. Mais tu ferais mieux d'être sacrément bon à ça.

2
Satanicpuppy

Un, mais doit être en mesure de lire des programmes non triviaux du monde réel qui sont écrits dans quelques autres langues de temps à autre. D'une certaine manière, celle dans laquelle le programmeur est un expert est comme leur langue maternelle, elle y réfléchit, mais l'apprentissage et la conversion d'autres langues est très bonne en ce qu'il montre que le programmeur peut apprécier d'autres façons de penser. S'ils peuvent penser dans plus d'une langue par couramment la langue maternelle, c'est génial.

1
vpit3833

C'est une bonne question, mais je ne pense pas qu'il y ait une norme. Normalement, par ce que j'ai vu, les gens sont un expert complet dans une langue de haut niveau (C++, Java, etc.) dans un environnement (Windows/Linux, Mac, Solaris). Ils connaissent à peu près une autre langue de haut niveau mais ne le comprennent pas complètement. (par exemple, C++, Java Les gens se connaissent à peu près). Par grossièrement, je veux dire qu'ils peuvent comparer la performance d'une tâche dans la langue qu'ils sont expert et dans l'autre langue. Et puis ils sont modérés. Dans une partie de la langue de script. (par exemple, Linux Persont connaît Bash, les Windows Personnes connaissent VBA, les personnes Web connaissent PHP).
[.____] Pour moi, ce qui compte, c'est la connaissance d'algorithme de base que la langue. Si vos bases sont bonnes, il y a moins de chances de gâcher dans n'importe quelle langue.
[.____] Mais oui, il peut parfois être utile de savoir quelle langue pourrait être meilleure pour quelle tâche. E.G Le code suivant est beaucoup plus rapide à Pascal que dans C.

strcat (a, "bonjour"); strcat (a, "monde"); strcat (a, "je dis bonjour!");

En effet, Pascal enregistre la longueur de la chaîne dans le premier emplacement et il est donc facile de sauter jusqu'au dernier emplacement. En C, la fin de la chaîne est '\ 0' et vous devrez donc traverser la chaîne entière pour l'opération STRACAT.

1
Manoj R

Comme le dit Joel dans le podcast SO, il est préférable de connaître de nombreuses langues et de savoir comment/quand utiliser la bonne langue pour la tâche. Il y a des choses que vous pouvez faire de façon plus rapide dans une langue qu'une autre. Je pense que ce serait bien de connaître une langue impérative et une langue fonctionnelle par exemple. Plusieurs fois apprennent une langue plus difficile ou plus ésotérique entraîne votre cerveau pour être un meilleur programmeur dans l'ensemble.

1
chiurox

Aucun car il y a probablement des programmeurs qui ne seront probablement pas des experts dans une langue, mais ils apprécient l'environnement diversifié qu'ils ont et utiliseront différentes langues en fonction des circonstances que certains peuvent connaître quelques technologies côté serveur comme PHP, ASP.NET en C # .NET ou VB.NET, ou Java, un couple de langages de script du côté client comme JavaScript ou Flash, et ceci est sans entrer dans le matériel utilisé pour mettre les trucs Web ici.

Dans le même temps, il peut y avoir des programmeurs qui sont des experts dans une douzaine de langues ou plus, c'est ce qu'ils étudient assez fidèlement la plupart du temps pour rester au-dessus de chaque langue.

1
JB King

Cela dépend de l'environnement où vous programmez. Lors d'un emploi précédent, la plupart de mes travaux étaient à Perl; Pendant mon séjour là-bas, je suis très compétent. Maintenant, je travaille dans un endroit qui a des programmes hérités en trois langues que je connais à peine la syntaxe; Je suis censé les maintenir en plus de mon travail sur de nouveaux projets. Je suis maintenant moins un maître de n'importe quelle langue, mais je pense avoir une meilleure idée de programmation. J'ai appris à penser plus de manière plus abstraite, voir la grande image en premier, puis recherchez la syntaxe et les bibliothèques pour remplir les détails.

0
Bruce Alderman