Delphi

Si vous débutez en programmation le langage Delphi est parfaitement adapté. En effet ce langage en basé sur le Pascal avec une sur-couche Objet et quelques spécificités Borland (son éditeur).

Une petite remarque en passant:
A mon humble avis le critère principal de choix d'un langage si ce n'est ces quelques pourcentages de vitesse d'exécution qui vont différer d'un langage à un autre. C'est le nombre d' erreurs que l'ont va faire en utilisant le langage!
Je m'explique:
Avec un langage très performant et avec la complexité qui va avec: on va faire beaucoup d'erreurs on en trouvera un certain nombre mais c'est l'utilisateur final qui trouvera les autres. Ainsi pour lui permettre de gagner quelques microsecondes quand il clique sur un bouton (que l'on peut largement regagner avec un PC correctement entretenu) il va en perdre beaucoup plus à cause d'erreurs dans le programme.
Ainsi le choix d'un langage et de son interface de développement(EDI) dépend de votre niveau mais surtout s'il est adapté à votre Projet.(Les outils ne sont pas les mêmes suivant ce que l'on a développer)

Le Delphi est bien adapté pour la programmation d'application de "type bureautique" : les applications classiques que vous utilisez sous Windows, qui pourront être porté (contre quelques précautions) sous Linux grâce à Kylix: l'une des rares solutions de portage Windows - Linux pour tout un environnement de programmation. Le langage C (C++) est certainement un des langage qui peut être compilé sur le plus de machine possible mais essayer de porter un projet Visual C++ sur une autre machine.

Le Pascal:
C'est un langage très structuré. (Trop certain diront mais quand on programme peut-on l'être ?).Même si cela peut être contraignant quand on sait ce que l'ont fait, pour débuter c'est l'idéal : Ca apprend à programmer de manière rigoureuse.
Et cela permet de faire des compilateurs très rapide (même si c'est de moins en moins un critère de sélection).

Une Couche Objet:
Maintenant la plus part des langages de programmation sont des langages dit objet c'est à dire que on peut regrouper dans une sorte de super variable, plusieurs variables (rien de neuf) mais aussi les méthodes(procédure et fonctions) qui s'y rapportent. C'est le principe de l'encapsulation. Pourquoi faire?
Tout simplement pour ne pas avoir à passer des dizaines de variables à une procédure, on passe que les variables qui ne dépendent pas de l'objet. Ainsi on risque moins de ce tromper et cela fait des bugs en moins. En réalité le compilateur passe en plus de des variables normales la super variable à la fonction.
Cela permet aussi de "factoriser" le code grâce au principe de l'héritage: un objet qui est une spécialisation d'un autre va pouvoir hériter de toutes les fonction de l'objet le plus général.
De même mettre les méthodes dans l'objet peut être très intéressant. On obtient ainsi un objet dont les fonctions s'adapte au contexte (ou à l'object) dans lequel on l’utilise!
C'est ce que l'on appel la généricité.

Une programmation évènementiel:
Le principe est de créer des boutons, des menus, des symboles,... divers éléments qui constitue la partie graphique que l'on connait d'un programme et de leur associer une action: Quand l'utilisateur clique sur ce bouton le programme fait une action, un autre bouton une autre action,...
Ceci permet de donner une grande liberté à l'utilisateur!
Mais cela rajoute une contrainte au programmeur: en effet là ou dans un programme classique chaque action était effectué dans un ordre bien défini (c'est vous qui choisissiez) ici c'est l'utilisateur qui le fait et rien n'est plus imprévisible qu'un utilisateur! A vous de prévoir tous les cas!