
Why I Choose Delphi - fenesiistvan
https://csvelocity.wordpress.com/2017/07/27/why-i-choose-delphi/
======
bruno2223
I still compile a old project in Delphi 7 once every 3 months just to add 5
lines of code, and they pay me monthly for it. It's cheaper than porting the
whole system to any other language.

It is a project that I've built 8 years ago. Delphi was already a "strange
think" on that time, it was declining fast. I think Java killed Delphi - "One
codebase for all platforms, even your freezer will have Java!" \- this was the
cool sentence on that time.

Since I started with Delphi when I was 14 (I am now 33), a lot of thinks
changed to me. Now I mainly work in back-end field, building APIs, Bots,
Crawlers and Queues to do massive things (like receive million SMS per hour in
a voting system for a TV Reality Show program)

When I am programming, 70% of my time is Nodejs, 10% Python and 20% Vuejs.

But I still miss the old days of drag-N-drop GUI of Delphi, really easy.

~~~
hdhzy
I wish I could upvote this several times. That's my exact experience as well.

I would like more people to experience what was the way of creating software
with Delphi, seamless and easy, really closing the loop between creating and
the resulting application and then look back at what unnecessary complexity we
are dealing with every day when working with software. (nb I think there was a
blog somewhere by one of Delphi's creators where they explicitly mentioned
that the language and IDE were designed to be simple to use).

If I will be teaching programming to my children I will dig up old
installation of Delphi 7 and just let them play.

~~~
Certhas
Absolutely. I did GUI programming with Delphi in high school, then haven't
touched it till now, and I am somewhat shocked how the ability to create
desktop (or web) GUIs today seems to lag so much behind how I remember Delphi.

Might be nostalgia speaking, but even if it doesn't lag behind, I'm pretty
sure it hasn't gotten better. I guess QT Creator actually comes close.

(Plus: Compile times were never ever an issue...)

~~~
pjmlp
The majority of tools for native apps desktops and mobile OSes (minus
deployment) still comes close to Delphi.

Now for the web, nevermind.

~~~
apta
I don't do desktop app dev, but what tools are there? I'm aware of .NET under
Visual Studio and NetBeans UI designer.

~~~
pjmlp
.NET has Windows Forms and XAML Visual Studio designer, and Blend for XAML.

Java has Netbeans Matisse for Swing, Eclipse WindowsBuilder for Swing and SWT,
Scene Builder for JavaFX, Android Studio designer. Not sure what InteliJ
offers.

Objective-C and Swift have the XCode GUI design tools, based on the NeXTStep
development environment.

C++ has UI designers for Qt/QML, C++ Builder, UWP/XAML.

Object Pascal has Delphi and Lazarus.

Xojo as Visual Basic dialect also has its own designer.

Commercial Common Lisp environments like Alegro CL and LispWorks also have
their designers in the tradition of Lisp Machines.

Smalltalk environments also have GUI designers.

These are just some examples that come to my mind.

------
omnibrain
The IDE is just so far behind the competition. Crashing all the time an slow.
Theming support ist very limited (to date). Delphi Code Insight
("Intellisense") is slow and sometimes just refuses to work and is generally
not on par with other offerings. Error Insight (the wiggly red lines thing) is
even worse. Delphi still uses a single pass compiler which makes for great
compilation speed but seriously limits the language constructs.

The pricing is just out of this wolrd. You get the impression that they try to
squeeze every last penny out of their existing user base.

People always say one of the main advantages of Delphi is programming of
database centric (CRUD) applications but compared to the SAP system it's still
inferior. I think the principle of RAD itself may be flawed/dangerous. Sure,
for small CRUD Apps with a single window operating directly with the db
components (Grid, and those "mapped" Fields) you will quickly have results and
it will work. But for larger Applications that all falls apart.

The trouble I see for Delphi is that the whole eco system is rotten. In my
perception there are only a hand full suppliers of components and libraries
left. Some of those components are barely maintained and even worse
documented. There is lots more knowledge and up-to-date examples available for
C#.

~~~
pjmlp
Now imagine being used to Delphi and C++ Builder, trying to search for similar
tooling on UNIX, back in the mid-90's.

The only options available were a few 4GLs that cost more than even Delphi
licenses are worth nowadays.

~~~
sirtaj
I came to Unix at that time with Delphi fresh in my mind (Delphi 1/2 IIRC )
and the only thing that showed anywhere near similar promise was Qt, though it
took a long time for it to get similar features in both the object model
(properties etc) and the UI builder.

