[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)