Delphi fylder 25 år

Illustration: Jesper Stein Sandal
Anders Hejlsbergs objektorienterede Pascal-værktøj er stadig i fuld vigør.

Programmeringsværktøjet Delphi fylder 25 år. Det var en stor succes i sin tid, hvor såkaldte Rapid Application Development-værktøjer til at bygge grafiske brugerflader i et designmiljø, var det helt store.

Her var Delphi et populært valg blandt programmørerne, sammen med PowerBuilder og Visual Basic. Bag værktøjet stod en ung Anders Hejlsberg, der kom lige fra kæmpesuccesen Turbo Pascal, som inddrog elementer fra andre sprog i Pascal-familien, såsom Modula-2.

Anders Hejlsberg var ikke engang fyldt 20 år, da han var med til at starte firmaet Polydata. Her solgte han sin egenudviklede Pascal-compiler til firmaet Borland, og så var Turbo Pascal skabt. Han slog sig siden ned i det vestlige USA, og det var også Borland, der var arbejdsgiveren, da Anders Hejlsberg skabte Delphi.

Ti år senere gik han videre til Microsoft og skabte først C# og senere Typescript. Dermed er Anders Hejlsberg den mest succesfulde sprogdesigner i programmeringshistorien - i hvert fald målt på antallet af udbredte og levende sprog.

I dag ejes Delphi af firmaet Embarcadero, der stadig udsender nye versioner af værktøjet. På firmaets hjemmeside kan man læse mere om historien bag Delphi.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (11)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Jonas Iversen

Er der nogen som vil anbefale Delphi i dag (vs. .Net/.Net Core)?
Og hvorfor?
Foruden Delphi giver fuld komileret binaries, hvorfor ellers?
.Net Core er vel også kommet en skridt nærmere med self-contained-halløjse (eller hvordan det nu er i >= 3.0).

Hvad med fremtiden, cross-platform support, komponenter, omkostning for udviklingsmiljøet m.v.?

Men kan jo komme meget lang med .Net for kr. 0.00 (desværre, kan man næste fristes til at tænke, det gir jo en lidt vanskeligt for konkurrence-situation for f.eks. Delphi)

  • 4
  • 0
Christian Nobel

Hvis man vil lave crossplatform udvikling, så hedder den moderne open source udgave af Delphi: Lazarus.

Lazarus er baseret på Freepascal og er meget slagkraftig.

Man kan kompilere til alle platforme, og de eksekverbare filer er lynhurtige.

Bedst af alt, der er faktisk et ret stort community, og et rigtig godt forum.

  • 6
  • 0
Michael Cederberg

Jeg har aldrig kodet Delphi eller Object Pascal. Jeg forlod Pascal efter Turbo Pascal, fordi jeg i ungdommens uskyldighed mente at C var federe og C++ endnu bedre.

Men Hejlsberg gav os Blue Label Pascal, Compas Pascal, PolyPascal, Turbo Pascal, Delphi og C#/.Net som alle rykkede udviklingen for softwareudviklere fremad. Jeg er ikke sikker på om der var en eneste ting i sprogene som var banebrydende, men fokus på udvikleren og features som gav gjorde livet nemmere og hævede produktiviteten gjorde alle sammen til hits.

Jeg husker engang hvor jeg forsøgte at kode noget i UCSD Pascal efter at have kodet Compas Pascal i et år. Det var ganske enkelt forfærdeligt, selvom det grundlæggende var samme sprog. Udviklingsprocessen tog 10 gange så lang tid fordi compileren var langsom, editoren var elendig og opdelingen i udviklingsmiljøet var håbløs.

Hvis man fx. kigger på C# overfor Java, så er det åbenlyst at C# er mere elegant. Det kan ikke undre at det er sådan, fordi C# kom efter Java men forskellene er vigtige og udvalgt fornuftigt fordi de gjorde sproget bedre. Få har haft så stor indflydelse på udviklerproduktivitet som Anders Hejlsberg og det skal han have tak for.

  • 6
  • 0