One of the many things I loved about Delphi compared to other RAD tools of the
time was that it was the only one that supported and encouraged modular
separation of logic and UI. In most others (VB!), the IDE did nothing to help
you, and most people ended up with all their logic mixed into the UI code,
simply because the UI code was the focus of the whole IDE.

------
nurettin
Delphi 10.2 was advertised to support making Linux web services, so I decided
to put it to test. I created a Windows Apache module, added a Linux 64bit
target, added a data provider and a database connection. The idea is to
provide the database as a soap service on Linux to get a quick and cheap(!)
Data layer.

The provider plays nicely with the client dataset and let's you interact with
UI elements, sending automatic updates to the database through the soap
service.

So when I switched to the Linux build, I noticed that data provider component
in the components toolbar was disabled. That means it isn't supported on
Linux.

Tricking the IDE with a Windows project, placing the provider in a data module
and switching it to Linux target, I tried to get it to work on Apache. No
response from soap.

After a couple of hours of eyeballing and recompiling the provided Delphi
sources, I realized that the support is actually there, but there were some
programming errors such as not implementing the entire interface, and somehow
the memory manager behaved weirdly on Linux, causing another interface to go
nil while refcount still didn't reach zero.

All in all, Delphi makes it easy to build Windows applications, complete with
data layers and Model-view style. I just wish they would hurry up with the
Linux server support.

------
analognoise
I'm going to make the same comment that comes up every time I see Delphi and
Lazarus/FreePascal:

If you haven't tried Lazarus/FreePascal, you're missing out. It's really
amazing, and it's truly free.

~~~
jeffdavis
Can you give a couple examples that you think are amazing?

~~~
int_19h
It's amazing if you're into Pascal. You don't really need anything else. But
other languages advanced further these days.

That aside, one thing that I like about FP is their text-mode IDE. They
basically copied Borland's original Turbo Pascal (circa 7.0) IDE for DOS.
Except this one runs on Linux etc. And, of course, has a lot more features.
There's something about that TUI goodness that is hard to capture in modern
GUI IDEs - and then it's also blazing fast (you think Sublime is fast? ha).

------
skrebbel
I'm very sad that Delphi is so inaccessible for hobbyists. In some spare hours
I'm building a native app in Qt, but I'd have definitely built it with Delphi
if I wouldn't have had to cough up 3000 dollars just to get started.

In all frankness I don't get why Embarcadero doesn't copy Qt's licensing. If
they make a free GPL version, Delphi-based open source could thrive while just
about everybody who buys a license now would still be required to buy a
license.

~~~
SyneRyder
There's Delphi Starter Edition, which is free for freeware / personal use
projects, and 'free' for commercial apps until you've earned $1000 in total
revenue. (At which point, they want you to buy a ~$2000 license. Hmm.)

