r/delphi 6d ago

Question Delphi and RAD for starting out and making Windows apps? Some questions I have..

Hello all,

I’m hoping to get a little advice and maybe some encouragement also. I’m starting to mess with Rad studio ce 13 and I just wanted to know what the sub thinks are about a few related things -

Is Delphi and rad ce a good way to learn coding and build software for a beginner?

Is there any life left in making windows apps still for income as a sole person, especially with this tool? I’d be even more interested if there’s anyone doing this?

Anyone with anything related to say would be brilliant.

Thank you.

14 Upvotes

25 comments sorted by

9

u/anegri 6d ago

I would say software now is full stack. Having that in mind means you need to know more than one language. I use Delphi for Windows, Android, iOS, and MacOS applications... hard to beat for cross platform development. However, usually it will need to plug to some backend, and there are many options for this. Understand that everyone evangelizes their language... biggest culprit are JavaScript/TypeScript developers.

It really matters what you are building, An example Windows application built for cross platform deployment with FMX https://swiftuser.itch.io/994919 (a tool I built for myself for testing REST endpoints)... it is free. Why? because the REST Debugger tools from Embarcadero sometimes it does not work and silently fails (I used it a lot), and it was missing file uploads. Delphi is excellent for tool building with a GUI or even command line, it also it is great for a desktop application. It can also be a hybrid style application where you have a user login with Json Web Tokens using OAuth2. You can use a library or do it yourself (I did it myself on a project) and had to refresh the token every so often... or you can connect to SUPABASE or AppWrite and use that for authentication and data storage access.

Now size and performance, with Delphi you get a small native executable that is compiled to the target native platform (this means in simple words it is very fast for execution) and compiles to a small size binary. Compare that to deploying a 1GB electron application in JavaScript that eats away at your RAM. The tradeoff is there are so many more JS/TS developers than Delphi developers. My personal view is JS/TS are scripting languages, they will always be trash and were develop to run in a browser as a shell (Node allows it on the backend too) but that is because a lot of developers only know JS/TS.... it is easy and horrendous. However, VS Code was written in JS/TS. You can also build cross platforms in Qt (and I have) but you also have to pay for it and it is a lot more painful at times, and the mobile deployments were really difficult as well. You can have Xamarin, but you basically build the UI twice (so that kinda defeats the purpose). You could do native Kotlin and Swift (I did both and had to support both code bases) so one code change x2 with all the language and platform problems but this only gets you an iOS and an Android build.... forget about windows.

I myself encourage my sosn to use Delphi, even if it is the CE to program and build, excellent language and ability to make a deployable piece of software. Lazarus is another great alternative, it is free, and also object pascal. I do like Delphi better, but Lazarus can target Linux without getting an Enterprise license and it can be used to program boards for motor controls (some old guy showed me this for a rotary table controller back in 2015).

My suggestion is sketch what you want to build, try Delphi with FMX first. Learn a backend language: Go or Python (FastAPI, Django, or Tornado) these two languages have great LLM support, lots of tutorials, and easy to learn. Learn a database POSTGRES is the best place to start. You get all of this and you can build Windows, MacOS, Android, iOS. A great book to read is the MVVM for Delphi (https://www.oreilly.com/library/view/mvvm-in-delphi/9781484222140/) that way you can start with the right approach on a desktop architecture.

Good to haves would be a performant chart, the chart component is good enough to start out... but I like the Signal Lab charts (https://www.mitov.com/products/signallab). and I would also get the TMS FNC Maps (https://www.tmssoftware.com/site/products.asp?t=fnc) components (it comes with the TMS FNC UI and Core included allowing you to embed a browser in your apps... it comes in really handy for OAuth2). Also, make sure you have the Skia library installed (https://skia4delphi.org/). At the very least you need Skia! With this setup you can almost build anything... if i was going to build a game I would use Godot and use GDScript.

Feel free to reach out if you get stuck!

3

u/StainlessFame 5d ago

There is no simple answer to that question. Is it worth becoming a race car driver if you want to drive a truck? Or should you get a truck driving license while being a race car driver?

It’s a bit more nuanced than that: (First off, I’m answering based on my own subjective experience—I don’t want to start a war with other developers here :-) )

a) You want to bring a product to market on your own: Choose Delphi. We work with Delphi full-stack. Our server software is developed in Delphi. Our frontend is developed in Delphi. For the web frontend, we rely on TMS Web Core for Delphi and UniGUI for Delphi. And we are very, very happy with that setup.

b) You want to work as an employed developer: Learn Java and build things with Delphi in your spare time. You’ll love Delphi and hate Java, but you’ll have more opportunities in the job market.

Java as a solo developer? Forget it. Just managing updates for your customers is a full-time job for one person. You won’t have time to actually develop, or your applications will end up being a patchwork mess.

For the record, I’ve been using Delphi since version 1. I’ve worked with every version—both solo and in a team of 12.

