OpenLLM-France/wikimedia huggingface dataset:
# Gambas 3/HelloWorld
## Hello World! (en console)

Il est d'usage de faire une micro application pour tester si les outils de développement fonctionnent.
Commencez par ouvrir l'environnement de développement ! Il y a beaucoup de façons de faire. Personnellement, sur Linux Mint, j'utilise le raccourci Alt+F2 pour afficher la fenêtre qui permet de saisir des commandes et j'écris "gambas3" puis j'appuie sur la touche Retour !
Si Gambas n'est pas installé chez vous, il vous faudra d'abord l'installer. Le plus simple étant d'utiliser le gestionnaire de logiciels de votre distribution si vous débutez sur Linux. Utilisez le paquet "gambas3" !
Une fois l'environnement de développement Gambas démarré, faites Ctrl+N ou
* Fichier
* Nouveau
* Projet
Choisissez le modèle "Console Application" ! Donnez-lui un nom et choisissez le dossier contenant vos projets de développement Gambas !
Appuyez sur F10 pour afficher le volet "Projet" sur la gauche !
Dans les Sources du projet, on voit un Module "Main". Par défaut, Gambas va démarrer la routine Main dans le module de démarrage qui est le module Main lui aussi.
Faites un double-clic sur le module "Main" pour afficher le code !
Comme Gambas est bien fait, le code contient déjà l'instruction permettant d'afficher un classique "Hello World!" à l'écran. Rien à faire donc ! Mais si vous le désirez, modifiez le texte ! C'est toujours sympa de s'approprier le code !
Voici le code dans le module principal (the main module) :
Vous l'aurez deviné, nous allons démarrer l'application. Tapez la touche F5 pour exécuter l'application en mode débogage !
Le code fonctionne. C'est chouette. Mais comment faire dans la vraie vie pour l'utiliser ? Et bien il suffit de générer l'exécutable comme ceci :
* Projet
* Générer
* Exécutable
* Donnez lui un nom ! Par exemple "hello.Gambas"
Ensuite, pour l'utiliser, affichez une console comme suit :
* Outil
* Ouvrir un terminal
Votre terminal est affiché. Chez moi, c'est gnome-terminal. Nous allons utiliser notre application comme ceci :
* tapez "gbr3 hello.gambas" et validez !
GBR3 c'est l'interpréteur de Gambas. C'est la machine qui exécute notre application d'une manière similaire au JRE pour Java.
On peut traduire cette commande par :
* Ô grand interpréteur Gambas, lit est exécute ce que j'ai mis dans le projet hello.gambas !
Donc, on peut créer nos applications et les utiliser en production si on a l'interpréteur installé sur le PC de l'utilisateur ! Vos utilisateurs peuvent l'installer. Le plus simple est d'utiliser le gestionnaire de logiciels de votre distribution lorsque vous débutez sur Linux. Le paquet s'appelle "gambas3-runtime".
Vous verrez plus tard que Gambas permet de générer rapidement des paquets pour installer votre application facilement sur d'autres ordinateurs. Vous verrez aussi que Gambas n'est pas limité aux applications de type console. Vous pourrez créer des applications graphiques, des jeux, des applications web, etc.
Essayez maintenant de faire un Hello World! avec une application graphique !
# Programmation Bash/Hello World

* Introduction
* Hello World
* Notions essentielles du shell bash
* Interactions avec le système de fichiers
* Flux et redirections
* Tests
* Calculs
* Structures conditionnelles
* Boucles
* Interactions avec l'utilisateur
* Regex
* Fonctions
* Scripts
* Enchaînements et scripts
* Liste des commandes
* Commandes ksh
* Problèmes connus
* Introduction
* Hello World
* Notions essentielles du shell bash
* Interactions avec le système de fichiers
* Flux et redirections
* Tests
* Calculs
* Structures conditionnelles
* Boucles
* Interactions avec l'utilisateur
* Regex
* Fonctions
* Scripts
* Enchaînements et scripts
* Liste des commandes
* Commandes ksh
* Problèmes connus
[ Modifier le sommaire ]
Pour créer une variable :
Un tableau :

## Références

* ↑ http://www.thegeekstuff.com/2010/06/bash-array-tutorial/
# Programmation C sharp/Un premier programme
## Hello world

Cet exemple typique de programmation est censé montrer la syntaxe du langage.

### Le fichier source

