TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

I come here not to bury Delphi, but to praise it (2019)

123 pointsby open-source-uxalmost 2 years ago

22 comments

rileyphonealmost 2 years ago
<a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20230821150934&#x2F;https:&#x2F;&#x2F;accu.org&#x2F;journals&#x2F;overload&#x2F;27&#x2F;153&#x2F;martin_2703&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20230821150934&#x2F;https:&#x2F;&#x2F;accu.org&#x2F;...</a>
malkiaalmost 2 years ago
I started with Turbo Pascal 3, Moved to 4, 4.5, 5, 6 then Delphi. Somewhere in there moved to &quot;C&quot; and then &quot;C++&quot;.<p>Couple of observations:<p><pre><code> - Using C (Borland or Microsoft) required two floppy disks - one for the compiler, one for the linker. With most of the Pascal versions you end up just needing one floppy disk, later it didn&#x27;t matter as we moved to HDD. - First &quot;terrible&quot; experience (by a friend) - he moved from Pascal to C and placed all his code in the .h-eader file, and was wondering why it takes so much to compile (oh, yes nowadays it&#x27;s fashionable to have header-only libs, lol), but then it was awful. - Pascal Units enforced you (as explained in the article) to figure out cyclic dependencies, unfortunately lots of us thought of this as a limitation, which C&#x2F;C++ did not had. How wrong we were! - There was barely any use of preprocessor (yes there was), and it was more into the language, than some external pre-processor. - Mark&#x2F;Release was superior, but also harder to understand the idea than plain old malloc&#x2F;free * Mark - &quot;Records the state of the heap in a pointer variable&quot;. * Release - &quot;Returns the heap to a given state&quot;. * So you can quickly release memory in one hop (like nowadays what json parser might need to do). - Turbo Pascal 3.0 was only 30-40kb - Even later Borland could keep up to a single disk. Assembly was approachable from it - Peephole optimization!</code></pre>
评论 #37214150 未加载
评论 #37216666 未加载
评论 #37212950 未加载
评论 #37212527 未加载
评论 #37212903 未加载
评论 #37216922 未加载
panki27almost 2 years ago
BEGIN<p>Delphi was what I had to use in my first apprenticeship&#x2F;job, over 7 years ago now.<p>Came home after the first day and my dad told me that&#x27;s what he made his first Windows programs with, too - but 25+ years ago!<p>After learning other languages, I still have to say it&#x27;s great for quickly putting together GUIs and filling them with life. The community is rather thin these days though.<p>END
评论 #37216561 未加载
superdiskalmost 2 years ago
I know he&#x27;s talking about Delphi here, but FreePascal+Lazarus is still one of my secret weapons. It has some sort of supernatural force field which causes people to ignore it and unfairly denigrate it; meanwhile I whip up desktop applications in hours that would normally take days.
评论 #37211978 未加载
评论 #37214295 未加载
评论 #37212206 未加载
评论 #37216406 未加载
评论 #37216912 未加载
评论 #37211838 未加载
smokelalmost 2 years ago
How is it possible that one man was responsible for the creation of Turbo Pascal, Delphi, C#, and TypeScript? [1] I don&#x27;t look up to many people, but here&#x27;s one.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Anders_Hejlsberg" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Anders_Hejlsberg</a>
评论 #37215641 未加载
unsubstantiatedalmost 2 years ago
Perhaps unknown to the HN community is that C# periodically gets Delphi features reintroduced in it in one way or another.<p>More recently, C# 9 and 10 have returned the concept of `records` (preferably immutable objects) along with the `with` keyword for making copies with some of the properties changed from the source to the dest object.<p>It has been an interesting decade watching HN metaphorically (and sometimes literally i&#x27;m sure) shift around uncomfortable in their chair as the all-encompassing-nightmare M$FT creates two languages that are more and more dominating of developer marketshare - C# and TypeScript.
评论 #37216282 未加载
评论 #37215869 未加载
评论 #37216522 未加载
ilytalmost 2 years ago
Well, to throw extra praise it ran GUI faster on the triple digit single core CPUs than near-any current JS abominations on quad digit multicore CPUs do nowadays...
ivanhoealmost 2 years ago
I keep saying this every time Delphi is mentioned, but it definitely deserves the praises:<p>Borland Delphi had the best and the most useful documentation&#x2F;help system that I ever used - and those were times before Google or even access to Internet for many of us, so reading manuals played a huge role in learning.
评论 #37220075 未加载
xamomaxalmost 2 years ago
In the early days of Delphi I considered it to be a huge competitive advantage in terms of productivity and speed against everything out there. As time went on, though, it slowly died, and it became increasingly difficult to find and integrate 3rd party libraries, or find developers to work in the system. The user interface aspects of it also became dated and difficult to make modern.<p>Too bad, as I really liked it, especially the language. I liked the AMIGA as well, which also was ahead of its time and seemed to suffer a similar fate.
评论 #37216803 未加载
sema4hackeralmost 2 years ago
Having started with FORTRAN in 1970, then discovering the beauty of IF-THEN-ELSE in PL&#x2F;I, then using ALGOL W in college, all made Pascal a natural successor for me out of school (first MacPascal on Macintosh then Delphi on Windows). Still using Delphi 6 for projects to this day.<p>What was&#x2F;is particularly nice about Delphi is the library of GUI objects, single .EXE output with no dependencies, and the ease with which arbitrary-length strings can be used.
Delphizaalmost 2 years ago
I started my career using Delphi and was part of the local community. Two of us worked on support for Borland products at the local distributor - I went to do more development and he joined the local Borland sales team. I was often attending product launches, and presented a few times myself. I recall presenting creating ActiveX controls in Deplhi, using a plugin, in front of an applauding crowd, probably about 2 years before VB could do the same.<p>Data binding to client-server databases was a big deal at the time, and data-bound controls such as grids and TreeViews (which we all thought were the future) were pretty cool. It was an exciting and productive time to build data-based (enterprisey) apps that customers and users loved.<p>I remember when Borland launched C++ Builder, which was C++ using the Delphi component library (VCL) and IDE. Everyone was very excited during the demo until build and run (F9?) when compiling started and in the demo, in front of a couple of hundred people, my friend had to talk for a couple of minutes until the app ran - something that would have taken seconds in Delphi.<p>In it&#x27;s day, Delphi was pretty cool.
mike_hearnalmost 2 years ago
The no-circular-dependencies rule was a huge pain though. It allowed the compiler to be very fast (along with it basically not optimizing), but no other language has copied this because combined with weak to non-existent refactoring tools it was just a constant pain to be hitting this limitation whilst developing. Sure, if you&#x27;re an architecture god who plans out all their internal interfaces in advance on paper it was OK, but I was 15.<p>Delphi could have potentially navigated into the web era quickly enough, but was slow to do so. It was essentially a Windows product at its core. They made a half-hearted attempt to port it to Linux but did so using Wine(lib) which back then was very rough, so Kylix had a poor UX and of course the problem was that the Delphi widget toolkit was the Windows toolkit which Linux didn&#x27;t have. IIRC it was also quite slow to even get things like an HTTP stack, which had to be produced by a third party company.<p>The focus on visual componentization back then was kinda great though. That&#x27;s definitely something that went AWOL somewhere along the line. The good database integration is also sorely missing in more modern languages and frameworks.
评论 #37214082 未加载
评论 #37212355 未加载
评论 #37215696 未加载
评论 #37214001 未加载
评论 #37213499 未加载
dveralmost 2 years ago
The quarterly Delphi posting, &quot;We will not go quietly....&quot;
评论 #37214122 未加载
treprinumalmost 2 years ago
If RAD Studio&#x2F;C++ Builder allowed building Linux desktop apps, I would have likely bought the architect edition. VCL is so much faster to develop than any other framework.
评论 #37218073 未加载
HumblyTossedalmost 2 years ago
Pascal is objectively verbose. But there&#x27;s something very aesthetically pleasing about the blockiness of it.
评论 #37219124 未加载
codazodaalmost 2 years ago
I was introduced to Pascal’s Turtle Graphics back in the 90’s. I thought it was cool but never had a real use for it; x,y seemed easier for some reason. I started drawing SVG’s for a laser engraver and suddenly I wish other languages had them. I even started to write my own but I don’t know the math (even though I hear it’s relatively simple). I may get back to that but I figured out that simple scaling gets me there by reducing the cognitive load of pixels.<p>I don’t know if this makes sense but I was feeling nostalgic for turtle graphics.
评论 #37252122 未加载
idlemindalmost 2 years ago
Also a great teaching language, as used at London Imperial College Electrical and Electronic Engineering dept. in the early 00s. Gave you lots of power but not too much, and enough rules to force you to learn without doing mad things. I have fond memories. And I miss the compilation speeds!
ddmfalmost 2 years ago
I started using Delphi back in the early 90s because I needed to send a &quot;catalogue on a floppy&quot; to customers of my parents.<p>At the time I&#x27;d used VB but the runtime was the size of a floppy on its own, and the catalogue data pushed it over the size. I remember reading that Delphi didn&#x27;t require a runtime and that was that.<p>I still use Delphi for LOB apps - so very quick to design a user interface and have a working program ready to roll out, for example so transport can update their haulier quickly, or the accounting software has a shoddy smtp implementation that doesn&#x27;t play well with our spam appliance so we create a tool that fires statements via mapi and let outlook deal with retries.
dvhalmost 2 years ago
$4400 per seat (of which $1000 is annual fee) for a windows-only product with zero job postings?
评论 #37219293 未加载
评论 #37215274 未加载
fregonicsalmost 2 years ago
I worked with Delphi in the beginning of my career, and the only thing I find myself really missing is the runtime type information! It worked really well and sometimes I find myself missing it in other compiled languages.<p>But I heavily disagree with the author&#x27;s positivity about Delphi in general.<p>The UI builder excels on wiring up small utilities, but when you are looking to build applications with more complex UIs, with custom components and&#x2F;or devices with different screens, the complexity increases exponentially and the UI preview becomes just a small suggestion, I think only in the last release (10.5) in 2022 they addressed this.<p>The component system is clunky, and very prone to breaking. In my entire time working with it I never once had a completely functional development environment, because components installation never had the same result. To work in some parts of the project i had to just ignore the IDE and edit the text files directly. Also, Delphi updates required reinstalling everything, and solving the many problems that would arise, and then all dev environments would have to be reconfigured (and troubleshooted) manually.<p>Talking about editing, the IDE&#x27;s performance is not very good, and the Intellisense is not asynchronous, the suggestions and error checking took their time to load, and the IDE becomes unresponsive while it processes, and sometimes windows would just kill the application because it was not responding. I had to turn it all off to be able to work. Oh.. And the bugs, the IDE had bugs just everywhere!<p>The above exposes a problem in the language itself, it did not have good asynchronous behavior, and I never understood it completely, the only way to make sure you would not block the main thread in some way was to spawn a new process to run background stuff.<p>The standard components are outdated, the WebView they used was Internet Explorer&#x27;s one until the 10.4 release, in 2021, they just recently started to adopt WinUI, so you were stuck with 00&#x27;s user experience, their JSON parser was not very standard (it didn&#x27;t support the number type, for instance). And when I searched community components to implement things I usually found only something very outdated and unmaintained, or just didn&#x27;t find anything.<p>I think essentially it had some quite good ideas in the beginning, but this is the important fact, it &quot;had&quot;. Delphi stopped improving on itself, and is just trying to convince the same community of people who fell in love with it when it was still good and dedicated their entire careers to it that they are cool now, adding things that sound cool, while nothing important really improves.
goodbyesfalmost 2 years ago
Hackers, programmers, coders, lend me your ears...
cthalupaalmost 2 years ago
Nitpick, but the title SHOULD be &#x27;I come to bury Delphi, not to praise it&#x27;<p>The whole point of Mark Antony&#x27;s speech is that he was, in fact, praising Caesar, despite the line stating otherwise. Flipping it around removes the entire impact of the speech.