web-dev-qa-db-fra.com

Quelle est la façon la plus simple / la plus efficace d'apprendre Delphi?

Je suis totalement novice en programmation et j'ai choisi Delphi comme langage de programmation que j'aimerais apprendre.

Je veux essentiellement créer des outils qui rempliront et soumettront des formulaires Web à l'aide de sockets et je veux qu'ils soient également multithread.

J'aimerais qu'ils soient riches en fonctionnalités et fonctionnent correctement.

Je ne suis pas vraiment pressé de le faire car je comprends qu'il faut du temps pour devenir efficace dans tout (en particulier la programmation). Cependant, je veux emprunter le chemin le plus court possible pour apprendre.

S'il était possible, j'adorerais aller à l'école pour apprendre la langue, mais il semble qu'il n'y ait aucune école aux États-Unis qui l'enseigne.

J'ai trouvé pas mal d'informations sur Internet qui m'ont aidé à acquérir des connaissances de base sur le fonctionnement des choses à l'intérieur du IDE et comment créer des applications de base, mais je veux pouvoir construire vraiment de bonnes applications que ces tutoriels ne m'apprennent pas à faire.

Alors .. Ma question est de savoir comment puis-je devenir un programmeur Delphi expert sans avoir de "Real Teacher" pour me guider? Comment avez-vous appris?

Est-ce que l'apprentissage d'un autre langage de programmation avec l'aide d'un enseignant et de leur retour sur delphi aurait du sens?

34
Gary Becks

L'ancien chef de produit Delphi Nick Hodges a créé 30 démos vidéo ciblé pour les nouveaux utilisateurs de Delphi et du langage Object-Pascal MISE À JOUR 2017 : Ce lien est mort, les vidéos sont désormais accessibles merci à archive.org ici .

Les vidéos emmènent le spectateur à travers les bases de l'IDE, de la langue, et chaque démo s'appuie principalement sur la précédente afin de créer finalement un éditeur de texte GUI pas trop minable.

Si vous êtes nouveau sur Delphi, c'est un super endroit pour commencer avec la langue et je vous recommande fortement d'investir du temps et de regarder les vidéos. Je les ai tous vus et cela m'a beaucoup aidé.

Les démos vidéo utilisent Delphi 2006, mais ces démos sont entièrement valables sur toutes les versions plus récentes (et probablement les anciennes versions de Delphi). Voici les sujets traités dans les vidéos:

REMARQUE: si les vidéos ne sont plus accessibles sur la page initialement hébergée, vous pouvez toujours les obtenir à partir d'archives.org: https://web.archive.org/web/20130630143102/http://blogs.embarcadero .com/nickhodges/2006/08/15/26687

Téléchargez le fichier Zip pour chaque sujet, qui contient la vidéo de ce sujet.

  • 1 - Introduction à l'IDE
  • 2 - Bonjour tout le monde
  • 3 - Développement d'applications de base
  • 4 - Introduction à la langue
  • 5 - Plus d'introduction Lanugage
  • 6 - Manipulation de chaîne de base
  • 7 - Types de données de base
  • 8 - Ensembles
  • 9 - Tableaux
  • 10 - Dossiers
  • 11 - Données de base
  • 12 - Classe simple
  • 13 - Procédure et fonctions
  • 14 - Unités
  • 15 - Héritage
  • 16 - Polymorphisme
  • 17 - Pourquoi OOP
  • 18 - Propriétés
  • 19 - Visibilité des membres
  • 20 - Constructeurs et destructeurs
  • 21 - TurboPad: À propos de Box
  • 22 - TurboPad: ouverture de fichier
  • 23 - TurboPad: Menu Fichier
  • 24 - TurboPad: enregistrement
  • 25 - TurboPad: Menu Édition
  • 26 - TurboPad: barre d'outils
  • 27 - TurboPad: retour à la ligne et polices
  • 28 - Modèles dynamiques
  • 29 - Refactorisations
  • 30 - Débogueur

Et une fois que vous aurez parcouru les vidéos, rendez-vous sur le site Web Delphi Basics et ajoutez-le à vos favoris. Sérieusement, j'utilise encore ce site environ 10 fois par jour pour référence sur Delphi.

Je recommanderais également de lire delphi.about.com 's " A Beginner's Guide to Delphi Programming ", qui est une belle introduction à la programmation Delphi.

En outre, l'OMI, pour la ressource la plus importante (et la meilleure) pour l'apprentissage de l'API Win32 est Mark Russinovich Windows Operating Systems Internals Curriculum qui est offert gratuitement.

Il est conçu pour être utilisé par un instructeur pour enseigner aux élèves. Je l'ai traversé et c'est génial. Plein d'exemples, d'histoire et d'explications détaillées. À mon avis, c'est un moyen idéal pour apprendre l'API Windows.