Enregistrez le listing suivant dans un document texte, intitulé par exemple « helloworld.cs » :

### Test

Compilez-le, puis lancez l'exécutable produit. Le programme doit afficher dans la console :

### Détails

Voici le détail ligne par ligne du fichier source, certains concepts étant expliqués dans les chapitres suivants :
Le fichier source utilise l'espace de noms nommé « System ».
Déclaration d'une classe nommée « HelloWorld ».
Déclaration d'une méthode statique nommée « Main » dans la classe HelloWorld. Cette méthode est celle qui est appelée au démarrage du programme.
Affichage de la ligne « Hello world ! » sur la console. Console désignant la console, appartient à l'espace de nom System.
Attendre que la touche entrée soit frappée avant de poursuivre. Cette ligne de code n'est pas nécessaire si vous lancez le programme depuis une console déjà ouverte. Dans le cas contraire (double-clic sous Windows), cette ligne de code permet de maintenir la fenêtre de console ouverte, car celle-ci se ferme une fois le programme terminé (option par défaut).
Fin de la méthode Main.
Fin de la classe HelloWorld.

## Hello world en bibliothèque

Le programme de cet exemple a le même but que le précédent : afficher le message « Hello world ! » sur la console. Cette version utilisera une seconde classe compilée en bibliothèque.

### Les fichiers sources

Enregistrez ce premier listing dans un document texte, intitulé par exemple « helloworld.cs » :
Enregistrez le second listing dans un document texte, intitulé par exemple « premierprog.cs » :

### Test

Compilez la bibliothèque :
| Windows | csc /t:library helloworld.cs |
| Linux (Mono) | gmcs -target:library helloworld.cs |
Le compilateur a créé un fichier nommé helloworld.dll. Cette bibliothèque doit être utilisée lors de la compilation du programme principal.
Compilez le programme :
| Windows | csc /r:helloworld.dll premierprog.cs |
| Linux (Mono) | gmcs -r:helloworld.dll premierprog.cs |
Le compilateur a produit un fichier nommé premierprog.exe.
Puis lancez l'exécutable produit :
| Windows | premierprog.exe |
| Linux (Mono) | mono premierprog.exe |
Le programme doit afficher :
# Programmation Pascal/Un premier programme

* Introduction
* Environnement de développement
* Un premier programme
* Structure d'un programme
* Les variables
* Procédures et fonctions
* Dépendances mutuelles et références circulaires
* Créer de nouveaux types
* Exercices
* Introduction
* Environnement de développement
* Un premier programme
* Structure d'un programme
* Les variables
* Procédures et fonctions
* Dépendances mutuelles et références circulaires
* Créer de nouveaux types
* Exercices
[ Modifier le sommaire ]

## Le fichier source

Le classique Hello world en Pascal, enregistrez le code suivant dans un fichier texte nommé hworld.pas :
Compilez ce programme, et lancez-le. Le message suivant doit normalement s'afficher :

## Le code source en détail

Le code source commence par déclarer qu'il s'agit d'un programme nommé hworld
Remarque:
Le nom du programme pourrait être Hello_World et comporter ici 11 caractères par exemple, même sous DOS : la chaine de caractères n'est pas trop longue car il ne s'agit pas là du nom du fichier DOS en format 8.3, mais simplement du nom du programme pour le compilateur. Par contre, le fichier quant à lui devra ne comporter que 8 caractères, par exemple hworld.pas.
Début de la routine principale, appelée au démarrage du programme.
Appel à la procédure writeln (write line) pour afficher la chaîne Hello world! sur la sortie standard.
Fin de la routine principale et du programme.
Donc,
se compile et s'exécute très bien avec n'importe quel compilateur Pascal, y compris les anciens depuis Turbo Pascal 3 sous DOS.
# Programmation Rebol/Premier programme

* Introduction
* Premier programme
* Liens
* Introduction
* Premier programme
* Liens
[ Modifier le sommaire ]
Voici deux variantes du programme Hello world :
* La première n'utilise que REBOL/Core,
* La seconde utilise l'extension REBOL/View permettant de créer des interfaces graphiques.

## Rebol/Core

La première partie du fichier définit un bloc entre crochets, précédé du mot-clé rebol. Ce bloc ne fait que donner des informations sur le programme et n'a aucune incidence sur l'exécution.
La ligne qui suit appelle la commande print prenant un argument de type chaîne de caractères.