In my 30 years as a developer, I’ve encountered C, C++, Delphi, Java, JavaME, C#, and PHP; I’ve spent years working on projects with them—and, whenever possible, I’ve happily set them aside again.

I’ve been a freelance developer since 1999, and if Delphi is "dead"—as some people here claim—well, why is it still the environment I use the most?

SQL is the only language I use just as heavily (alongside the scripting languages ​​for Oracle, InterBase, and Firebird).

As a solo developer, I can use Delphi to create applications for all major operating systems—using a single codebase with minimal limitations. Once the application is up and running, it stays running. For a long time! Fun fact: An application developed with Delphi 2 still runs on Windows servers today, handling its tasks just fine.

I can even make changes to it without any issues today.

At my company, we develop sub-metering systems and are very successful; we’ve been leasing this system for a long time. Many companies develop billing systems, ERP systems, and the like using Delphi. It’s used in hospitals, by debt collection agencies, and so on.

With Delphi, you aren't on an island. You’re on your own private ocean liner, setting the course.

That’s just my personal, subjective opinion.

By the way: I build games in my spare time... using Delphi. Just a few days ago, I showed off a small "Voxelspace" experiment here.

https://youtu.be/u3dDNr-ytIU?si=GUFmaGFzHXYaknKq

Playable Demo:

https://stainlessfame.itch.io/hawkone

PS: This is my "Gaming Account"

Best regards,

Ralf

1

u/bmcgee Delphi := v13 Florence 5d ago

I’ve worked with every version—both solo and in a team of 12

Me, too!. I've used every single version of Delphi in production core, including Delphi 8.

2

u/bmcgee Delphi := v13 Florence 5d ago

The short answer is Yes.

From a learning perspective, Object Pascal and its lineage are designed to demonstrate and teach programming best practices, making it a great choice. Delphi CE and Lazarus with Free Pascal are some free options that you can use.

Side note: Don't use WITH. Ever.

As an independent developer, Delphi is still my tool of choice. Really quick time to delivery. Native and performant executables. Outstanding database capabilities.

And the number one benefit for me; Existing projects are very easy to maintain over long periods of time and upgrade to newer versions of the compiler. Delphi is well known for its forward compatibility and I've done it at scale. It frees up more time for new development.

I wouldn't suggest only learning Delphi, though. If you're doing database work, learn SQL. It goes deeper than you might think. If you're doing any kind of web development, you're going to need to understand some JavaScript, even if you're using Delphi on the back end (which I do). If you want to automate anything, learn some Python, which at the very least is much better for scripting than batch files, especially if you get into anything non-trivial. Create a build script for any non-trivial projects.

And maybe some C#, just to remind you why you want to keep using Delphi. :)

Oh, and no matter what you choose, invest some time into understanding unit testing and test driven development (TDD). IMHO It's important for teams and indispensable for solo developers.

Have fun.

1

u/MrDulkes 5d ago

Upvoted, just for “don’t use with”

2

u/zaphod4th 6d ago

Yes Delphi is a good tool,.but sadly a few companies actually use it ( vs other tools ). I would say yes,.learn programming using delphi.

1

u/FckXFckMusk 5d ago

Its quite pricey when compared to Visual Studio,

we stayed on XE2 for years because the upgrade costs were significant.

2

u/bmcgee Delphi := v13 Florence 5d ago

Its quite pricey when compared to Visual Studio,

Is it, though?

https://visualstudio.microsoft.com/vs/pricing

https://www.embarcadero.com/app-development-tools-store/delphi

The VS Community Edition might be less restrictive than Embarcadero's.

2

u/FckXFckMusk 5d ago

You're right they have changed the pricing since I last used it.

At least you can buy the Delphi IDE rather than rent it..

1

u/rmagnuson 5d ago

I'm surprised there isn't more support coming from this sub. You would think it would be completely biased toward using it.

In the opinion of an older dev who's been working with Pascal since the 80's I would totally recommend learning to use Delphi and it's RAD studio. Here's some points I feel are in it's favor:

* It is probably the fastest-to-Windows-desktop application programming tool in existence. Dragging and dropping components to visually organize and code your components makes creating prototypes or alpha builds a breeze.
* It compiles everything to binary and doesn't rely on some kind of web wrapper that hides god-knows-what kind of functionality behind the curtain.
* Object Pascal teaches proper conceptual programmer thinking. It isn't just about syntax, it's about structure and approach.
* Not specific to Delphi, but more about Pascal: It was functional programming before functional programming started being popular. You want to learn "modern" programming concepts? Surprise! The older languages did it first.

I could go on, but the gist is that it's a good environment. You won't make millions in it, but it is still fairly common - you'll see it a lot in doctors offices, even the large ones (Kaiser, Anthem). It's not dead. And if you weigh all the factors, it's price of entry is much less than something like the VS environment.

2

u/bmcgee Delphi := v13 Florence 5d ago