43
Mick

Il vous suffit de programmer tout ce qui vous semble amusant, de résoudre les problèmes à mesure qu'ils surviennent et vous deviendrez éventuellement un expert.

Il y a trois conseils à retenir.

  1. Si vous rencontrez un problème trop gros pour être avalé en une gorgée, divisez-le en petits problèmes et résolvez-les un par un.

  2. En cas de doute, choisissez toujours la solution la plus simple, puis effectuez la mise à niveau selon vos besoins.

  3. Google sait tout. Si vous ne savez pas quoi chercher, lisez la théorie jusqu'à ce que vous le sachiez.

Par exemple, vous dites que vous

je veux créer des outils qui rempliront et soumettront des formulaires Web à l'aide de sockets et je veux qu'ils soient également multithread.

Divisez cela en petits problèmes. Vous n'avez pas besoin du multi-threading dès le départ, alors mettez-le de côté. Votre tâche initiale consiste simplement à apprendre comment soumettre des formulaires.

Comment faire ça? Faites le tour de Google, lisez des articles Wikipedia sur HTTP et tout ce qui s'y rapporte jusqu'à ce que vous en connaissiez les bases. Vous n'avez pas encore besoin de comprendre des détails particuliers, seulement pour obtenir des concepts généraux sur les composants et leur relation.

Choisissez ensuite la solution la plus simple. Vous ne voulez pas utiliser de sockets dès le départ. S'il existe des composants prêts pour l'envoi de requêtes HTTP, vous devez les utiliser jusqu'à ce que vous sachiez faire la même chose manuellement.

9
himself

Je suis un programmeur autodidacte. J'ai commencé la programmation à l'âge de 12 ans, lorsque j'ai mis la main sur Delphi 4 Personal, qui était distribué gratuitement dans les magazines informatiques. (Oui, c'est essentiellement pourquoi aujourd'hui je suis un expert Delphi . Rétrospectivement, donc, c'était une décision tactique très fructueuse de Borland de faire un Personal Ils ont sûrement eu un très grand nombre de développeurs de cette façon.)

J'ai tout appris en étudiant des exemples et par essais et erreurs. Cela a pris plusieurs années, mais cela a sûrement fonctionné. De plus, comme Delphi est un compilateur natif Win32, pour maîtriser le développement Delphi, vous devez maîtriser le développement Win32. Une ressource inestimable est alors MSDN et les livres de programmation Win32 généraux (tels que The Old New Thing par la légende Microsoft Raymond Chen). N'oubliez pas non plus qu'il existe un certain nombre d'intéressants bons blogs Delphi .

Aussi, pour pousser plus loin en tant que programmeur , vous devez vous entraîner sur des choses "dures".

5
Andreas Rejbrand

Il y a quelques années, j'ai essayé d'apprendre Delphi, puis j'ai abandonné ma frustration. J'apprenais par moi-même et j'ai eu du mal avec les documents incomplets et les quelques livres actuels. Rétrospectivement, les livres obsolètes n'étaient pas aussi problématiques que les livres les plus récents, car les livres les plus récents sont écrits pour un public qui connaît à la fois Pascal et Delphi et omettent donc beaucoup d'informations cruciales pour le débutant. Je travaillais sur le portage d'un projet VB6 et j'ai fini par utiliser .Net qui était plus familier étant donné mon expérience en VB et Java.

Tout récemment, j'ai dû écrire un petit utilitaire rapide qui avait besoin de fonctionnalités Win32 directes et j'ai pensé que ce serait un bon projet pour Delphi. Petit, rapide, Win32. J'ai dépoussiéré ma licence et j'ai recommencé à fouiller. Dans les années qui ont suivi, j'ai appris quelques langues de plus et j'ai été moins perplexe par la syntaxe Pascal que ma précédente tentative. En quelques heures, j'avais terminé ma tâche et j'ai décidé d'essayer d'en apprendre un peu plus.