## Rebol/View

Hormis l'en-tête vu dans l'exemple précédent, le programme définit une fenêtre f de 250 pixels de large par 120 de haut, de titre "Hello world !" positionnée à 20 pixels des bords supérieur et gauche de l'écran. Il contient un label de même taille affichant le texte "Hello world !".
Les instructions suivant la définition de la fenêtre et ses contrôles modifient les attributs du contrôle nommé pane et affichent la fenêtre en utilisant la commande view.
# Programmation D/Votre premier programme

* Avant de commencer
* Votre premier programme
* Éléments de base du langage et programmation impérative
* Programmation orientée objet
* Éléments avancés du langage
* Outils
* Annexes
* Conclusion
* Avant de commencer
* Votre premier programme
* Éléments de base du langage et programmation impérative
* Programmation orientée objet
* Éléments avancés du langage
* Outils
* Annexes
* Conclusion
[ Modifier le sommaire ]

## Avant de commencer

Avant de commencer, vous devez savoir que tous les programmes doivent être composés d'un main, qui est la fonction principale du programme. C'est le point de départ du programme, c'est ici que débutera l'exécution.

### Qu'est-ce qu'une fonction ?

Une fonction est composée des éléments suivants :
* un en-tête : celui-ci va faire office de carte d'identité de la fonction.
* un corps : le contenu de la fonction, c'est à dire l'ensemble des instructions qui sera exécuté lors de l'appel de la fonction. Il est délimité par des accolades.
* une valeur de retour : le résultat que la fonction va renvoyer.
L'en-tête de la fonction main peut s'écrire de plusieurs manières, en voici quelques unes :
* une fonction principale retournant un entier et ne prenant pas d'argument
* une fonction principale retournant un entier et pouvant prendre des arguments de la ligne de commande
* une fonction principale ne retournant aucune valeur et ne prenant pas d'argument

## « Bonjour le monde »

Eh oui, on ne va pas casser la tradition !

### Un exemple simple

Je ne vais pas vous faire languir plus longtemps. Créez un fichier hello.d et écrivez-y les lignes de code suivantes :
Simple, vous ne trouvez pas ?

### Compilation et exécution

Pour compiler, faites simplement :
Pour l'exécuter :
Je vous laisse le plaisir d'observer le résultat.

### Quelques explications

* Sur la 1ère ligne, on indique que l'on a besoin du module Stdout se trouvant dans tango/io/Stdout.d.
Nous y reviendrons plus tard. Sachez simplement que tous les modules D que vous aurez installés sur votre fedora sont dans /usr/include/d/.
Soit ici : /usr/include/d/tango/io/Stdout.d.
* La 2ème ligne, vous l'aurez reconnue, est notre fonction principale. Elle ne prend pas d'argument et ne retourne aucune valeur.
* La 3ème ligne est dans la fonction principale, (remarquez les) et demande d'écrire sur la sortie standard "Bonjour le monde" suivi d'un retour à la ligne (.nl pour new line/nouvelle ligne).
Il existe beaucoup de façons différentes d'écrire sur la sortie standard mais ne vous éparpillez pas ! On aurait pu souhaiter ne pas vouloir de retour à la ligne à la fin de notre phrase, cela se fait aussi simplement :
Note: n'oubliez pas de recompiler votre code pour voir le changement.
* La 4ème ligne vient fermer le bloc de la fonction principale.

## Exemples plus avancés : Générer des paroles de chanson

Paroles de la chanson des 99 bouteilles de bière sur le mur (anglais)
# Programmation D

D est un langage de programmation qui se veut un mélange équitable entre Java et C++.

## Sommaire

* Wikipédia propose un article sur : « D (langage) ».
* Avant de commencer
* Votre premier programme
* Éléments de base du langage et programmation impérative
* Programmation orientée objet
* Éléments avancés du langage
* Outils
* Annexes
* Conclusion
# Programmation OpenGL