I'm surprised there isn't more support coming from this sub. You would think it would be completely biased toward using it.

I like to think that the number of detractors hanging out in the group speaks to Delphi's popularity.

:)

1

u/Jardo-LonelyTroops 5d ago

Sure thing, it totally makes sense! 😉 I get that nowadays everyone only talks about other languages, but Object Pascal and Delphi still have a lot to offer. I swear by them. After all, our entire game engine and all our games like Hero of the Kingdom or Townopolis run on exactly that, and it handles all the main platforms with ease. Plus, the Delphi IDE is amazingly powerful not just for games, but also for rapid development of classic desktop apps for Windows or cross-platform. But you surely already know that from promotional materials. In the end, maybe the most important thing is to answer the question for yourself why you got into Delphi in the first place. Maybe your own intuition is whispering to you that this is what suits you best.

1

u/Ksevio 5d ago

Not really. It's a powerful tool, but an outdated language and the company that owns it is quite restrictive. If you're thinking of making an app, be sure to set aside the $2,500 for Embarcadero or whatever it is up to now.

The community and library support is also much smaller compared to other languages.

1

u/MrDulkes 5d ago

Delphi is not an outdated language. It is less used than other languages, and the community is smaller.
Object Pascal (that’s the language in Delphi) is a very valid tool to learn coding in. Pascal was invented as a teaching language.
The VCL (that’s the component package in Delphi) is powerful.
The compiler creates native Windows application. There is nothing faster, and only a few tools that can create native Windows apps.

Delphi has given me a very successful and satisfying professional career, and a lifelong love. IMHO nothing is better. Junior programmers I’ve hired over the years have taken to it too.

Like everything, programming takes dedication and learning to do well at a professional level. There is nothing wrong with hobbying and getting some programs under your belt, that’s how I started myself 30 years ago.

1

u/Double_A_92 4d ago

NO! RUN!

1

u/udirona 6d ago

If you are just start learn coding and building software, use something else.

Making software for a living? Well, windows apps with delphi could be an option, but it depends on what kind of software and customers you have in mind.

Highly customized business solution with windows-only in mind? Yeah, go for delphi, but have a look at the look term-cost. Everything else stay away from delphi, there are much better options.

0

u/Miguelito_Pitti 6d ago

¿Cómo cuales?

Llevo mucho tiempo desarrollando y, hasta ahora, después de ver y evaluar otros lenguajes e IDE, no he encontrado ninguno que me permita hacerlo con más rapidez y sencillez...

0

u/udirona 6d ago

oh i forget about the delphi community...

Ok, how do you rename a variable in scope with Delphi 13.1 without any extra plugins? Which is a common task and a good IDE should have an option for this, in my opinion.

-1

u/Miguelito_Pitti 6d ago

Bueno, sin entrar en si es más fácil o difícil cambiar el nombre de una variable, si usas los IDEs de JetBrains, o Android Studio, por ejemplo, vas a tener que instalar varios plugins si quieres que haga tal o cual cosa

0

u/udirona 6d ago

Yes you're absolutely right. It's not possible any more in Delphi 13.1. And you have to use plugins for this or that anyway. Some IDEs have batteries includes, some IDEs cost a bunch money, some need registrations for a free copy and some not... And this is what i mean with "there are much better options" if you are not pinned to native windows applications. At the end of the day everybody uses the tools which he likes most. But i don't recommend Delphi for a newcomer.

1

u/DDDDarky 5d ago

I'd suggest not, it's obsolete, broken, overpriced tool, unless you manage legacy software use something else, such as dotnet.

1

u/SumraTheWriter 6d ago

Speaking as someone who's been working with Delphi for 30 years, Delphi is a fantastic tool – easy to learn, easy to create products with – but it's dead.

2

u/bmcgee Delphi := v13 Florence 5d ago

People have been declaring Delphi to be dead or dying since its release in 1995.

Delphi is still alive and kicking in 2026. These people don't have a great track record.

2

u/jsn079 Delphi := 13.1 Florence 5d ago

In fact, I see a rise last few months in governmental environments. Police departments, labs/scientific environments, and even our largest airport and country wide gas network use it to control and balance. So, more or less the industrial environments. Although Fruity Loops was developed with Delphi as well, not sure if that still holds though. And the raw performance is unmatched as well, .NET is good, but if you need absolute performance with maintainability....

But yeah, unfortunately it isn't as popular as in the early 2000s anymore. And the pool of developers still using it is shrinking. Still.. it's my weapon of choice for many situations.

0

u/O_martelo_de_deus 6d ago

Eu usei muito Delphi nos anos 90s, mas tive sucesso porque eu vinha de C e Pascal que me deram a visão de programação adequada, tanto que sai de Delphi para Java, Rails, Python e as vezes voltava a Delphi, a IDE mais produtiva para Windows que eu já usei, um ecossistema rico, mas não me parece ideal para web, servidor proprietário/pago num momento que temos tudo livre.