intéressant

Programmeur 101: Apprenez-vous à coder

Vous avez toujours voulu apprendre à créer vous-même un logiciel - ou tout simplement à créer un script occasionnel - sans jamais savoir par où commencer. Heureusement, le Web regorge de ressources gratuites qui peuvent faire de vous un programmeur en un rien de temps.

Depuis l'invention d'Internet, les programmeurs l'utilisent pour discuter de techniques de développement de logiciels, publier des tutoriels et partager des exemples de code afin que d'autres personnes puissent en tirer des enseignements et les utiliser en ligne. Si vous êtes curieux de savoir comment devenir programmeur, vous pouvez commencer en utilisant des tonnes d'excellents didacticiels et ressources Web gratuits.

Les premières choses d'abord: ne soyez pas pressé de choisir une langue

Un piège courant pour les débutants est de ne pas savoir quel langage de programmation il vaut mieux apprendre en premier. Il y a beaucoup d'opinions, mais il n'y a pas de "meilleur" langage. Voici la chose: En fin de compte, la langue n'a pas d'importance. Comprendre les structures de données et de contrôle et les modèles de conception est très important. Chaque langue, même un langage de script simple, comportera des éléments que vous utiliserez également dans d'autres langues et vous aidera à apprendre. Dans les cours que j'ai suivis pour obtenir mon diplôme en informatique, j'ai programmé en Pascal, en Assemblée et en C, des langues pour lesquelles je n'ai jamais été payé pour une programmation professionnelle. Je me suis enseigné toutes les langues que j'ai utilisées au cours de ma carrière, en réutilisant des concepts que je connaissais déjà et en me référant à la documentation et aux livres pour en apprendre la syntaxe. Alors, ne vous attardez pas sur la langue à apprendre en premier. Choisissez le type de développement que vous voulez faire et commencez par en utiliser un qui fonctionne.

Il existe plusieurs types de développement logiciel que vous pouvez effectuer pour différentes plates-formes, du Web à votre ordinateur, en passant par votre smartphone et une ligne de commande. Dans cet article, nous décrivons quelques-uns de nos tutoriels de démarrage préférés et des ressources pour vous apprendre à programmer pour chaque plate-forme majeure. Nous allons supposer que vous êtes un utilisateur averti, mais un débutant en matière de rédaction d'extraits de code, nous allons donc garder les choses au niveau débutant. Même en suivant un tutoriel de programmation pour débutant, vous serez heureux de voir jusqu'où vous pouvez aller.

Script de bureau

Le moyen le plus simple de vous initier à la programmation pour votre bureau Windows ou Mac consiste à démarrer avec un programme de script ou un programme macro tel que AutoHotkey (pour Windows) ou Automator (pour Mac). À l'heure actuelle, les codeurs inconditionnels du lectorat de Goldavelez.com crient sur leurs moniteurs, affirmant qu'AHK ou AppleScript ne sont pas une "vraie" programmation. C'est peut-être vrai. Techniquement, ces types d'outils n'utilisent que des scripts de haut niveau. Mais pour les débutants en programmation qui souhaitent simplement se familiariser avec l'automatisation des actions sur leur bureau, ces outils gratuits sont un moyen fantastique de commencer - et vous seriez surpris de voir combien vous pouvez en faire.

Par exemple, Adam a développé l'application Windows autonome que nous connaissons et aimons tous, Texter, à l'aide d'AutoHotkey. Ce langage de script est donc capable de beaucoup plus que de simples projets d'automatisation. Pour commencer à utiliser AutoHotkey, consultez le didacticiel d'Adam sur la façon de transformer une action en raccourci clavier à l'aide d'AutoHotkey. (Ensuite, consultez le code source de Texter pour voir les entrailles d'une application Windows à part entière basée sur AHK.)

Développement web

Au lieu d'être lié à des langages de programmation spécifiques et à l'aspect d'un système d'exploitation particulier, vous pouvez placer votre application phare dans le navigateur et l'exécuter dans le cloud, en tant qu'application Web. Bienvenue dans le monde merveilleux du développement Web.

HTML et CSS: La première chose à savoir pour créer un site Web est HTML (le balisage de page qui constitue les pages Web) et CSS (les informations de style qui rendent ce balisage joli). HTML et CSS ne sont pas de véritables langages de programmation - ils sont simplement des informations sur la structure de page et le style. Cependant, vous devriez être capable de créer manuellement du code HTML et CSS simple avant de commencer à créer des applications Web, car une page Web constitue l'interface frontale de chaque application Web. Ce tutoriel HTML est un bon point de départ.

