Readit News logoReadit News
nolok · a year ago
For no specific reason other than life random offers I've gone through a few of those "dead and bad" reputational language in my career (VB6, Delphi, PHP), mostly as a case of "there is a lot of money being a decent programmer who can use these correctly".

And there are three things I learned about it

1. There is a lot more money in it than you would think. The good part of "there is a lot of newbie using it" is that there is a lot of newbie using it and tons of software in it out there, and once you prove you know what you're doing you drown in high paid work, and with a bit of job selection it's not the bad horrible maintenance kind but decent fun too.

2. There is no need trying to argue with people about it online or whatever. You're not going to convince anyone they're better language than they think. PHP 8 is a top notch language and people are still dumping on it using php 4 things.

3. Ultimately there are people who spend their time talking about what language is right and people who get things done, build something great and it doesn't matter if it's cpp or Javascript or whatever. So at the end of day I've made a fair bit of money improving or building stuff used by lots of people to generate tons of revenue, and everyone involved is happy about it.

AlienRobot · a year ago
I toyed with Lazarus a bit and I honestly think it's insane it's not more popular. Instant build times for GUI. You want to add a plugin? Press one button to recompile the entire IDE. You can recompile the IDE from GTK to Qt. With one button. I think I'd prefer it over Qt Creator, for example, for building GUIs on Linux.

The catch? I don't know Pascal, and there is no way to learn it. There are so many versions of Pascal that every tutorial you find will be about a different version. The GUI tutorials are for Borland Delphi, not Lazarus. There is no documentation or recipes for doing basic things, e.g. if you want to make a simple to do list CRUD that adds items to a list, you have no idea which widget is the correct list widget. Normally in this case you have a model-view list and a string list. Doing anything with lists that have columns is often a confusing nightmare, but and it becomes even more confusing with no documentation about it.

On the forums, the recommendation is to just press F1 in the source code editor to read the documentation for a function, but that doesn't help you when you have no idea what function you need to call, and you won't know it often. How do you append an item to an array, for example. How do you REMOVE an item. Is there a splice function? A remove function? Where are the dynamic arrays. Is there something like classes, and if not, how are you supposed to organize objects that you want to instantiate. How the lifetime of things work. Every time you ask "is this the correct way to do it using this tool?" you'll have no answers. How do you structure your project? It's completely different from how modern languages work and from how even C works.

KronisLV · a year ago
This seems like a decent starting point: https://castle-engine.io/modern_pascal

> Why: There are many books and resources about Pascal out there, but too many of them talk about the old Pascal, without classes, units or generics. So I wrote this quick introduction to what I call modern Object Pascal.

ags1905 · a year ago
We need more people to check out free pascal compiler and it's IDE Lazarus. The more you learn, the more you see they are excellent in many ways. https://www.lazarus-ide.org/
odie5533 · a year ago
Never heard of Lazarus before. I used Delphi back in the day. Now I want to again!
graemep · a year ago
I am in exactly the same position. It looks interesting but it seems very much oriented towards people who already know pascal and/or are maintaining legacy systems.
IshKebab · a year ago
> PHP 8 is a top notch language

Maybe the things they've added lately have been well designed, but did they ever actually fix the WTFs from PHP 4?

JavaScript has the same problem. They added `let` and `const` but never removed `var` or `==`. If you take a look at ESLint rules there are dozens of footguns that could have been fixed in the language. Not as bad as PHP's footguns, but still...

AlienRobot · a year ago
It's not possible to remove anything without potentially breaking backwards compatibility. Removing ANYTHING in Javascript would be a tremendously bad idea.

If webpages from 30 years ago stopped working because 2025 developers favor aesthetics and disrespect legacy, I'd be pretty angry.

stefanfisk · a year ago
I spend all of my working hours with modern PHP.

IMHO, although its improved A LOT it’s still a mess. But with the right tooling you can kinda-sorta make it behave like a sane language if you squint a bit.

deergomoo · a year ago
> but did they ever actually fix the WTFs from PHP 4

Depends what you class as a WTF. The older parts of the standard library are still wildly inconsistent in function naming and argument order, but that’s never going to change because it’s simply not worth the BC break.

But they’ve done a good job cleaning up the actually problematic bits of the language. Previous horribly insecure defaults like register_globals and magic quotes are long gone. And in recent years they’ve worked on tightening things up: many obviously incorrect behaviours have been promoted from notices or warnings to outright errors.

p_ing · a year ago
What is PHP good for these days? What does it do better as a metric than any other language?