Knud Larsen

Delphi 25 year jubilee
Et fantastisk forløb og det er lang tid i denne verden.
Det er godt gået, og vi er mange der har haft glæde af både dette og forløberen Pascal.
Som lægmand skulle jeg udføre jelt andre opgaver som daglig aktiv. Jeg har været utrolig glad for den effektivitet Delphi gav en ’fritids-udvikler’. Fra at forbande off line udvikling med Fortran og Algol på en mainframe over en en udviklingsmodel med brug af et regneark, var det en lise at få et rigtigt progammeringsværktøj på egen computer. Med sit fremragende IDE miljø var det let at finde fejl, check af syntaxen skete med det samme og compileringen sker i pakker, så man ikke skal vente i minutter på at få oversat hele skidtet (som i C).
De særlig gode tilbud til udvikling af databaser gjorde let og hurtigt at lave noget ordentligt i stedet for alt det skidt, der blev baseret bare på et regneark enten det nu var Excel eller Lotus. Developer Express er ikke mindst en stor bidrager til denne udvikling og er det fortsat. APL var morsomt på mainframe men krævede jo et tastatur med græske bogstaver – hvorfor købte man ikke bare et græsk? Striben af programmeringssprog er uendelig lang, jeg formoder, at det er fordi enhver datalog med respekt for sig selv skal have sit eget. Men det er ikke produktivt – det der er brug for er værktøjer som andre end dataloger kan bruge og her ramte Delphi plet længe før Microsoft.
At det er blevet for dyrt for mig nu på hobby basis at beholde det er ærgerligt. Universiteterne kun bøjer nakken for verdens rigeste mand, så man kun lærer C (og dets søstre)
Ja så ser fremtiden ikke så godt ud. Der er en masse gratis derude (Python?), men fordi det er gratis er det ikke sikkert det er billigt for en virksomhed. Med deres RAD server og krydscompilering er Delphi fulgt pænt med på moderne krav til distant og remote (cloud) udvikling. Visual Studio er nu heller ikke ligefrem gratis, selv om der er mange brugere.
Men ellers har jeg downloadet Lazarus den ser ud til at kunne næsten det samme som en Delphi 7 og er gratis- med IDE og simpel database muligheder også.
Om 25 år kan verden se helt anderledes ud med kubernetes og devOps. Lige nu er C# kun nummer 4 på listen over populære sprog – og hvad menes, der så med det. (hvor meget bliver der reelt produceret med et sprog).

En stor hyldest til Thomas Hejlsberg

  • 4
  • 1
Christian Nobel

Men ellers har jeg downloadet Lazarus den ser ud til at kunne næsten det samme som en Delphi 7 og er gratis- med IDE og simpel database muligheder også.

"Simpel database"???

Nej, der er alt hvad der skal bruges af databaseværktøjer, og hvis man f.eks. bruger Zeoslib, så er alle databaser understøttet.

Og lige en anden ting - det er sådan set ikke så interessant at den er gratis, men at den er 100% open source.

  • 1
  • 0
Tylon Foxx

Der er fortsat en gratis udgave af Delphi i form af Community Edition:
https://www.embarcadero.com/products/delphi/starter

Jeg troede ellers Delphi var mere eller mindre dødt indtil jeg læste artiklen - og jeg må sige at jeg er venligt overrasket over at der er kommet en gratis mulighed så jeg ikke skal ty til pirateri igen. :D

Delphi var i sin tid min første oplevelse med at programmere da jeg var en 11-12 år gammel. Dog var det lidt en hindring for mig at jeg kun måtte bruge internettet en halv time om dagen til at finde kodestumper og hjælp (56k dagene, ak ja :D )