[https://www.embarcadero.com/products/delphi/starter](https://www.embarcadero.com/products/delphi/starter)

~~~
JohnStrange
That's the annoying thing. Why don't these companies say you can use it for
free or for cheap until you've earned 10000 in total, and then you have to buy
a license that costs _less_. That way you could put the money aside in your
calculations and it would be no problem. The DAW Reaper has this kind of
licence, you only have to buy the commercial version if you make more than
20,000 USD gross revenue per year.

It's the same with commercial CommonLisps, I'd love to use one, but the
pricing is ridiculous for small companies / hobby programmers. That doesn't
add up, you'd have to be 100% sure that you'll earn more than X dollars with
your application and you can never be sure of that.

------
Lerc
A number of years ago I wrote a remarkably similaly titled piece. Why I use
(object) Pascal.
[http://screamingduck.com/Article.php?ArticleID=43&Show=ABCE](http://screamingduck.com/Article.php?ArticleID=43&Show=ABCE)

But the truth is in the years since I have moved away and tend to use
JavaScript or Haxe for a lot of my projects. I'm learning rust for Non Garbage
collected projects.

Until a couple of weeks ago anyway. I'm working on an emulator for an 8 bit
Fantasy computer that uses an avr compatable instruction set. I recalled that
there was a avr target available for freepascal and gave it a go.

I had to build a trunk version of Freepascal with my own modifications to
support my Emulator. It has almost no run-time library. It's just the
language, and I really enjoyed using it.

Coming back to Pascal after using so many other languagese in between provides
an interesting perspective. You become more aware of the strengths and
weaknesses. There are now a few things I would change If I were to make my
ideal Pascal dialect.

------
phatbyte
I've always hated the Delphi ecosystem, awesome IDE, good-enough language, but
everything else sucked, specially if you are a young programmer with limited
money, you couldn't learn it unless you pirated it, even .NET had a free
version. Everything there had a price-tag, from the IDE to the third-party
libraries.

So yeah, everyone moved on from Delphi, it's currently on palliative care,
probably won't die any time soon, but it's becoming irrelevant as time goes
by. If it wasn't for this post I wouldn't even remember it. We have much
better technologies and IDE today. Good riddance Delphi.

~~~
jimbokun
Was a different business model from a different time, making money directly
off of selling good developer tools. Even Apple and Microsoft charged for
their development tools until relatively recently, I believe.

Now open source and vendor tools have completely won that space, and its only
possible to profit from developer tools indirectly. So not just Delphi, but
the entire associated business model has become irrelevant.

~~~
rootlocus
JetBrains makes the best developer tools I've used, and while they offer free,
community licenses, their more advanced tools still require a paid
subscription.

------
Johnny_Brahms
As someone who maintains an unknown but very large(several MLOC) free Pascal
code base, I must say that I can't see much reason in the Pascal hate.

Sure, I would love to rewrite the whole thing in Lisp (which is the language
that lets me keep my soul), but we are all in all still very happy with the
current code base.

A complete recompile is less than 20 minutes, and then about half that time is
spent in guile for macro expansion (we have a macro DSL). We have considered
porting it to chez scheme, but we rarely do full recompiles.

Pascal lends itself well to big codebase, but will probably never again be a
new cool thing. I do however believe that being able to test a big change on a
Dev machine in less than 10s gives us a pretty big advantage over similar
solutions in other languages.

~~~
flavio81
> Sure, I would love to rewrite the whole thing in Lisp (which is the language
> that lets me keep my soul)

A kind salute to you, fellow Lisper!!

However i've used Delphi in the past and found it a remarkably good language,
i wouldn't think to port something from Delphi to Lisp.

~~~
Johnny_Brahms
I would love to try, but I am only seeing oportunities atm. When I think
reasonably about it I know that it is a bad idea.

OTOH: We are now at a position where I am pretty sure we are a perfect fit for
Greenspun's tenth rule.

The amount of time we spent to make a large part of our code stateless is
mind-boggling. We now have the luxury of being able to copy the state of
almost 100% of the user-facing stuff and send it back home for us to test.
That would have been so much easier with something like Allegro CL.

I have actually implemented a pretty neat macro system in guile scheme that I
am in the process of cleaning up for an open source release. We write
parethesised, prefix pascal for our macros that gets expanded to regular
pascal (easy for most algol-like languages). Having a proper macro system made
it possible to remove _a lot_ of boilerplate, even though we primarily use it
to generate code that the compiler can optimize easier.

------
Animats
Free Pascal offers Delphi features.[1] Latest Delphi library release: Delphi
10.2 Tokyo (March 2017).

[1] [https://www.freepascal.org/](https://www.freepascal.org/)

------
Fischgericht
We also use Object Pascal extensively. We do high-level stuff (Win32, Android,
iOS) but also really hardcore low-level embedded stuff.

We use

\- Delphi 7 \- Delphi 10.2 \- CrossKylix
([http://crosskylix.untergrund.net](http://crosskylix.untergrund.net)) \-
CrossFPC ([http://www.crossfpc.com](http://www.crossfpc.com))

And are able to compile native code to a gigantic amount of platforms, all
from within a single IDE. Web stuff we also do, with ExtJS as a front-end.

If anyone is looking for a hardcore Object Pascal job in Germany, let me know
:)

~~~
i_don_t_know
I'm not looking for an ObjectPascal job (because I have zero experience with
it and I'm quite happy in my current position). But I'm still curious about
what you do.

How do you build for iOS, for example? I thought you had to use Xcode.

How do you convince clients that ObjectPascal is the right solution? That is,
are client concerned that you're not using Java/ C#/ C++? I've always thought
Germany was fairly conservative in this respect.

~~~
TomMarius
Most of the time, clients, and I mean directly the clients, don't even know
what a programming language is.

------
jmnicolas
Why I don't choose Delphi : 4000€ licenses...

~~~
wulfklaue
So simply use the free "freepascal / lazarus". You wallet will thank you
later. :)

------
oceanswave
Wait, is this a recent article? If so, this is a really great attempt at
humor:

"My colleague told me to abandon Delphi, it’s obsolete, Silverlight is the
future.”

~~~
systems
Not at all, the article is recent, but this interaction with his colleagues is
obviously old, and proves his point

delphi outlasted silverlight

honestly myself i was surprised by how easily and relatively fast microsoft
abandoned silverlight, i really liked their rad tool, lightswitch , but it
seems it was strongly coupled to silverlight, and got abandoned soon after it
was announced that silverlight will not be further developed

makes you think, you cant bet on a product, because it is supported by a large
company

~~~
pjmlp
Silverlight, like XNA, were victims of the usual WinDev vs DevTools issues.

Although that is a proper conclusion, the majority of successful programming
languages always had a corporate sponsor driving their adoption and
development, even the ANSI/ISO ones.

------
Mayzie
That library the author linked to target Linux, FMXLinux, costs $1500 to use.
And that's the problem with Delphi: its ecosystem. They are anti-open, anti-
share, and charge ridiculous sums of money - with questionable quality. There
is nothing like Pythons pip, Rubys gems, or Rusts crates, with a plethora of
free libraries.

It has been that way since well before I started using Object Pascal.

------
eikenberry
> Finally, I really enjoy programming in Delphi. Sure it has it quirks, is a
> bit verbose, shows its age, etc. but there is something fundamentally
> elegant about this technology, it is always a pleasure to code in. I feel
> happy when I’m using Delphi. If a tool makes me happy, does the job, that’s
> win-win.

People talk about the technology as if it can be objectively good or bad
instead of a medium that you find a connection with. He likes it, that's the
only reason for choosing it that really matters.

------
tariandbari
I've not used Delphi/Pascal seriously for over a decade... and then a month
ago, after being fed up with sublime/VScode/atom as my daily drivers for
developing python I decided to write my own editor. So I installed Lazarus and
within 12 hours I had a working editor which is so much FASTER than [put your
JS based editor here]

~~~
nkantar
Is your editor available somewhere? Even just screenshots would be neat.

~~~
tariandbari
It is still for personal use, but I really hope that by the end of the summer
I'll have something ready for public consumption

------
therealmarv
There was never anything wrong with Delphi as long as you staid in Windows
land. And even there I would say C# (from the same main guy) destroyed Delphi
because the interfaces to MS Office and DirectX etc. where much better and
much more advanced. For legacy systems I would say Delphi is even today a good
choice.

------
Cieplak
Since Delphi derives from Pascal, it seems appropriate to mention Project
Oberon, an awesome OS project that Niklaus Wirth (creator of Pascal) worked
on:

[http://www.projectoberon.com](http://www.projectoberon.com)

If you want to borrow the book, I have a copy in my office in SoMa (2nd and
Bryant).

~~~
badsectoracula
FWIW modern Free/Object Pascal is miles away from the principles of simplicity
found in Oberon. For example in Oberon a string is basically a series of
characters whereas in Free Pascal there is a refcounted copy-on-write string
type that keeps the string encoding and does automatic conversion (e.g. UTF8
to UTF16 or UTF32 or native codepage where available) where needed.

------
interfixus
I did an awful of Delphi in the nineties, but the closed nature and the lack
of portability failed to keep me interested in the long run. Lazarus/Free
Pascal, for some reason, has never really managed to ignite any passion, and
it's not because I haven't tried.

Except for the lack of IDE/RAD, a worthy present successor is Nim. There
really is no end to the potential of this clear, cool, concise, modern, fast,
and elegant language.

~~~
bobd
I still make heavy use of Delphi - a superb tool for fat client apps, but I
have to agree on Nim. The potential is enormous and I'll be using it
increasingly in the future.

------
xupybd
Yeah but isn't there a risk of losing support? I work in perl a lot and find
it's getting harder and harder to work with modern databases as the dbi driver
slowly get bit rot. Is there nothing similar going on in Delphi?

~~~
dejv
Delphi is a one trick pony. You should use it for writing desktop apps and
this area is not that dynamic anymore. For most databases there are bindings
or you can use ODBC drivers, for networking there is good enough third party
library. Rest of the things you need to code by yourself. There is not vibrant
conmmunity anymore, but you might be able to find some answers in old mailing
lists and such.

------
epx
I liked Delphi a lot, as I liked Clipper a lot, but technology moved on.

~~~
int_19h
dBase-derived languages in general were a lot of fun. And incredibly
productive, basically taylor-made for cranking out CRUD apps.

I do ponder sometimes why we don't have something quite like that these days.
Oh, people do try, but it's never that simple, and there are always a lot of
moving bits with plenty of friction between them. The ease with which I could
collect a bunch of data from a form and shove it into a record in a table
somewhere in FoxPro is still unmatched (remember SCATTER/GATHER MEMVAR?).

~~~
MycroftJones
I don't, but I'd like to. Most of the online documentation on Foxpro is old,
and doesn't convey the magic that I've seen happen with it. I'd love to see
some combination of Delphi with Foxpro, probably with LISP syntax and Qt
bindings. And a little bit of sugar from haskell and kona languages.

What made Turbo Pascal great was the help system. For every single standard
library function, it had a snippet of code that you could cut, paste, run, and
tweak.

~~~
int_19h
FoxPro also had a great help system, including context help with F1 for
whatever was under the cursor. It wasn't quite as good as TP, because it
didn't have true hyperlinked text - but it had a separate section in each
article just for links ("See Also"), and it had very fast keyword search, so
it was "good enough" in practice. And yes, also tons of examples!

------
taberiand
Does Delphi justify its cost? As far as I can tell, there are no free
compilers - seems like a pretty high hurdle when most languages can be used
for free.

~~~
bsder
> Does Delphi justify its cost? As far as I can tell, there are no free
> compilers - seems like a pretty high hurdle when most languages can be used
> for free.

The bigger problem is that you are stuck with whatever features Embarcadero
thinks are important.

For example, Delphi didn't have a 64-bit version for an _excruciatingly_ long
time. How many companies using Delphi got run over by a competitor during that
window?

At this point, if a language isn't open source, I simply won't use it. I have
been burned too many times on the proprietary front to ever give in on that
anymore.

~~~
skrebbel
Not to take anything away from the general gist of your argument, but why
would a company get run over by a competitor simply for not offering a 64-bit
build? This seems extremely far-fetched to me.

~~~
bsder
Not if your product is something like a CAD tool (see: Altium).

How many customers did Altium lose because a design was bigger than they could
handle?

------
chadcmulligan
For all you folk talking about pascal and so on, Delphi really isn't about the
language imho, it's about the components.

The VCL is Delphi's component model, and it just isn't available anywhere
else, if you've never used it, download the free starter edition and have a
look. You can make applications in minutes, you can make your own components
in Delphi as well and include them in the IDE, they look just the same as the
ones that come with Delphi. You can also buy commercial components. You can
make component editors that are included in the IDE to make things easier for
developers, it is really unique.

~~~
int_19h
It was unique when it first showed up. But on e.g. .NET, you already had all
the same stuff with WinForms back in 2002.

Indeed, WinForms is so similar to VCL, even when it comes to the overall
hierarchy (Object <\- Component <\- Control sound familiar?), you might look
at it and wonder if Microsoft hired someone from Borland to work on .NET back
in the day. Of course, it was only their chief architect. ~

~~~
chadcmulligan
Delphi still has an advantage over .net - no dependencies, you can ship a
single exe without worrying about dll's, which makes it great for sme's

~~~
nurettin
You can ship it as a single executable if you statically linked midaslib. Most
data processing needs that.

~~~
e12e
No need for the .Net-runtime on target computer? Or more like a runnable jar-
file that "only" depends on an installed jvm?

~~~
nurettin
Yes, to prove, get any crack exe and run pexplore on it. Very likely you will
see some Delphi dfm or list of units compiled into the constant area.

~~~
e12e
I think I misunderstood - I thought you meant there was a way to ship slim c#
exe files.

~~~
pjmlp
Yes there is, with .NET Core you just ship everything together, it no longer
depends on the installed runtime.

You can also AOT compile to a pure binary .exe with Mono or the ongoing CoreRT
being developed.

UWP apps are compiled to a static executable via .NET Native compiler (uses
VC++ backend).

------
arjo1
I just tried using Lazarus, I found it quite fun to use. I understand where
the author is coming for when it comes to RAD. It is extremely easy to use. It
feels like C# but compiles down to native code that runs on all platforms.

------
lasermike026
Why do people do this to themselves? You can't code in a vacuum. It's about
community strength and modernity. If you don't have both you are wasting you
time. It's like talking to a island cast away.

~~~
wambotron
What is about community strength? If he's creating applications and enjoys
doing it, why does it matter who else is using the same language? Worst case
scenario, he can translate libraries from other languages into Object Pascal,
but realistically it has a decent-sized community.

I don't see the modernity point, either. Object Pascal has modern features.

~~~
IshKebab
It matters because it affects how many third party libraries are available and
the number of other people that can understand and work on your code.

Object Pascal may have modern features, but that doesn't mean it is a modern
language - nobody is going to start learning it now. Only people that have
known it for years already will use it.

~~~
TimJYoung
Object Pascal is very similar to C# in many ways. It isn't like a developer
that has used Java or C# would have a hard time learning and understanding how
to use it.

Re: modern languages: a language having modern features isn't a modern
language, rather how popular it is _at this moment_ is the most important
aspect ? How did that work out for Python ? And where does PHP land using this
criteria ? Is PHP _better_ than Object Pascal because more people write PHP
code ?

------
kemonocode
Sadly, Embarcadero's chokehold on Delphi is what turned me off of it back
then, and still does nowadays. You could argue FreePascal/Lazarus is an
alternative, but it's really not the same.

~~~
mickronome
Agreed, I feel like the only real problem with Delphi was/is Embarcadero, at
least for many years after Borland exited the picture.

While one can argue about the pricing structure, the problem for me was that
how they act and communicate never felt in any way professional, at least up
until I left Delphi completely, it might have changed.

Even today, more than a decade later, their website retains the same feeling
of being built by the lowest bidder, seemingly without even hiring a
translator/copy writer that has command of English.

All of which feels super strange when you peddle a product for thousands of
dollars.

I have never seen anything better than Delphi and the VCL for building simple
and easily deployed Windows apps, most everything fails on that second part.
While it's a pity events took the turns they did, it's quite astonishing that
MS and all their competitors never managed to find a way to easily and
robustly deploy simple applications without the need for running an installer
or using complicated runtimes.

------
l04m33
I can't believe there are so many people starting to use Pascal/Delphi around
14.

I started at that age too. It was around 2002. I was told that a good way to
start on computers was to attend in local IOI competitions, and that's what I
did.

During the competitions, our team chose Pascal for its clarity. The official
IDE they gave us was Turbo Pascal, which was really a decent environment
(though I hardly realized this until I tried out other dev tools later). The
friendliness in Pascal/Delphi towards developers can really date back to those
days, and is laying deep in the language's genes.

Unfortunately, the previous "graphical" programs I wrote, before I got a hold
on Pascal, was some simple Logo drawing dots and lines. And I had a terribly
wrong impression that building GUIs are boring. So I skipped the chance of
digging into the Delphi world, until I was in college. But then the
Pascal/Delphi ecosystem was already decaying. I still feel bad for missing the
golden era.

------
nnq
Does anyone else have the impression the most of the advantages OP lauds
Delphy/ObjectPascal for are also present in _Go?_

...is there any nice cross platform desktop UI system for golang? (with an
actual user base... because these things have bugs that can only be find
through extensive real world usage unfortunately...).

~~~
tariandbari
I worked with both OP (ObjectPascal) and Go, and Go really catches much of the
spirit of OP. BUT Delphi is an IDE that was designed specially for making out
most of ObjectPacasl (and ObjectPascal has extensions to interface back with
the IDE) nothing in Go Ecosystem comes close to that

~~~
dvfjsdhgfv
But if someone saw the opportunity and decided to fill in that niche, I'd be
the first to spend my money on it. Make it cost $1000, it doesn't matter - a
modern language plus and excellent IDE it's something really worth spending my
money on.

~~~
TimJYoung
You're not going to be able to do it, at least not in the same way as Delphi.
Go lacks the complete OO and component functionality that allows Delphi to
provide its level of integration between the IDE and the code/components. It's
not just a language that was popped into an IDE, rather the IDE and the
language were created to work together as one, and it all revolves around
proper class support/RTTI.

Chuck Jazdzewski, one of the original developers that helped create Delphi,
did a series of blog posts that details some of the thought processes behind
Delphi:

[http://removingalldoubt.com/](http://removingalldoubt.com/)

We sell a Delphi-like IDE for web applications (Elevate Web Builder) that uses
Object Pascal, and the only other language we would even attempt to implement
with the IDE/compiler is C#. It's the closest in terms of features/behaviors
to Object Pascal, with the main difference being multi-cast event handlers
(delegates) in C#, which is really just a compiler-syntactic-sugar detail.

~~~
dvfjsdhgfv
OO in Go is quite peculiar, but not impossible. I'd even say you could quite
naturally code methods and properties of components, while events would have
to be a part of this particular implementation. In any case, I completely
agree: whoever decides to do it, they'll have to take Go's peculiarities into
account and instead of making an exact copy of Delphi in Go, create a new
project leveraging the specific features of Go and reflecting them in the GUI
construction in an elegant way.

~~~
TimJYoung
Yeah, my comment came off a little harsh. I'm not _discouraging_ someone from
creating a Go IDE like Delphi, I'm just saying that one should be prepared to
make allowances for what the language can/cannot do, given that one cannot
change the language. The original Delphi team had the enviable position of
being able to modify the language to suit the IDE, and vice-versa.

------
JohnTHaller
Fun Fact: The PortableApps.com Platform's menu is written in Delphi. We're
debating whether to stay with it or not, mainly due to the buy-in costs for
developers. We can either use no external bits and let people work with Delphi
Starter Edition (free, only for use with free/open source, 32-bit only, no
add-on support), convert to Lazarus (open source equivalent of much older
Delphi version with many newer bits added), come up with the money to pay for
a lot of licenses (unlikely), or rewrite in another language. It's a bit under
10k lines of code, so even a rewrite wouldn't be too painful.

It's also worth noting that while the linked article mentions Windows 7 and
up, the current version of Delphi 10.2 produces apps that also work under
Windows XP and Vista as well.

~~~
vram22
I've tried out PortablApps some time earlier, but only briefly, and did not
look into the infrastructure aspects. Are you saying that developers who
create portable apps need to use Delphi in order to be part of your platform?
And if so, why is that?

~~~
JohnTHaller
The main platform's menu is written in Delphi. The tools to package apps (both
the AppNamePortable.exe launcher and the installer they are then packaged in)
are written using NSIS. Developers packaging most apps can do so just by
filling in INI files without writing a single line of code. The utilities
include NSIS itself, auto-generate the code needed for the installers and
launchers, and automatically compile them.

~~~
dom96
Have you evaluated any other languages apart from Pascal/Lazarus? If Windows
XP+ support is the driving feature and you would consider a modern language
then please take a look at Nim[1], it features some Delphi/Pascal-isms so you
and your team may find it familiar.

I'm happy to answer any questions you may have about it.

1 - [https://nim-lang.org/](https://nim-lang.org/)

~~~
JohnTHaller
One of the main reasons we settled on Delphi originally is that it was a
relatively easy to learn RAD setup for GUI apps with a solid IDE to work in.
Nim seems to be command-line, kernel, and server-focused.

------
golergka
Last time I used Delphi was to build Knuth's Mix simulator in 2004, as a high
school summer project. Me and my partner didn't even know about VCS system and
used floppy disks to exchange code - and still, Delphi felt had this air of
outdated technology around it. May be it was fascination with mighty and power
C++ that so many beginner programmers have (before they learn to effective
instead of smart). May be - because Pascal was the first language they tough
as at school and it was much easier to understand than some Lisp dialect they
introduced later on. But even then, the system felt so easy, so un-exciting...

Which are exactly the feelings I search for today when I'm researching
frameworks and languages.

------
skc
I last used Delphi at varsity. I was the only student in my class that chose
it for my assignments and final year projects.

That period was the happiest time of my life as a programmer even though
relatively speaking I didn't know much.

More than anything else, Delphi was just plain fun to use.

------
Spearchucker
Pascal is still my favourite language (being the 3rd I ever learned), and its
syntax similarities with BASIC are why I prefer programming in VB.NET rather
than C#. Curiosity's been piqued though, might just have a look at Delphi...

------
sien
Does anyone use the Open Source Lazarus IDE?

[https://en.wikipedia.org/wiki/Lazarus_(IDE)](https://en.wikipedia.org/wiki/Lazarus_\(IDE\))

It has Object Pascal and a RAD setup.

~~~
vram22
In this same thread:

[https://news.ycombinator.com/item?id=14900486](https://news.ycombinator.com/item?id=14900486)

------
mihular
I really don't understand the "Components" chapter. XAML has both declarative
approach and components. Besides if anybody is into Delphi, there is also
RemObjects worth looking at.

------
NuSkooler
I used Delphi to create tons of both large apps and small utilities as a
teenager. ...admittedly, I uh "creatively borrowed" the package then (couldn't
even remotely afford it) and at the current price, I can see why people would
continue to do that.

With that said, I'd really like to check out Lazarus the next time I need to
create such a GUI utility or the like. ...and if the price wasn't crazy, I'd
be very tempted to try Delphi for some projects again.

------
mb_72
I love(d) Delphi, but commercial considerations - most significantly being the
availability of alternative developers if I (as the sole developer for my
customers) - mean I no longer start any new applications in Delphi and for two
clients converted their applications to C# / .NET. The .NET ecosystem these
days is an amazing thing in terms of development by MS / Xamarin, blogs,
tutorials, SO replies, libraries; the Delphi ecosystem is tiny by comparison.

~~~
pjmlp
If only they would make .NET Native available outside UWP as well (CoreRT is
still pretty much WIP).

I have also settled on Java/.NET as my TP/Delphi replacements.

------
linopolus
Oh, memories from the past..

Delphi 2005 was my introduction to computers and programming, first in a
course given by the local technical university, later in regular school.
Wasn't embarcadero back then, but Borland I think. Neckhold either way. I
liked how the development worked, and think it wasn't a bad environment to
first learn programming.

Anyway, that were years of fun, but I, as most, moved on..

~~~
xchaotic
Same here, I think it's a very nice system to learn programming with
(certainly nicer, more forgiving than c++)

As time went by I moved on to PHP and other things. Is there anything that
actually requires deep, low level OS hooks or anything like that, that would
justify a desktop client app, as opposed to a browser based app, running
locally (with web sockets and such?)

~~~
linopolus
> Is there anything that actually requires deep, low level OS hooks or
> anything like that, that would justify a desktop client app, as opposed to a
> browser based app, running locally (with web sockets and such?)

Mh.. A great user experience? In line with other made-with-love apps, which
fit in nicely into the OS?

------
craigvn
As an old Delphi developer myself I probably agree that if you are writing
desktop apps Delphi is hard to beat. But less and less people are writing
desktop apps now, and most apps can be written as web apps which users prefer.

------
Kiro
> Delphi is compiled to native code, so the performance is great. Without the
> overhead and inconsistencies introduced by a Virtual Machine (garbage
> collection, etc.)

Why aren't all compiled languages compiled to native code?

~~~
jannes
Interoperability.

Native code only runs on a single processor architecture: The one it was
compiled for.

Often you want your programs to run on multiple processor architectures
without compiling binaries for all of them in advance.

------
snarfy
Native Windows COM applications is one area Delphi was really good at. If
that's what I was building I'd probably use Delphi. That was Delphi 7 though.
I'm not sure where it's went since.

~~~
wila
The native Windows COM part is still good, you can create your own controls
very fast and integrate it with other Windows programming languages easily.

That part certainly has improved since Delphi 7.

------
flavio81
I used Delphi for a project in 2004 or 2003 and i recall LOVING it. It "just
worked". Nice times...

Pascal itself is a nice elegant language, although a bit verbose.

------
jfoc
Because Delphi is great. I started to using Delphi on 1996. Starting with
Delphi version 3. and Delphi 7 is most powerful version

------
nice_byte
I cut my teeth on Visual Basic 6 and Delphi 7 back in the day, and always
liked Delphi more for some reason...

------
ak39
Does Delphi's IDE allow undo/redo feature while developing forms based GUI
apps?

~~~
dvfjsdhgfv
It's been built in for a long time.

------
dmourati
Source for the Aristotle quote?

------
sharken
Why I don't choose Delphi : No Garbage Collection

~~~
chadcmulligan
Why I choose Delphi : No Garbage Collection :-)

------
Yuioup
Delphi is dead. Nothing to see here, move along.

~~~
christogreeff
Dead like COBOL?

~~~
peterburkimsher
Dead like Hypercard?

~~~
tonyedgecombe
I'm really surprised Apple hasn't come up with something in this space, not
everyone is a programmer but most people have things they could do with
automating a little.

~~~
striking
See AppleScript and Automator.

~~~
tonyedgecombe
They aren't really Hypercard though are they.

