[HN Gopher] Interview with Anders Hejlsberg on Delphi (1995)
___________________________________________________________________
Interview with Anders Hejlsberg on Delphi (1995)
Author : eatonphil
Score : 68 points
Date : 2021-12-10 18:46 UTC (4 hours ago)
(HTM) web link (www.theopenforce.com)
(TXT) w3m dump (www.theopenforce.com)
| eatonphil wrote:
| This interview was in the year before he left Borland for
| Microsoft.
| danzk wrote:
| It's interesting that he argued the case for only having heap
| allocated objects in Delphi considering C# has stack allocated
| stucts.
| TimTheTinker wrote:
| > Q. Is the compiler engine itself written in Delphi? How much
| does it differ from the Borland Pascal 7 compiler?
|
| > A. The compiler is written in assembly language.
|
| That's amazing to me. My first real language was Java, then Ruby,
| JavaScript, Python, etc. -- and only a smattering of C/C++ in
| college.
|
| I can't imagine building anything complex in x86 assembly, let
| alone a freakin' compiler!
| nrdvana wrote:
| It was by far the fastest compiler I'd ever used. A full 10x
| faster than their Borland C++ compiler, which was faster than
| gcc. Delphi didn't do as many optimizations, but the compiled
| code had runtime performance within a few percent of C, and the
| lightning fast compiles were worth it for productivity.
|
| It doesn't surprise me to hear it was written in asm.
| badsectoracula wrote:
| FWIW i wrote a small raytracing benchmark in C and Pascal
| (99% the same code just "translated") some time ago[0],
| mainly for comparing compilers for retrocoding and in my
| results Delphi 2 produced code that took around the 149% the
| time the Visual C++ 6 program took. Interestingly Borland C++
| 5 was slower, though it predates Delphi 2 (also i forgot to
| benchmark Borland C++ Builder).
|
| (note that this is from the second table where i check
| compilers that can generate code running on Pentium 1 Win9x -
| the first table was with whatever compiler i had installed on
| my PC at the time)
|
| Perhaps i'll try benchmarking it again some day, including
| running on actual older hardware.
|
| [0] http://runtimeterror.com/tools/raybench/
| nrdvana wrote:
| Well, yeah, maybe if you are writing ray tracers. The focus
| of Delphi was object oriented data structures (especially
| for UIs) not vector math, and there isn't a lot that the
| compiler can optimize when the function is packed full of
| method calls, which is why UI in Delphi was nearly
| identical performance to one in C++.
|
| Just to clarify, my main point was the speed at which it
| would compile the code, which was an order of magnitude
| faster than anything else.
| markus_zhang wrote:
| Back then assembly makes sense and many pieces of "large"
| software were written in assembly (or at least a critical part
| of them).
|
| Go back another decade and people naturally take assembly as
| the second language after they are done with BASIC. Those were
| teenage hobbyists. Machines then (Apple ][, C64, BBC, etc.)
| were much simpler and didn't have a lot of memory. It was a lot
| easier to wrap your head around it. Nowadays it's impossible to
| do so I think, unless you have a long track of assembly career.
| romwell wrote:
| A lot of paradigms in Visual Studio owe their heritage to Delphi
| because of Anders.
|
| If Delphi was open sourced, or heck -- if it had a free license
| for personal use, I would bet it would still be the dominant IDE.
| badsectoracula wrote:
| Delphi, C++ Builder, etc do have free licenses for personal use
| actually[0][1] and they had for a while. It is just that their
| license is only free until you have $5k annual revenue (the
| site's wording might sound as if this has to come from selling
| Delphi software but the actual license[2] isn't that specific).
|
| [0] https://www.embarcadero.com/products/delphi/starter
|
| [1] https://www.embarcadero.com/products/cbuilder/starter
|
| [2] https://www.embarcadero.com/products/rad-studio/rad-
| studio-e...
| FullyFunctional wrote:
| Anecdotes:
|
| Anders is a bit of a childhood hero of mine.
|
| I got the BLS Pascal 1.2 and the shock of coming from line-based
| interpreted Microsoft BASIC to full-screen editor with lighting
| fast compiler in three keypresses (Ctrl-X, C, Return) is hard to
| describe. (Full-screen editing and compilation representing two
| quantum leaps).
|
| Studing the internals of the BLS Pascal (Z80, Nascom 2) literally
| boggled my mind with the genius of the code which was unlike any
| other Z80 code I had read.
|
| I was fortunate enough to meet the still young Anders at the
| "Herningmesse" where he was demonstrating Compas Pascal (running
| a Maze generator to attract eyeballs). He was very nice but I was
| too shy to ask the really good questions :)
|
| I'm still actually chasing this. I have never managed to get a
| _working_ version of BLS Pascal 1.3 but I know it exist (help
| would be most welcome - the one Google find you is corrupted).
| okareaman wrote:
| For an update: Talking with a legend - interview with Anders
| Hejlsberg
|
| https://www.youtube.com/watch?v=K3qf8gRFESU
|
| His brother interviews him. He gets philosophical about some
| things as he is older and says he will never work at the
| corporate office again. I enjoy Anders presence, which all great
| programmers seems to share, which is a certain calmness and
| reasonableness about code. I really appreciate his contributions
| over the years.
| eatonphil wrote:
| What a beautiful interview, thanks for sharing.
| cxr wrote:
| See also: A Conversation with Anders Hejlsberg [about C#]
| <https://www.artima.com/intv/anders.html>
| okareaman wrote:
| Another really great video is Anders and Lars Bak around the
| time Typescript and Dart came out (about the same time.) In
| this video Anders explains to Lars why TypeScript will win the
| race to fix JavaScript's drawbacks. Lars was really happy with
| their Dart VM (as he should be) and didn't really want to hear
| how TypeScript would prevail. The thing about Anders is that
| he's usually right and he was.
|
| Anders Hejlsberg and Lars Bak: TypeScript, JavaScript, and Dart
|
| https://www.youtube.com/watch?v=5AqbCQuK0gM
___________________________________________________________________
(page generated 2021-12-10 23:00 UTC)