Det var ikke før en 5-6 år senere at jeg kom rigtigt i gang med programmering - først rodebutikken Java (i BlueJ IDE'en), så Assembly og så C# :)
Mit første "rigtige", brugbare program var en simpel klon af CPU-Z, som jeg lavede i C#

Jeg tror jeg vil gå i gang med Delphi igen, der lader til at værekommet rigtig meget kød på siden.

Er der nogen som vil anbefale Delphi i dag (vs. .Net/.Net Core)?
Og hvorfor?

Overordnet er .NET IMO bedre til hurtig udvikling, så længe det ikke er krav for dig at dykke ned i hardwaren. Skal du bruge adgang til hardwaren udenom fx. WMI, så kan det hurtigt blive ret bøvlet med VB og C# - Du skal fx manuelt lave DLL filer til hardwareadgangen via Assembly, C eller C++.
Delphi og en del Pascal-udgaver kan levere en mere direkte adgang til hardwaren, da du kan mikse Assembly ind i koden.

C# ønsker helst at du bruger de indbyggede Windows-libraries, bl.a. til WMI adgang - og ja det er også godt nok hvis du skal have basale informationer om hardwaren - men WMI har tre svagheder, for det første er det svært at hente informationer i realtime, for det andet er det laaaaaaaaaangsomt. For det tredje, er informationerne deri ikke altid "up to date", navnligt efter at have skiftet hardware.
Førnævnte CPU-Z-klon anvendte bl.a. CPUID-instruktionen, som skulle tilgås via Assembly (det var inden cpuid() kom i Visual C++). Instruktionen får, kort sagt, processoren til at sladre om alt fra navn, over cachestørrelse og spænding til hvilke instruktionssæt den kan køre.
Længe har jeg forsøgt at udvide min klon - men har siden måtte indrømme at C# bare kommer til kort når det kommer til at snakke direkte med ens hardware.
I mere erhvervsrettet øjemed kan sådan information om hardwaren bruges til at indrette et program til at optimere sin egen arbejdsgang så den udnytter hardwaren bedre.

IMO er Delphi også en god bro for moderne programmører at arbejde sig "tilbage" til ældre hardware - nogle af koncepterne og noget af syntaksen virker meget som C#, mens sproget har sine rødder i Pascal (som i sig selv er ret "moderne" i forhold til sin æra).
Det har lidt sin fordel hvis man samler på ældre computere - fx Amiga eller C64, som begge kan programmeres med sproget. ;)

  • 3
  • 1
Jan Gundtofte-Bruun

Tylon, er du mig?

Nej ikke helt -- da jeg startede som 11-12-årig var det med Macintosh Pascal v1.0, og det var før min far investerede i et 600/1200 baud modem så jeg kunne "dabble" lidt med BBS'er ... der var intet internet og ingen fora, kun mine to "language reference" bøger.

Heh, jeg husker hvordan det tog mig laaang tid at hitte ud af hvordan jeg kunne lave "if (a OR b") som een condition, det var ikke beskrevet nogen steder i bogen (jeg har checket sidenhen) -- men heldigvis har bogens omslag et screenshot med lidt kode som netop indeholder et OR! :headdesk:

Bonus: https://jan.g-b.dk/img/Macintosh%20Pascal%20v1.0.png

  • 1
  • 0
Christian Wang

Jeg købte Turbo Pascal i Anders' første butik/lokaler i en kælder på Strandboulevarden i Kbh. Og Pascal (nu Delphi) har været en rød tråd i stort set hele mit arbejdsliv lige siden. Bruger den stadig til at holde pensionist-hjernen nogenlunde klar :-))
Stort tillykke til Anders H !

  • 1
  • 0
Claus Waldersdorff Knudsen

Startede med Visual Basic da den kom; men skiftede lynhurtigt til Delphi da Delphi 1 udkom. Er nu nået til Delphi RAD studio 10.3 på arbejdet.
Et andet alternativ er Code Typhoon, der læner sig op ad Free Pascal og Lazarus; men har flere komponenter end Lazarus.
Jeg har lige startet et mindre projekt der skal køre på både Windows og Linux. Ren fornøjelse at arbejde med.
https://www.pilotlogic.com/sitejoom/index.php/wiki/84-wiki/codetyphon-st...

  • 0
  • 0
Log ind eller Opret konto for at kommentere