JavaScript: maintenant que vous pouvez créer une page Web statique avec HTML et CSS, tout devient amusant, car il est temps d'apprendre le JavaScript. JavaScript est le langage de programmation du navigateur Web, la magie qui permet de faire disparaître les effets dynamiques de la page. Le JavaScript est également utilisé par les bookmarklets, les scripts utilisateur Greasemonkey et Ajax. Il est donc essentiel pour créer toutes sortes de goodies Web. Commencez à apprendre JavaScript ici.

Script côté serveur: une fois que vous êtes capable de créer des choses dans une page Web, vous devez mettre une action serveur dynamique derrière celle-ci et pour cela, vous devez passer à un script côté serveur. langage, comme PHP, Python, Perl ou Ruby. Par exemple, pour créer un formulaire de contact Web qui envoie un courrier électronique quelque part en fonction des informations saisies par un utilisateur, un script côté serveur est requis. Les langages de script tels que PHP peuvent également communiquer avec une base de données sur votre serveur Web. Si vous souhaitez créer un site sur lequel les utilisateurs peuvent se connecter et stocker des informations, c'est le chemin à parcourir. Excellent site de développement Web Webmonkey regorge de tutoriels pour divers langages de programmation Web. Voir leur tutoriel PHP pour les débutants. Lorsque vous êtes prêt, découvrez comment utiliser PHP pour parler à une base de données dans les tutoriels PHP et MySQL de WebMonkey. La documentation en ligne et la référence des fonctions de PHP sont les meilleures sur le Web. Chaque entrée (comme celle de la fonction strlen) inclut des commentaires utilisateur au bas de la page, souvent aussi utiles que la documentation elle-même. (Je suis un partisan de PHP, mais il existe de nombreux autres langages de script côté serveur que vous pourriez décider d'utiliser à la place.)

Structures Web: au fil des ans, les développeurs Web ont dû résoudre les mêmes problèmes et réécrire du code similaire pour créer des sites Web dynamiques. Pour éviter que tout le monde ne réinvente la roue à chaque nouveau projet de développement Web, certains programmeurs ont mis au point des cadres de développement qui effectuent un travail répétitif à votre place. Le cadre Ruby on Rails, par exemple, utilise le langage de programmation Ruby et offre une structure Web spécifique pour l'exécution de tâches d'application Web courantes. En fait, Adam a utilisé Rails pour créer sa première application Web sérieuse (et impressionnante!), MixTape.me. Voici son opinion sur la création d’un site Web à partir de rien, sans expérience. CakePHP (pour les programmeurs PHP), Django (pour les programmeurs Python) et jQuery (pour JavaScript) sont d’autres infrastructures de développement Web populaires.

