22 votes

Quels langages de programmation dois-je apprendre pour devenir un développeur Ubuntu ?

Bien que j'aie utilisé NetBeans une fois pour un projet, quels langages dois-je apprendre pour devenir un développeur Ubuntu à part entière ?

Mon projet dans NetBeans (Java uniquement) consistait à concevoir une calculatrice (relativement facile). Par ailleurs, comment apprendre à faire des visionneurs d'images, des navigateurs, etc.

En outre, quelle serait la meilleure langue pour certaines applications ?

31voto

January Points 33673

La réponse est simple et pas vraiment utile. N'importe quelle langue est nécessaire. Ubuntu est une tonne de logiciels, certains écrits en C, d'autres en C++, d'autres encore en Python, Perl, bash... et autres. Vous devriez certainement apprendre à écrire des scripts avec bash, et vous devriez choisir un langage comme Perl ou Python, probablement ce dernier. De plus, apprendre le bon vieux C n'a jamais fait de mal à personne -- vous apprenez plus sur la façon dont les programmes fonctionnent, ce que sont les bibliothèques, beaucoup de choses sur d'autres outils.

Sinon, trouvez d'abord une tâche, un créneau, quelque chose sur lequel il faut travailler, quelque chose qui manque ou quelque chose qui est tout simplement fascinant et sur lequel vous aimeriez travailler. Ensuite, trouvez la langue qui conviendra le mieux à cette tâche.

7voto

Tom Points 635

Si vous avez l'intention d'écrire des applications pour Ubuntu qui peuvent fonctionner sur plusieurs appareils et facteurs de forme (ordinateur de bureau, téléphone, tablette, TV...), je vous recommande d'apprendre QML y JavaScript . Essentiellement :

  • Utilisez QML pour écrire des applications Ubuntu convergentes qui fonctionnent sur tous les facteurs de forme et appareils
  • Utilisez JavaScript pour compléter QML lors de l'écriture d'applications Ubuntu et pour écrire des webapps Ubuntu

5voto

avetis.kazarian Points 151

Vous devriez apprendre :

  • JavaScript : comme la plupart des frameworks/env. d'interface utilisateur sont/seront basés sur JavaScript, vous en aurez de toute façon besoin un jour ou l'autre.

Ensuite, pour tout le reste, vous aurez besoin d'autre chose :

  • C++/C
    • pour : étonnamment rapide, accès aux fonctionnalités de bas niveau
    • contre : beaucoup de temps pour apprendre à écrire quelque chose de stable, communauté affreuse
  • Ruby :
    • pour : facile à apprendre, vraiment agréable à écrire, grande communauté
    • contre : peut être lent pour certaines tâches (vraiment)
  • Python :
    • Pour : beaucoup de paquets sont en Python, grande communauté, rapide, etc.
    • cons : Python 3 (juste un peu)

Mais il y a encore beaucoup d'autres langages comme Java, etc., cependant, ceux mentionnés ci-dessus sont peut-être les plus faciles pour commencer, à l'exception de C/C++ mais qui vaut la peine d'être appris car vous pourrez l'utiliser avec beaucoup d'autres langages (par exemple étendre Python, ruby, etc.)

1voto

Simon Richter Points 3021

Le travail de programmation comprend à la fois le code proprement dit et le modèle mental qui le sous-tend.

Il est facile d'apprendre un langage de programmation si l'on connaît les concepts de base du fonctionnement des ordinateurs. Toutefois, pour apporter une contribution utile à un projet, il faut aussi en comprendre la conception.

Je vous suggère donc de rejoindre un projet qui vous intéresse personnellement et que vous utilisez souvent, puis de commencer par un travail d'assurance qualité :

  • si un rapport de bogue est quelque peu vague, essayez de reproduire le problème et d'améliorer la description. Des points bonus pour un test automatisé.
  • s'il y a un ancien bogue qui n'a pas reçu d'attention depuis un certain temps, essayez de voir s'il existe toujours, et mettez à jour le rapport de bogue
  • s'il y a des échecs de la suite de tests, essayez de trouver ce qui se passe dans l'ordre qui fait échouer ce test

Cela vous permettra d'apprendre la partie difficile et conceptuelle du projet sur une courbe d'apprentissage gérable, tout en maintenant votre intérêt (parce que c'est un projet qui vous tient à cœur) et en vous donnant accès à la communauté autour du projet. Le langage de programmation proprement dit (celui qui est utilisé dans le projet) est quelque chose que vous pouvez apprendre à la volée.

Pour un exemple d'entrée quelque peu progressive, regardez l'exemple suivant mes contributions au projet Beignet . La connaissance du langage de programmation (C/C++ dans ce cas) n'est certainement pas le facteur limitant ici.

0voto

huaiyuan Points 16570

Vous devriez les apprendre... tous ! Ou plutôt méta -apprendre toutes les langues. Lorsque vous connaissez deux ou trois langues, vous pouvez rapidement apprendre toute nouvelle langue qui leur est similaire. Si vous connaissez suffisamment de langues, vous les connaissez "virtuellement" toutes, et, plus important encore, vous comprenez ce qui fait partie du langue et ce qui relève de la programmation indépendamment de la langue. En définitive, les langues spécifiques ne sont pas pertinentes.

Vous pourriez donc vouloir apprendre Java, C, Scheme, OCaml, Assembly (deux architectures au moins), Forth et un peu de Prolog, pas nécessairement dans cet ordre. Le deuxième langage sera le plus difficile, car vous devrez à la fois apprendre de nouveaux concepts et oublier des concepts que vous avez appris avec le premier langage mais qui se sont avérés erronés. Après, c'est facile et ça ne fait que s'améliorer.

Ensuite, lorsqu'il s'agit d'une tâche de développement spécifique, utilisez le langage le plus adapté en fonction de la disponibilité et du support des compilateurs et des bibliothèques, des connaissances des collègues, des contraintes politiques de la direction, etc. La flexibilité d'esprit est la clé. La connaissance de plusieurs langues confère cette flexibilité.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X