The amount of crap we have to wade through is crazy.
I tried to follow the suggestions. WPF, Silverlight, UPF then XAML islands? But it's mostly a mess / trash. I feel like Silverlight has been sunset. WinRT stuff is gone? WPF - not sure.
Even weirder, they can't seem to get the designer working (this was what you could use to drag and drop control with way way back).
It's like billions are getting flushed down the toilet over at Microsoft. I've also tried using their HTML solutions / a somewhat similar mess - not sure even they have had any clue what they are doing for last decade.
Maybe the new hotness will be .NET MAUI?
WinForms itself is still around to this day, and Microsoft is actively updating and supporting it on the latest .NET versions. You can just pretend that none of that other stuff ever happened. I've been writing WinForms apps for 20 years, since the initial Visual Studio .NET beta. It still has that same high level of productivity that Visual Basic did.
The compile times are also excellent, the compiler itself is decently friendly with its error messages and the runtime itself lets you write code that feels safer than C++ in most cases. Oh, and it really comes with "batteries included" - you'll find components for everything from UI elements, to database access, to working with events and such.
Here's actually a large list of all sorts of software that has been created in it: https://wiki.freepascal.org/Projects_using_Free_Pascal
Now, the bad things. It's basically dead.
Sure, there are contributors who keep working and they do have a roadmap here: https://wiki.freepascal.org/Roadmap
However, there is no hype around Pascal, many people disliked the language for a variety of reasons. No one also seems to care much about its advantages for some odd reason, instead people are talking about Electron, JavaFX/OpenJFX, .NET MAUI/Avalonia or other new technologies that attempt to do what Lazarus did many years ago, with varying degrees of success.
Sadly, to me it seems like technologies live or die by how much hype there is around them and how many thousands of man hours people are collectively willing to put into them to create brilliance. And Lazarus doesn't have that anymore. Compare both the IDE, its approach to things, as well as Pascal nowadays with the likes of Rust - the latter gets hundreds of libraries created for it, thousands of tutorials and will have developers that literally grow up to like and use it. The former feels neglected in comparison, you won't be doing web development while utilizing super popular libraries that attempt to cover most concerns like Rocket (https://rocket.rs/) does. You also won't be interfacing with the likes of GraphQL, or even RabbitMQ, due to a lack of interest in developing libraries for those, as well as many other technologies. It might be a similar story for something like YAML or TOML. Nor will you find many good books and tutorials, maybe apart from this nice piece of writing: https://castle-engine.io/modern_pascal_introduction.html
{$mode objfpc}{$H+}{$J-} // Just use this line in all modern sources
That screams "lots of old cruft". Poking around the rest of that tutorial, I see crufty things like inheritance, manual freeing of memory, and a whole section on CORBA.I can't speak to why Pascal died, but I would guess that historical baggage is the thing that's preventing a revival.
After all, JavaScript didn't remove the function(){} syntax either when the arrow syntax was introduced. Moreso, React hasn't remove class based components either as of yet, even though we have hooks and function components now.
I actually find myself wishing that Java 8+ hadn't removed so much of the standard library without backwards compatible ways to reintroduce the logic, since now the transition from 8 to newer releases is a massive pain, especially because of migrating a 1M SLoC enterprise app is no small feat.
So yes, Pascal has baggage but it's not always a bad thing.
Felt like it was a similar "magic" to the older skool BASIC of the previous era.
Also:
Linus Torvalds allegedly said:
"I personally believe that Visual Basic did more for programming than Object-Oriented Languages did. Yet people laugh at VB and say its a bad language, and theyve been talking about OO languages for decades. And no, Visual Basic wasnt a great language, but I think the easy database interfaces in VB were fundamentally more important."
I still miss Visual Basic + WinForms
If you don't mind running Linux binaries in Windows, then take a look at GAMBAS, a solid, contemporary Object Basic VB equivalent:"VBLANK-synced animation with simultaneous multi-touch drags" was not a thing in the 80s, 90s and barely the 2000's. Now it's a basic requirement.
Plenty of other examples of features like this, which don't change the demo code for a "Hello, World" example, but have massive implications for the internal structure of GUI toolkits.
Also, there's more focus on cross-platform now, which adds its own complications.
We are talking about Windows now, and there is zero cross-platform compatibility in Microsoft's UI frameworks (unless you mean cross-architecture between x86/amd64 and arm32/arm64). It is against their interests and they will never do it, just like Apple.
And it doesn't matter what MS or Apple want or do, there are numerous cross-platform UI toolkits available, and there always will be, because a bunch of software developers are not going to play by their rules.
The problem with it is that they do everything ‘the right way’, which is not the easy way. So if you want to show a list of 10 things, you have to implement an interface that would still work fine if the list suddenly had 100000 things. Your documents are supposed to use an interface that has undo/redo all the way. Your interface is created out of components that have built in accessibility and internationalization support.
Nobody cares about that when you’re just building a basic app with one form. So getting started is hard.
Xojo is proprietary, free for non-commercial use, software platform that I'm told is quite similar to Visual Basic. I never used VB so I can't vouch for the similarities, but it looks similar. Usable on Linux, Apple, Windows, and also generates code for iPhone apps. I suspect its users are overwhelmingly Windows programmers and that windows is its native land.
Very easy to learn and use, nice IDE. Has all the common widgets/controls you've come to expect.
That said, I second the Lazarus recommendation, though my needs are simple enough that Tkinter suffices for me.