web-dev-qa-db-fra.com

Quels langages de programmation devrais-je apprendre à devenir un développeur Ubuntu?

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

Mon projet sous NetBeans (Java uniquement) consistait à concevoir une calculatrice (relativement facile). De plus, comment apprendre à faire des visualiseurs d’images, des navigateurs, etc.?

En outre, quel serait le meilleur langage pour certaines applications?

22
fffdf

La réponse est simple et pas vraiment utile. Quelle que soit la langue requise. Ubuntu est une tonne de logiciels, certains écrits en C, certains en C++, certains en Python, Perl, bash ... et d'autres. Vous devriez absolument apprendre à écrire avec bash, et vous devriez choisir un langage comme Perl ou Python, éventuellement ce dernier. En outre, apprendre le bon vieux C n'a jamais fait de mal à personne - vous en apprendrez plus sur le fonctionnement des programmes, sur les bibliothèques, sur de nombreux autres outils.

Autrement - trouvez d'abord une tâche, une niche, une tâche sur laquelle vous devez travailler, une tâche manquante ou une tâche fascinante que vous souhaitez travailler. Et ensuite trouver quelle langue sera bonne à cette fin.

31
January

Si vous avez l'intention d'écrire pour Ubuntu des applications pouvant fonctionner sur plusieurs appareils et formats (ordinateur de bureau, téléphone, tablette, télévision, etc.), je vous conseillerais de vous familiariser avec QML et - JavaScript . Essentiellement:

  • Utilisez QML pour écrire des applications convergentes Ubuntu fonctionnant à l'aide de facteurs de forme et de périphériques.
  • Utilisez JavaScript pour compléter QML lors de l'écriture d'applications Ubuntu et pour l'écriture d'applications Web Ubuntu.
7
David Planella

Tu devrais apprendre:

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

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

  • C++/C
    • avantages: incroyablement rapide, accès aux fonctionnalités de bas niveau
    • inconvénients: beaucoup de temps pour apprendre à écrire quelque chose de stable, une communauté terrible
  • Rubis:
    • pros: facile à apprendre, très agréable à écrire, bonne communauté
    • inconvénients: peut-être lent pour une tâche (vraiment)
  • Python:
    • pros: beaucoup de paquets sont en python, super communauté, rapide, etc.
    • contre: python 3 (juste gentil ')

Cependant, il existe encore de nombreux autres langages tels que Java, etc. Cependant, les éléments cités ci-dessus peuvent être les plus faciles au départ, à l’exception du C/C++, mais qui valent la peine d’être appris, car vous pourrez l’utiliser avec de nombreux autres langages (par exemple, python, rubis, etc.)

5
avetis.kazarian

Le travail de programmation comprend à la fois le code actuel et le modèle mental situé en dessous.

Il est facile de maîtriser un langage de programmation tant que vous maîtrisez les concepts de base du fonctionnement des ordinateurs. Toutefois, pour apporter une contribution utile à un projet, vous devez également comprendre le design qui le sous-tend.

Ma suggestion est 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 améliorez la description. Points bonus pour un test automatisé.
  • s'il y a un ancien bogue qui n'a plus attiré l'attention depuis un moment, essayez de voir s'il existe toujours et mettez à jour le rapport de bogue
  • s'il y a des échecs dans la suite de tests, essayez de savoir ce qui se passe pour que ce test échoue

Cela vous permettra d’en apprendre davantage sur la partie conceptuelle difficile du projet sur une courbe d’apprentissage gérable, tout en gardant 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 actuel (celui qui est utilisé dans le projet) est quelque chose que vous pouvez choisir à la volée.

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

1
Simon Richter

Vous devriez apprendre ... tous! Ou plutôt meta - apprendre toutes les langues. Lorsque vous connaissez deux ou trois langues, vous pouvez apprendre rapidement toute nouvelle langue semblable à celle-ci. Si vous connaissez suffisamment de langues, vous les connaissez presque toutes et, plus important encore, vous comprenez ce qui fait partie de la langue, et ce qui appartient à la programmation indépendamment de la langue. En fin de compte, les langues spécifiques ne sont pas pertinentes.

Donc, vous voudrez peut-être apprendre Java, C, Scheme, OCaml, Assembly (au moins deux architectures), Forth et un peu de Prolog, pas nécessairement dans cet ordre. La deuxième langue sera la plus difficile, car vous devrez à la fois apprendre de nouveaux concepts et oublier les concepts que vous avez appris avec la première langue mais qui se sont révélés incorrects. Ensuite, c’est facile et ne le devient que plus facilement.

Ensuite, lorsque vous traitez avec 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, de la connaissance des collègues, des contraintes de politique de la direction, etc. La flexibilité de l'esprit est la clé. Connaître plusieurs langues permet cette flexibilité.

0
Thomas Pornin