OpenGL (http://www.opengl.org) est une interface de programmation standard pour le graphisme 2D et 3D, adapté qui plus est pour être traité directement au niveau matériel. Du fait de leur aspect bas niveau, les primitives proposées par OpenGL nécessitent en général des fonctions de plus haut niveau, pour faciliter le rendu et la gestion d'objets complexes, ainsi que leur interaction avec leur environnement. Il faut bien comprendre qu'OpenGL n'est qu'une couche de rendu.
Pour effectuer des opérations plus complexes telles que des ombres portées, de l'animation par armature, la détection de collision de polygones, la gestion des lois de la physique (gravité, choc mous, particules, etc.), il vaut mieux utiliser des bibliothèques de plus haut niveaux, telles que :
* GLU (OpenGL Utility library) : Cette bibliothèque est en général incluse d'office avec toute implémentation d'OpenGL. Elle permet de faire un rendu d'objets plus complexes à base de surfaces de béziers ou de splines bi-cubiques (NURBS - Non Uniform Rational Bicubic-Spline), ainsi que le découpage de polygones complexes en polygones convexes (des triangles en général, seul type de polygone pris en charge directement par OpenGL). Cette bibliothèque n'utilise en fait que des primitives OpenGL, c'est pourquoi ces fonctions ont été mises dans une bibliothèque à part.
* GLUT (OpenGL Utility Toolkit library) : Cette bibliothèque permet de s'affranchir des spécificités du système d'exploitation pour exploiter OpenGL, notamment l'ouverture de fenêtre graphique et de la gestion des évènements (souris, clavier, redimensionnement, rafraîchissement, etc.). Elle propose aussi quelques fonctions pour créer des objets relativement courants (notamment lorsqu'on débute !), tels que des sphères, des tores, des carrés et la fameuse théière.
Reste que même avec ces trois bibliothèques de fonctions, il y a de quoi rester sur sa faim. Il existe de nombreux moteurs 3D, qui prennent en charge la gestion d'un environnement 3D et en leur appliquant des fonctions de haut niveau (telle l'insertion d'objets issus de modeleur 3D, la gestion des ombres portées, de la physique élémentaire, etc.). Il en existe beaucoup, aussi bien commerciaux, que libres, Internet et ses moteurs de recherche sauront vous montrer une liste exhaustive.

## Installation de l'environnement de programmation
### Unix et GNU/Linux

La plupart des distributions ont les bibliothèques OpenGL installées par défaut, cependant vérifiez que vous avez les bons paquetages.
* libxi-dev : bibliothèque de développement pour X
* libxmu-dev : bibliothèque de développement pour X
* soit libglut avec libglut-dev
* soit freeglut avec freeglut-dev
Par exemple pour une distribution compatible Debian :

### MS-Windows

Tout dépend de votre Environnement de Développement Intégré :
* MS-Visual C++ possède les bibliothèques installées par défaut.
* Avec Dev-C++ il vous faudra télécharger le pack de développement glut.x.x.x+.DevPak .

### Mac

OpenGL est installé par défaut sous Mac ainsi que le gestionnaire de fenêtre GLUT mais il est disponible depuis le site apple.com pour les développeurs .
# Programmation/Bonjour le monde

* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
* Bonjour le monde
* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
* Bonjour le monde
[ Modifier le sommaire ]
« Bonjour le monde ! » (ou « Hello world! » en anglais) est la phrase affichée par un premier exemple de programme informatique dans un langage de programmation dans les premiers chapitres de son apprentissage. Le but de ce genre de programme est de montrer la structure globale d'un programme et de fournir un programme simple compilable et/ou exécutable pour tester le langage et les commandes de développement liées à ce langage.
Généralement, ce programme affiche la phrase dans la console. Le programme montre les modules, entêtes ou paquetages à importer, charger ou déclarer pour effectuer cette tâche simple. Pour un langage d'interface graphique, il s'agit plutôt d'un programme affichant une fenêtre simple affichant la phrase « Bonjour le monde ! » (ou « Hello world! » en anglais).
Voir la catégorie « Bonjour le monde » pour des exemples dans divers langages de programmation.
# Programmation V
## Introduction

Les news parlent du langage V de temps en temps. C'est un nouveau langage de programmation.

## Courte présentation du langage

Le langage V est un langage de haut niveau qui ressemble au langage Go. Comme le C, le but est de créer un fichier exécutable à l'aide du compilateur. C'est Open source depuis le 23 juin 2019 et multi-plateforme.
Soyons clairs ! C'est actuellement instable. L'auteur, M. Alex Medvedniko, cherche à stabiliser le langage pour la version 0.2.
Au jour où j'écris ces lignes, le 21 février 2019, c'est la version 0.1.25 qui est installée.

## Installation