It's easy to use, easy to get into for beginners, and is a requirement for WordPress. But performance? Flexibility? Some other random metric-word?

lordgroff · a year ago
PHP never did do a py2->3, but instead took the js route of adding things while being very cautious indeed if breaking compatibility.

I really have very little annoyance with PHP despite retaining some WTFs. In fact, with a modern language server and psalm I find it downright comfortable.

mschuster91 · a year ago
> but did they ever actually fix the WTFs from PHP 4?

If you have a background in C programming, most of the "wtf" is completely reasonable - the only thing "modern" and novice PHP programmers will still raise the WTF flag about is the standard library, mostly the string manipulation functions, their names and argument order. Old dogs know that this comes from early PHP being not much more than a thin wrapper around libc and various other C libraries.

Other than that, if you write modern PHP it's almost like Java, just without threads/concurrency in general, and without extremely braindead tooling required to get something built. PHP Composer is a breeze compared to Gradle, Maven and messing around with Tomcat, Glassfish and classpaths to get your application deployed...

jeroenhd · a year ago
Delphi is a funny one. Delphi applications certainly have a certain feel (and often instability) with them, but thanks to everything being a website now, they're incredibly fast and responsive compared to what we have now. Sure, they don't do fancy transitions and they look like someone wrote a Windows 8 theme for Windows 95, but when they work, they work.
neverartful · a year ago
"incredibly fast and responsive compared to what we have now"

Agreed! Also, typically far lower memory usage.

odie5533 · a year ago
Everything now is just a website in a bloated Chrome wrapper.
mschuster91 · a year ago
> I've gone through a few of those "dead and bad" reputational language in my career (VB6, Delphi, PHP)

It's been ages since I've last seen Delphi in real life - must be over 20 years ago by now.

But I'd not put PHP in the same league of "dead and bad" with it... yes, it's not the "hipster" language these days, that's been taken over by <insert JS framework of the day> in frontend, NodeJS in the backend and Go for "need to quickly cobble something together"... but it still powers dominant parts of the web. Obviously Wordpress, Typo3 and Drupal in the CMS area which power a large amount of individual websites, and then the large behemoths Facebook, Wikipedia and Fandom/Wikia.

AdrianB1 · a year ago
My brother build something quick and dirty in Delphi for his company in 4 hours, back in 2016. It was supposed to be a stopgap for 3 months until the real developers (he is in infrastructure, but used to write in Delphi 25 years ago) will write a "proper" app. 3 years later the developers said it will take 3 months for 4 people to write it, so they were denied. App still running today. Company with over 1 billion in yearly sales.
dalemhurley · a year ago
Hipster JS frameworks are making the mistakes PHP and VBScript discovered 20 years ago.
tonyedgecombe · a year ago
>But I'd not put PHP in the same league of "dead and bad" with it.

It's dead to the extent that you are unlikely to start a new project in it but I wouldn't classify it as bad. It's just of it's time.

kijin · a year ago
The great thing about working with a non-hipster language or framework is that everything is incredibly stable. There's no need to worry about the latest update breaking something, or argue about which design pattern is more correct. All the tooling has been battle-tested for 10 years and will be supported for another 10 years. You just follow established best practices, build things, ship them, and focus on business.
mvdwoord · a year ago
I have had plenty fun and made good money writing KiXtart, VBScript, a variety of outdated shells and niche product specific DSLs etc etc. Also had great fun reversing VB6, and remember there was a wonderful VB6 decompiler from Russia with which I spent more hours than I care to admit.

Beauty in languages or tool chains is one thing, but the satisfaction of solving an issue for someone within some weird constraints for whatever reasons is real.

bvan · a year ago
Absolutely agree. Software development is, in real-life, a means to an end. A tool first and foremost. VB6 and its excellent tooling allowed many to develop high quality tools and solutions which got the job done. VB6 was accessible, and well supported. Too bad it’s no longer around.
ucirello · a year ago
I will disagree with this list, in part. And I am thinking specifically of PHP. I am an emigrate from PHP ecosystem, I departed from PHP 11 years ago and never looked back. The number one reason that I left PHP is that #1 in your list was plainly false. There were _not_ high paying jobs in PHP, no matter how good you were or not. The whole point of using PHP is to pay as little as possible; and make developers as fungible as possible. And if a certain demographic yielded good quality developers for an even lower price point, I would certainly see whole teams being replaced to fit it. I was actually recruited, more than once, exactly for this reason.