Jusqu'à présent, j'ai été vraiment impressionné par le Guide du développeur Delphi 5 . Cela m'a ouvert les yeux sur l'élégance de la VCL et de Delphi. Il existe des versions plus récentes, mais je pense que celle-ci est peut-être la meilleure car elle traite d'une version de Delphi avant le projet Kylix aujourd'hui disparu. Les livres écrits pour la version 6 à 2006 passent beaucoup trop de temps à décrire Kylix ou Delphi.Net, tous deux morts et inutiles pour passer du temps à apprendre. Les livres Delphi 5 sont également aussi longs que les éditions ultérieures, mais passez toutes ces pages sur les fonctionnalités Win32 de la VCL et quelques tutoriels très précieux sur Pascal (ce qui est pratique pour ceux d'entre nous qui ont traversé nos années scolaires sans apprendre Pascal) .

Comment apprenez-vous les nouveautés qui se sont produites depuis Delphi 5? Je pense que les courts livres de mise à jour de Bob Swart sont probablement les meilleurs. Vous pouvez les trouver ici . Beaucoup de gens aiment aussi les livres de Marco Cantu, mais personnellement, je n'ai pas trouvé ses livres très utiles.

Bonne chance! J'ai hâte de lire plus de suggestions.

4
gbc

Je veux essentiellement créer des outils qui rempliront et soumettront des formulaires Web à l'aide de sockets et je veux qu'ils soient également multithread.

Si je comprends bien ce que vous tentez correctement ... vous commencez à la fin dure ..

Je programme (applications Windows) dans Delphi depuis longtemps et ma première tentative de conversation sur un serveur http multi-thread (en utilisant Indy) a lamentablement échoué - cela a fonctionné (en quelque sorte) même à la première tentative, mais c'était vraiment misérable échec. Le multi-threading est donc "délicat" ou simplement difficile, peut-être.

Pour remplir et soumettre un formulaire Web - découvrez d'abord comment remplir le formulaire en ligne lui-même - cela vous renseignera sur ce qui se passe, vous pouvez le faire assez raisonnablement avec le composant TWebBrowser (je viens de le faire). Ensuite, déterminez comment appuyer sur le bouton Soumettre du formulaire en ligne. N'oubliez pas que vous aurez affaire à un processus qui vous est retiré et sur lequel vous n'avez pas le contrôle ultime. Bonne chance (vous aurez aussi besoin de persévérance).

2
Despatcher

S'il était possible, j'adorerais aller à l'école pour apprendre la langue, mais il semble qu'il n'y ait aucune école aux États-Unis qui l'enseigne.

Ici est une liste assez complète d'écoles qui enseignent soit ObjectPascal (Delphi) ou Pascal procédural. Si vous êtes inscrit en tant qu'étudiant quelque part, vous pouvez obtenir une licence académique pour Delphi XE Professional pour ~ 99 $. Gardez à l'esprit que vous ne pouvez pas développer d'applications commerciales avec la licence académique.

Alors .. Ma question est de savoir comment puis-je devenir un programmeur Delphi expert sans avoir de "Real Teacher" pour me guider? Comment avez-vous appris?

La syntaxe du langage n'est pas terriblement difficile à maîtriser, en particulier avec la tenue de main que la plupart des IDE vous offrent. L'apprentissage de la bibliothèque Delphi (RTL/VCL) prendra beaucoup plus de temps. Pas que ce soit très difficile (juste le contraire). Il y a tellement de choses à offrir. Je n'utilise Delphi que depuis environ 5 ans, mais je connais des développeurs qui programment dans Delphi depuis la version 1 et qui sont toujours surpris par des fonctionnalités dont ils ignoraient tout simplement l'existence.

Mais même l'apprentissage de la bibliothèque n'est pas ce qui distingue les grands développeurs des autres. Ses compétences en conception les plus difficiles à maîtriser. Savoir quand utiliser l'héritage et quand utiliser la composition. Savoir quand choisir le polymorphisme ou une instruction conditionnelle. Apprendre la conception et les modèles architecturaux et apprendre quand ils sont appropriés et quand ils ne le sont pas. Apprendre à passer de l'identification d'un problème à la mise en œuvre de la solution. Écrire du code facile à tester et à entretenir à mesure que de nouvelles exigences se présentent.

Vous pouvez apprendre certaines de ces compétences en lisant des livres ou auprès d'un mentor. D'autres ne peuvent s'apprendre que par l'expérience.

2
Kenneth Cochran

Si vous cherchez à devenir un expert en Delphi, vous devrez également devenir un expert en Windows ... à moins que je ne comprenne mal vos intentions. Deux excellentes ressources sont:

Vous devrez convertir des échantillons en Delphi, mais bon, c'est aussi une excellente pratique.

Comme je l'ai mentionné dans mon autre réponse, consultez le curriculum des systèmes d'exploitation Windows de Mark Russinovich qui est offert gratuitement. Vous apprendrez non seulement comment Windows fonctionne, mais c'est un bon cours de type "Systèmes d'exploitation 101".

2
Mick

J'appuie ce qui a été dit ci-dessus. De plus, je dirai choisir un projet non trivial et travailler dessus en Delphi! Un outil que vous vouliez avoir mais vous n'avez pas encore trouvé quelque chose qui répond exactement à vos besoins ou même quelque chose que vous avez déjà utilisé et vous voulez voir si vous pouvez développer quelque chose de similaire dans Delphi. C'est comme ça que j'ai appris Delphi ... (J'apprends encore. J'ai commencé à travailler à Delphi il y a environ 3 mois mais ce n'est pas ma première langue, donc une partie des connaissances a été transférée. . Vous avez également probablement entendu cela plusieurs fois, mais lisez un code bien écrit! Chaque fois que j'apprends une nouvelle fonction Delphi, j'essaie de prendre un peu de temps et de lire son implémentation et j'ai appris quelques choses de cette façon!

1
NicM

Il semble tout le monde ne peut pas être un bon programmeur (voir aussi commentaire de Joel ) car certaines personnes semblent avoir beaucoup de mal à comprendre les concepts de base comme les pointeurs et la récursivité, qui sont des indicateurs qui certaines compétences en résolution de problèmes sont déficitaires. Peut-être que vous êtes ce genre de personne, peut-être pas.

Cela dit, je pense que vous devriez d'abord apprendre l'abstraction des problèmes, la logique de programmation, puis au moins apprendre le but de base structures de données (tableaux, listes, dictionnaires, enregistrements, classes, arbres, etc.) et certains conception de logiciels de base (MVC, peut-être des concepts de conception orientés objet, etc ).

Dijkstra semble faire valoir qu'il vaut mieux être en mesure de comprendre pleinement le problème et de construire une solution avant d'écrire un code car, selon lui, cela conduit à un logiciel de meilleure qualité.

Obtenez de bons livres sur la programmation et les structures de données. Prendre des cours est également une bonne idée, peu importe qu'ils soient spécifiquement pour Delphi car les concepts de conception de logiciels ne reposent pas sur un langage spécifique et les connaissances peuvent être transférées d'une langue à l'autre.

Évidemment, vous devriez essayer de mettre en pratique ce que vous avez appris. Entrainez-vous beaucoup, mais essayez de vraiment comprendre ce que vous faites, et quand les choses tournent mal, essayez de comprendre pourquoi.

Quoi qu'il en soit, si ce que vous voulez vraiment est de créer une application, ignorez tout ci-dessus et adoptez l'approche par essais et erreurs.

1
Trinidad

Delphi est génial.

J'ai appris les outils dans une salle de classe aux États-Unis, au cours d'un cours de trois jours. Ce fut un énorme avantage et un grand début de saut.

Je suis ensuite revenu au bureau et j'ai commencé à écrire des programmes dont j'avais besoin et que j'utiliserais et continuerais à utiliser pendant un certain temps. J'ai constamment amélioré les programmes. Il est essentiel d'utiliser les outils que vous développez et de comprendre le point de vue de l'utilisateur.

Pour franchir la prochaine étape importante et devenir un grand programmeur, cela va au-delà de l'apprentissage des outils. Vous devriez avoir une éducation formelle pour apprendre certains des principes de base. Je l'avais avant d'apprendre Delphi. Cela ne signifie pas que vous ne pouvez pas les étudier par vous-même, mais vous ne pouvez pas les apprendre par essais et erreurs.

En savoir plus sur modèles de conception .

Tenez compte des meilleures pratiques. Essentiellement, l'utilisation des meilleures pratiques vous permet d'apprendre des erreurs des autres au lieu des vôtres. Si tout le monde fait quelque chose d'une certaine manière, c'est parce que la méthode s'est avérée fiable dans le temps.

Adoptez les principes communs de l'interface utilisateur. Si votre interface utilisateur agit comme tout le monde, l'utilisateur saura comment l'utiliser sans lire la documentation.

Apprenez les cycles de vie de développement de logiciels, tels que le cycle de vie de développement de système agile.

Vous devez écrire un autre éditeur de texte et l'utiliser. Vous devez également écrire des programmes qui font quelque chose que personne n'a jamais fait auparavant.

Écrivez quelque chose aujourd'hui.

1
Marcus Adams

Ces réponses sont excellentes et vous avez probablement obtenu suffisamment d'informations pour apprendre Delphi, mais je voudrais également ajouter certaines de mes solutions de formation. Il s'adresse au débutant absolu et s'appuie sur les connaissances acquises précédemment.

Liste de lecture de programmation Delphi sur YouTube: https://www.youtube.com/playlist?list=PLfrySFqYRf2dKxG1Xd1sJaEMtoVTeL5dw

Delphi Programming Helper App sur Softpedia: http://www.softpedia.com/get/Programming/Other-Programming-Files/Delphi-Execute-Files-Helper.shtml

Application de programmation Delphi sur le Windows Store: https://www.Microsoft.com/en-us/store/p/delphi-programming-helper/9mtrd2ptbvcp

J'espère que ceci vous aide.

0
Shaun Roselt