Il faut faire une installation initiale puis faire des mises à jour par la suite.
Avant l'installation, vérifiez ceci !
* Il doit y avoir un compilateur C sur la machine par exemple GCC
* Il doit y avoir les outils de la chaîne de développement aussi (Make, etc.)
* Le gestionnaire de version Git doit être installé aussi.

### Windows

Pas encore testé. Merci de contribuer si vous avez fait l'installation sur Windows.

### Mac

Pas testé.

### Linux

Il faut d'abord passer par Git et cloner le code source.
Puis, il faut générer l'exécutable avec Make.

#### Pré-requis

Sera décrit tout bientôt.

#### Cloner avec Git

Sera décrit tout bientôt.

#### Générer l'exécutable V

Sera décrit tout bientôt.

#### Faire la mise à jour

Régulièrement, vous devez utiliser la commande suivante pour mettre à jour V :

## Le langage V

C'est un langage compilé comme le C. L'exécutable est différent selon le système d'exploitation ciblé. Pour l'instant, je ne peux pas en dire plus. Contributions bienvenues.

### Objectif

Le langage V est pensé pour produire du code facile à maintenir. Il a été conçu pour compiler rapidement.

### État du projet

En développement. L'auteur dit que c'est instable mais il semble que ce soit proche de l'état stabilisé.

### Hello World

Le fichier source hello_world.v contiendra :

### Compilation et distribution

Tapez la commande suivante :

### Exécuter le programme

Comme tous les autres programmes, par exemple, avec la commande suivante :

### Le langage dans les détails

V peut être utilisé pour faire des scripts mais je me focalise sur les exécutables compilés.
C'est cross-platform. Par exemple, je peux compiler pour Windows avec la commande :
Il n'y a pas de classe. Le langage n'offre que des structures.
Les variables sont immutable par défaut mais on peut ajouter le texte mut pour les rendre modifiables.
On peut appeler des fonctions C, etc.

## Conclusion

ça semble prometteur.

## Liens

https://vlang.io/
# Programmation Visual Basic .NET/Premier script

* Introduction
* Visual Studio
* Premier script

## Bases du langage

* Variables
* Tableaux
* Conditions
* Boucles

## Opérateurs

* Assignation et comparaison
* Arithmétique
* Chaines de caractères
* Logique
* Gestion d'exception

## Programmation orientée objet

* Classes
* Namespaces
* Héritage
* Interfaces
** L'interface IDisposable

## Structure de données avancée

* Contrôles
* Énumérations
* Collections
* GDI+
* Introduction
* Visual Studio
* Premier script

## Bases du langage

* Variables
* Tableaux
* Conditions
* Boucles

## Opérateurs

* Assignation et comparaison
* Arithmétique
* Chaines de caractères
* Logique
* Gestion d'exception

## Programmation orientée objet

* Classes
* Namespaces
* Héritage
* Interfaces
** L'interface IDisposable

## Structure de données avancée

* Contrôles
* Énumérations
* Collections
* GDI+
[ Modifier le sommaire ]

## Application Windows Forms

Pour commencer à programmer en Visual Basic .NET, lancer l'interface choisie dans le premier chapitre et créer un nouveau projet de type Application Windows Forms.
Double-cliquer sur le formulaire vierge pour faire apparaitre son code dans un autre onglet, qui doit être une classe vierge :
Y ajouter la ligne suivante dans la fonction Form_Load (entre les lignes Private Sub et End Sub) :
En pressant F5 ou en cliquant dans le menu Debug sur Démarrer le programme, cela devrait afficher une boite contenant le message "Hello World!", qui si on clique dessus laisse place au formulaire vierge. On peut le fermer ensuite avec le bouton de croix en haut à droite.

## Application console

Ajouter un projet via le menu File, puis New, et Project... puis sélectionner Application console.
Ajouter dans la fonction Main :
Pour que l'exécution du programme ne déclenche plus le formulaire du paragraphe précédent, mais la console à la place, effectuer un clic droit sur la nouvelle ConsoleApplication1 dans l’Explorateur de solutions, puis Définir comme projet de démarrage.
Ensuite en pressant F5 la console se lance.

## Symboles de base

Tout comme en Visual Basic, VB.net utilise :
* ' avant les commentaires
* _ pour scinder une commande sur la ligne suivante
* : pour démarrer une nouvelle commande sur la même ligne.