Languages don't die, they ride into the sunset. There is enough inertia in PHP-ecosystem that you can still find jobs, but they are very often just legacy work jobs (at least in my area). No serious technical leader would pick PHP to execute on new work, except of course, if their main driver is to pay as little as possible and the language choice doesn't bubble up to investors' keyword-driven investment thesis.

VB6 and PHP are nice. I am skeptical of the affirmation that there is a lot of money in these ecosystems. The pie may be currently large, but I do not see it growing.

YeGoblynQueenne · a year ago
I'll add a number 4:

5. Poor coding practices can produce unmaintainable code in any language.

The pain of the maintenance programmer is caused by the implementation programmer, not the implementation language.

VB6-Programming · a year ago
Very true!
ryukoposting · a year ago
I think VB is totally fine. It's a pragmatic solution to a real problem, and the ugliest things about it today are all a product of hindsight.

On the other hand, this rubs me the wrong way:

> So, wouldn’t it be logical to conclude: If such an application can be written in VB6 then VB6 cannot be that bad after all?

Yes, it absolutely could be bad. Our industry consists, in no small part, of turd polishing. Plenty of good software is written in bad (or ill-fitted) languages, and vice versa.

jeswin · a year ago
> Plenty of good software is written in bad (or ill-fitted) languages, and vice versa.

That's because you mention VB6 as a language. VB6 is not about the language, but about the platform and vertical integration; from the IDE to the app to the distribution.

It was magical that dropping a telephony component into a form enabled the form to make phone calls. Or you could drag-drop a Web Browser component, and have a browser inside your app. Or a database component, and a thousand other things. Few of these required reading the docs.

There are many apps that can be written (and deployed!) faster in legacy VB than with anything available today.

chii · a year ago
> It was magical that dropping a telephony component into a form enabled the form to make phone calls

the magic of COM[0]!

But when it crashed it crashed hard. And the underlying programming model (beyond just using premade ones) are a bit hard to grok and fraught with footguns that shoot not only yourself, but the OS as well.

[0]: https://en.wikipedia.org/wiki/Component_Object_Model

Zardoz84 · a year ago
Have you tried Gambas, or the current version of Delphi ?
unscaled · a year ago
I agree with your conclusion, but when you say "VB is totally fine" do you mean VB6?

I can get Modern iterations of Visual Basic such as VB.Net. The syntax and semantics hurt my eye and my brain, but if that's your thing, yeah the language is very serviceable. It's a modern language with modern features and a lot of legacy baggage. It's not worse than PHP or maybe even JavaScript (though I would much prefer JavaScript).

But VB6 means taking the language and tooling as they were in 1998, frozen in time, and writing a modern application to a modern user base.

Kwpolska · a year ago
Microsoft considers VB.NET legacy as well. Most notably, ASP.NET Core applications cannot be written in VB6 due to missing language features.
self_awareness · a year ago
Could you specify what legacy baggage you would like to eliminate, and what modern features you miss in VB6?
darekkay · a year ago
I've been using XYplorer for 10 years now and it's fantastic. There are just so many features and quality of life improvements over the Windows explorer.

It's written by a single person, and they're very responsive. I've recently reported a bug with the search (the first that I've noticed in all those years), and it's been fixed within a day. I'm only worried about the bus factor a little.

I have a GitHub repo with some of my settings/scripts/notes for XYplorer if someone's interested: https://github.com/darekkay/config-files/tree/master/xyplore...

silisili · a year ago
VB3 was my first real intro to programming. Well, I started with C++ but abandoned it as an impatient child as describing a window in code wasn't fun.

I wish we had a new drag and drop WYSIWYG to get people interested. Put Python or Go or even Basic behind it. QT maybe? Heck make it Electron.

I'm not sure I would be where I am today without VB having existed, and it's a shame kids today don't have the same tools available.

throwaway06544 · a year ago
Lazarus has been around for years, but people don't know about it.

https://www.lazarus-ide.org/

"What is Lazarus? Lazarus is a cross-platform integrated development environment (IDE) that lets you create visual (GUI) and non-visual Object Pascal programs, and uses the Free Pascal compiler to generate your executable. Its aim is write once, compile anywhere: you should be able to just recompile your program source code with Lazarus running on another operating system (or a cross compiler) and get a program that runs on that operating system."

xtracto · a year ago
Have a look at Gambas3 [1] it kind of continued where Vb6 stopped. It's super useful for quick GUI based software.

[1] https://gambas.sourceforge.net/en/main.html#

