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?
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.
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:
Tu devrais apprendre:
Ensuite, pour tout le reste, vous aurez besoin d'autre chose:
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.)
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é:
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.
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é.