Publicité
Lorsque vous commencez sur la voie de la programmation, il est important que vous investissiez votre temps judicieusement en choisissant d'apprendre quelque chose qui vous bénéficier dans un avenir immédiat avec des résultats visibles sur la plate-forme de votre choix, ainsi que vous préparer à tout avenir les langues. Votre choix dépendra d'un certain nombre de facteurs. Voyons donc leurs caractéristiques, leur facilité d'apprentissage et leur probabilité de gagner leur vie. Je vais également vous montrer du code pour afficher "hello world", la première application que de nombreuses personnes écrivent lors de l'apprentissage d'une nouvelle langue.
Dans cette première partie, nous examinerons les langages utilisés pour programmer les logiciels - comme dans les applications qui s'exécutent sur l'ordinateur ou les appareils mobiles. La prochaine fois, nous examinerons le domaine de plus en plus important des langages de programmation Web, utilisé pour créer des sites Web dynamiques et des interfaces utilisateur interactives basées sur un navigateur.
Il y a deux articles précédents dans cette série qui traitent de certains principes de base de tous les langages de programmation, donc si vous êtes nouveau dans la programmation, assurez-vous de les lire également:
- Variables et types de données Les bases de la programmation informatique 101 - Variables et types de donnéesAprès avoir présenté et parlé un peu de la programmation orientée objet avant et où son homonyme vient, je pensais qu'il était temps de passer par les bases absolues de la programmation dans un langage non spécifique façon. Cette... Lire la suite
- Fonctions, boucles et prise de décision Les bases absolues de la programmation pour les débutants (partie 2)Dans la partie 2 de notre guide de programmation pour débutants, je couvrirai les bases des fonctions, des valeurs de retour, des boucles et des conditions. Assurez-vous d'avoir lu la partie 1 avant d'aborder ce sujet, où j'ai expliqué le ... Lire la suite
Java
Java est un langage entièrement orienté objet, fortement typé, avec un ensemble complet de fonctionnalités axées sur la mise en réseau et la compatibilité multiplateforme. Les applications écrites en Java peuvent s'exécuter sur pratiquement tous les systèmes d'exploitation, bien que les performances ne soient pas aussi bonnes que celles conçues pour s'exécuter en mode natif.
C'est le langage de choix pour la plupart des cours d'informatique, et par conséquent presque tout le monde a au moins une petite expérience de programmation Java. Les applications Android sont également écrites en Java, bien que vous ne puissiez pas simplement exécuter une application Java standard sur votre mobile Android ni vice-versa.
Probabilité de vous faire de l'argent
Si vous pouvez créer une application digne d’être Android marché, alors le monde est à vous. Il existe également de nombreux emplois Java au niveau de l'entreprise, mais la concurrence est élevée et les salaires sont bas.
[Remarque: Ne confondez pas Java avec Javascript, qui est un langage complètement différent utilisé pour la programmation Web - nous y reviendrons la prochaine fois].
C / C ++
Bien qu'ils soient en réalité des langages séparés, ils sont souvent regroupés, car C ++ est fondamentalement une version améliorée de C, ajoutant des fonctionnalités orientées objet. C ++ est le langage de choix du programmeur sérieux, constituant la base de la plupart des jeux informatiques et des logiciels Windows les plus avancés. Il est très performant, mais nécessite beaucoup plus de précision de la part des programmeurs en matière de gestion de la mémoire et, par conséquent, a une courbe d'apprentissage abrupte. Non recommandé pour les débutants absolus.
Probabilité de vous faire de l'argent
Avec moins de concurrence que Java, les programmeurs C ++ seront toujours en demande et bien payés, en particulier dans l'industrie des jeux.
C #
Prononcé C forte, il s'agit du clone de Microsoft de Java (bien que les deux aient depuis divergé avec des différences plus prononcées) - un langage polyvalent fortement orienté objet. Les performances sont bonnes, mais pas aussi rapides que C ++. Les logiciels écrits en C # nécessitent un framework .Net pour fonctionner et sont uniquement Windows.
Probabilité de vous faire de l'argent
Il existe un bon nombre d’emplois C # pour les solutions d’entreprise, mais il est peu probable que vous gagniez de l’argent sur un seul logiciel contrairement au développement mobile. Pourtant, c'est un langage amusant et facile à apprendre pour les débutants, je le recommanderais certainement si vous souhaitez vous concentrer uniquement sur Windows.
Vous pouvez télécharger gratuitement Microsoft Visual Studio Express, ce qui aide grandement à la conception de l'interface graphique et à l'achèvement du code. Vous pouvez également l'utiliser pour Visual Basic et de nombreux autres langages de programmation de marque Microsoft.
Visual Basic
Une autre des contributions de Microsoft, Visual Basic est un langage événementiel axé sur des applications GUI simples. L'événement signifie que le code que vous écrivez réagira généralement à ce que fait l'utilisateur - ce qui se passe quand il clique sur ce bouton, par exemple. Il est incroyablement facile à apprendre et à faire fonctionner une application simple, mais finalement limité et peut-être pas le meilleur pour apprendre réellement les concepts de programmation fondamentaux.
Objective-C / Cocoa
Il s'agit du langage Apple Mac sur lequel la plupart des applications OSX et iOS sont construites. Techniquement, Objective-C est une version étendue de C avec des fonctionnalités orientées objet, un peu comme C ++, mais est presque toujours combiné avec le framework Cocoa pour créer des interfaces utilisateur graphiques et des fonctionnalités de niveau supérieur sur Mac Plate-forme. Vous devez également être prudent avec la gestion de la mémoire.
La syntaxe et les concepts que vous devez apprendre sont assez complexes par rapport à un langage comme Java ou C #, mais d'un autre côté, Apple fournit un environnement de développement gratuit complet (XCode) et des outils qui facilitent le processus de création d'applications réelles et utilisables. Il existe également une multitude de didacticiels écrits et vidéo pour vous guider, il est donc certainement plus accessible que C ++. C'est fondamentalement votre seul choix pour le développement OSX et iOS, mais vous pourrez écrire à la fois pour le bureau Apple et l'environnement mobile avec la même langue.
Probabilité de vous faire de l'argent
Avec un compte développeur (99 $ par an) et une application de tueur, vous avez le potentiel de faire beaucoup - Apple a payé jusqu'à 2 milliards de dollars jusqu'à présent. Les développeurs de l'App Store ont plus de chances que les développeurs d'Android de gagner de l'argent avec des applications payantes, tandis que les développeurs d'Android ont tendance à voir plus de retours sur la publicité dans l'application.
Ce sont toutes les langues que je vais couvrir aujourd'hui, et elles constituent la majorité du développement de logiciels dans le monde réel sur PC, Mac et environnements mobiles. Avant de me faire exploser dans les commentaires, j'ai décidé d'inclure Python dans la liste sur le Web, car cela semble être l'endroit où il est le plus utilisé.
La vérité est qu’une fois que vous maîtrisez les bases dans n’importe quelle langue, il est relativement facile d’en apprendre une autre; tout comme la connaissance du kanji chinois facilite la lecture et l'écriture du japonais - les langages de programmation se croisent et s'empruntent souvent, partageant le même ensemble de caractéristiques et de syntaxes de base. Restez à l'écoute pour le prochain article dans lequel j'examinerai les langages basés sur le Web tels que Javascript et PHP.
Intéressé par le les meilleurs programmeurs IDE de navigateur devraient connaître Les 13 meilleurs IDE de navigateur que chaque programmeur devrait connaîtreVous recherchez un environnement de développement intégré fiable basé sur un navigateur? Commencez à développer n'importe où avec ces IDE de navigateur. Lire la suite ? Jetez un œil à notre liste:
Pointe du chapeau à Jeffery, un commentateur passionné ici à MakeUseOf et souvent disponible pour aider dans la section des réponses techniques, qui a suggéré cet article et certaines des langues qu'il devrait couvrir.
James est titulaire d'un BSc en intelligence artificielle et est certifié CompTIA A + et Network +. Il est le développeur principal de MakeUseOf et passe son temps libre à jouer au paintball VR et aux jeux de société. Il construit des PC depuis qu'il est enfant.