graemep · a year ago
Gambas is Linux (and presumably Unix) only, right? A VB6 substitute that does not run on Windows seems very niche.
profsummergig · a year ago
Even a tool like Frontpage was a game changer.

Simple website in a minute without any need to know HTML.

No free tool that does that today. Dreamweaver does, but it's paid.

kragen · a year ago
There are too many to count. WordPress, MediaWiki (on Fandom or Miraheze if you want), Mastodon, Blogger (you can still sign up apparently), Twitter, Linktree, Facebook, Google Docs, Google Drive, GitHub Gists in Markdown, ...

I went to a restaurant last night that had QR codes instead of a menu. The QR code took you to their Linktree, which linked to some PDFs on Google Drive. You could criticize that for looking unprofessional, but it sure looked better than a Frontpage site.

The other day I went looking for information on a neighborhood business that's a bit cagey about saying what they do. Their website (built by a consultancy that charges US$450, according to the Wayback Machine) seems to have been online from 02013 to 02018, but they have active pages on Facebook, Instagram, and YouTube, which apparently is good enough for them. (It turns out to be a school for mentally disabled teenagers, if I've interpreted the multiple layers of euphemisms correctly.)

So the niche of "build a web page for free without learning HTML" where Frontpage and GeoCities followed NaviPress is not just not dead; it's thriving.

Deleted Comment

d1sxeyes · a year ago
Not sure what you mean by “no free tool does that today”, there are plenty of free site builders out there, both on the web and desktop apps. Even more if you consider “freemium” site builders.
cfn · a year ago
That's how I learned HTML, building the page in Frontpage and then looking at the markup. I don't remember it being free though.
rbanffy · a year ago
It was, but it created some nightmare HTML that even FrontPage had trouble rendering.

We called it Don’tPage.

ciupicri · a year ago
MS Word / LibreOffice Writer → Save as… → HTML :-)
integricho · a year ago
The Delphi ecosystem was similarly good back in the day. Today, the Lazarus IDE is considered as a spiritual successor to it, and it indeed has all the bells and whistles, drag and drop a UI quickly together, build a standalone EXE in a single click (not a single DLL dependency - not counting win32), just a wonderful experience.
jeroenhd · a year ago
Windows still has Windows Forms with C#. Download Visual Studio Community edition for free (not VSCode), create a new forms project, and you'll have a GUI in minutes. Even beats VB6 in areas like automatic resizing because it has better docking support. It'll only target Microsoft's proprietary .NET but because Mono has supported that forever, you can run those applications anywhere Mono exists.

There are also tools like Gambas and Gnome Builder that'll let you drag and drop UI components, but I find the software designed to run on Linux kind of lacking in comparison.

alexvitkov · a year ago
We've forgotten how to do it - the idea of dragging a button offends our modern sensibilities. You can't just drag a button, what about the layout?! What about responsive design, how will it look on a 300x200 screen and a 8k one? What about scaling? Reactivity?
trinix912 · a year ago
Yes, and most of these problems can be very well mitigated by just implementing some sort of a layout constraint system. Xcode does it (AutoLayout), however, it's not nearly as pleasant and straightforward to use as the old VB form designer.
jeroenhd · a year ago
Visual Studio's form editor had decent solutions for that. And most application developers don't care about tiny or huge screens anyway, applications will just be broken if you resize them too much. The software stack they're using should allow them to make the design work on any form factor and resolution, but most of the time nobody cares about those edge cases.
bragr · a year ago
You can use Cambalache [1] to create GTK4 based GUIs (comparable to Glade for older versions of GTK).

[1] https://gitlab.gnome.org/jpu/cambalache

yard2010 · a year ago
First language I've learned. I remember the visual window editor was something so special, I didn't have to code the windows which was good because English was basically Chinese to my eyes at that age.
jamesfmilne · a year ago
jimnotgym · a year ago
Have you used it? Did you like it? How did it compare to vb6?
lionkor · a year ago
QtCreator has a WYSIWYG editor
KetoManx64 · a year ago
I used XYPlorer for about 5-6 years until I made the switch to using Linux on all my machines last year. The scripting, speed, dual panes, customization, portability between machines (i used Syncthing to sync my configs between 3 machines) on XyPlorer are phenomenal and I've sadly not been able to find a Linux native file manager that's at the same level. Dolphin comes close but even with qdbus commands it sadly not as customizable as XYPlorer. I think it's the one thing I miss the most about Windows.
captn3m0 · a year ago
My one thing was “Everything by Voidtools”. It piggy backed on the NTFS index, something no tool does for Linux-native filesystems.