API Web: Une API (interface de programmation d'application) est un moyen de programmation permettant à différents logiciels de communiquer entre eux. Par exemple, si vous souhaitez placer une carte dynamique sur votre site Web, vous souhaitez utiliser une carte Google au lieu de créer votre propre carte personnalisée. L'API de Google Maps facilite l'inclusion par programme d'une carte dans une page avec JavaScript. Presque tous les services Web modernes que vous connaissez et aimez ont une API qui vous permet d’inclure des données et des widgets dans votre application, tels que Twitter, Facebook, Google Documents, Google Maps, et ainsi de suite. L'intégration d'autres applications Web dans votre application Web via des API constitue la dernière frontière du développement Web enrichi. Chaque bonne API de service Web offre une documentation complète et une sorte de guide de démarrage rapide pour l’essayer (par exemple sur Twitter). Devenir fou.

Script de ligne de commande

Si vous voulez écrire un programme qui prend du texte ou des fichiers et génère quelque chose d’utile, la ligne de commande est le bon endroit pour le faire. Bien que la ligne de commande ne soit pas aussi sexy ni aussi belle qu'une application Web ou de bureau, pour le développement rapide de scripts rapides automatisant des processus, vous ne pouvez pas le battre.

Plusieurs langages de script fonctionnant sur un serveur Web basé sur Linux fonctionnent également en ligne de commande, tels que Perl, Python et PHP. L'apprentissage de l'un de ces méchants vous permet de converser dans deux contextes. Mon chemin ne m'a jamais pris trop loin sur la route de Perl, mais je me suis appris à utiliser Python en utilisant l'excellent livre gratuit en ligne.

Si devenir un ninja Unix est l’un de vos objectifs, vous devez absolument maîtriser les scripts shell avec bash. Bash est le langage de script de ligne de commande d'un environnement * nix. Il peut tout faire: vous aider à configurer des sauvegardes automatisées de votre base de données et de vos fichiers pour créer une application à part entière avec interaction de l'utilisateur. Sans aucune expérience de l'écriture de scripts bash au-delà d'une douzaine de lignes, j'ai fini par développer un gestionnaire de liste de tâches personnel complet à bash, Todo.txt CLI.

Add-ons

De nos jours, les applications Web et les navigateurs modernes sont extensibles avec des logiciels qui leur sont destinés et qui ajoutent des fonctionnalités. Le développement de modules complémentaires gagne en popularité alors que de plus en plus de développeurs examinent des logiciels existants, tels que Firefox ou WordPress, et se disent "Mais si seulement cela pouvait le faire CECI ..."

Vous pouvez faire beaucoup dans n'importe quel navigateur Web avec juste une maîtrise de HTML, JavaScript et CSS. Les bookmarklets, les scripts utilisateur Greasemonkey et les styles utilisateur stylés sont créés avec les mêmes bits de code que les pages Web standard. Ils valent donc la peine d'être appris même si vous souhaitez modifier un site existant avec un petit extrait de code.

Des modules complémentaires de navigateur plus avancés, tels que les extensions Firefox, vous permettent de faire plus. Pour développer des extensions Firefox, par exemple, vous devez maîtriser les langages JavaScript et XML (balises similaires au HTML, mais beaucoup plus strictes en termes de format). En 2007, j'ai expliqué comment construire une extension Firefox, une compétence que j'avais apprise après être tombé sur un tutoriel gratuit.

De nombreuses applications Web gratuites et appréciées offrent également un cadre d’extension, comme WordPress et MediaWiki. Ces deux applications étant écrites en PHP, la maîtrise de PHP est une condition préalable à la mise en route. Voici comment écrire un plug-in pour WordPress. Les développeurs qui souhaitent utiliser les technologies de pointe de Google Wave peuvent commencer à écrire des gadgets et des robots en HTML, JavaScript, Java et Python. J'ai écrit mon premier Wave Bot après ce tutoriel de démarrage rapide en un après-midi.

Développement Web pour le bureau

La meilleure partie de commencer à programmer dans un contexte est de pouvoir utiliser ces compétences et les appliquer ailleurs. Apprendre d'abord à développer le Web est un excellent moyen de commencer car il existe désormais des moyens de mettre ces compétences à profit pour les applications de bureau. Par exemple, Adobe AIR est un environnement d'exécution multiplate-forme qui vous permet de créer votre application une seule fois et de la laisser s'exécuter sur le bureau pour chaque système d'exploitation sur lequel s'exécute AIR. Les applications AIR étant écrites en HTML, Flash ou Flex, vous pouvez ainsi appliquer vos compétences en développement Web dans un contexte de bureau. AIR est une excellente option pour déployer des applications de bureau, comme l’une de nos 10 principales applications dignes d’installation d’Adobe AIR pour.

Développement d'applications mobiles

Les applications mobiles telles que celles que vous exécutez sur votre iPhone ou votre smartphone Android font fureur à l'heure actuelle. Vous pouvez donc rêver de vous enrichir dans l'iTunes App Store avec la prochaine application révolutionnaire. Cependant, pour le nouveau codeur, se plonger à fond dans le développement mobile peut s’avérer très laborieux, car il nécessite de maîtriser des langages de programmation avancés tels que Java et Objective C. Toutefois, il vaut la peine de regarder à quoi ressemble le développement sur iPhone et Android. Découvrez cet exemple simple de développement d'applications iPhone pour avoir un aperçu de ce que font les développeurs iPhone. Les applications Android sont écrites en Java. Voici un didacticiel vidéo convivial illustrant la création d’un flux de travail pour les applications "Bonjour Android".

Patience, graisse au coude, essais et erreurs

Les bons codeurs sont une race spéciale de personnes qui résolvent les problèmes et qui sont accro aux petites victoires qui s’accumulent au cours d’une longue série d’essais et d’erreurs. Apprendre à programmer est très enrichissant, mais cela peut aussi être une expérience frustrante et solitaire. Si vous le pouvez, demandez à un ami de travailler avec vous en cours de route. Pour devenir vraiment bon en programmation, comme pour n'importe quoi d'autre, il suffit de s'y tenir, d'essayer des choses et d'acquérir de l'expérience au fur et à mesure.

Cet article ne constitue que les recommandations par excellence d'un programmeur autodidacte pour les débutants. Programmeurs expérimentés: qu'est-ce que j'ai manqué? Quel que soit votre niveau, ajoutez vos commentaires et recommandations aux débutants.