Does XYPlorer work with Wine?

forgotpwd16 · a year ago
>Linux-native filesystems

Because they lack something (for worse or better depending on one's requirements) equivalent to NTFS' MFT & USN Journal. Closest is building own file db by first-time full scan and then updating via fanotify/inotify. This is what FSearch tool does.

pacifika · a year ago
http://cboxdoerfer.github.io/fsearch/ FSearch is a Linux alternative.
jlahijani · a year ago
I've used XYplorer daily since 2008. It's a fantastic piece of software and updated all the time. Wish there were something comparable in Linux.

Deleted Comment

moogly · a year ago
If you thought going from XYplorer to what's available on Linux was bad, now try going from Directory Opus to what's available on Linux :/
pimeys · a year ago
Dolphin on Linux is very nice. It even can connect with ssh and SFTP. Best file manager I've used.
porker · a year ago
What did you script in XYPlorer? I've used Explorer for so long that's a feature I can't even imagine what I would use it for.
darekkay · a year ago
Not the OP, but I've been using XYplorer for 10 years now. I have a sidebar with a few scripts. Here are the ones I use the most:

- Extract selected archives

- Flatten current folder

- Convert selected file(s) to various formats (e.g. JPG to WebP or vice versa)

- Optimize selected image file(s) (smaller file size)

- Prepare image file(s) for publishing on my photography blog: strip irrelevant EXIF, create two variants (thumbnail and a bigger picture); see my post: https://darekkay.com/blog/photography-website/#pipeline

- Prepare image file(s) for sharing - similar as above, but more for sharing vacation photos with my family on WhatsApp)

- Rename files to a certain format (e.g. images to "YYYY-MM-DD HH:mm:ss")

- Check selected file with Virus Total

- Start a weekly backup to my external drive

- Backup my server files to my local drive

- Create a rectangle "album art" file, see my post: https://darekkay.com/blog/resize-album-art-images/

Many of those are just shell scripts and apps that I run right from XYplorer, but it's way faster than through CLI.

I've documented some of the XYplorer stuff here (see also the "scripts" folder): https://github.com/darekkay/config-files/tree/master/xyplore...

ioqy · a year ago
Have you considered Double Commander?
kgeist · a year ago
>Yep, it’s written in VB6. Who cares?

I'd say security is a problem if one uses a 30 year old piece of software but apparently Microsoft still releases security updates: https://www.microsoft.com/en-us/download/details.aspx?id=507...

>A security issue has been identified that could compromise your Windows-based system running Microsoft Visual Basic 6.0 Service Pack 6

>The Visual Basic 6.0 IDE is no longer supported as of April 8, 2008, however, the Visual Basic team is committed to “It Just Works” compatibility for Visual Basic 6.0 applications

>Date Published: >3/23/2021

KindOne · a year ago
It was released back in 2016 (or possibly before that?) https://web.archive.org/web/20160430055347/https://www.micro...

The installer was originally digitally signed with a sha1 certificate. The sha1 certificate with replaced with sha256 on 3/23/2021.

andsoitis · a year ago
I recently discovered Remobjects and their development tools. Amongst other things, they create Mercury, with they describe as a modern Visual Basic that can compile for:

- .Net

- JVM

- Android (JDK and NDK)

- iOS, macOS, tvOS, and watchOS

- Windows

- Linux

- WebAssembly

https://www.remobjects.com/elements/mercury/

neverartful · a year ago
Yes, Remobjects makes some nice tools. I absolutely adore their Oxygene language.
pryelluw · a year ago
Feels weird to pay for this. I’m definitely spoiled by open source tooling.
tonyedgecombe · a year ago
I have mixed feelings on this. On one hand it's great that people can write software without any financial friction, on the other I think developers should be rewarded for their work and I have little doubt the remote objects tools wouldn't exist without some kind of commercial reward.
benatkin · a year ago
With Moonbit and Wolfram Language, it feels like a renaissance of paid programming languages.
dr_kiszonka · a year ago
Is there any documentation or tutorial on how to create a cross platform mobile app using any of their languages? The value proposition is great, but I can't find any actual code.
neverartful · a year ago
Have a look at their github repos. They have a fair bit of sample code sprinkled about.
summarity · a year ago
Can't mention VB6 without one of the biggest archives of source-available software for it: https://github.com/Planet-Source-Code

On the topic of "wait what that's VB6", here's an entire 3D modeling and rendering suite in pure VB6: https://github.com/Planet-Source-Code/kaci-lounes-a-3d-digit...