• nolok 4 months 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 4 months 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 4 months 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 4 months 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 4 months ago

            Never heard of Lazarus before. I used Delphi back in the day. Now I want to again!

            • bigtunacan 4 months ago

              Lazarus is an open source implementation of object Pascal. Basically an attempt to recreate Delphi as open source. Not bad honestly.

            • graemep 4 months 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 4 months 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 4 months 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.

                • IshKebab 4 months ago

                  > It's not possible to remove anything without potentially breaking backwards compatibility

                  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

                  • AlienRobot 4 months ago

                    >In sloppy mode, a number beginning with a 0, such as 0644, is interpreted as an octal number (0644 === 420)

                    How does something like this even happens.

                    Anyway, if you "use" strict mode, but the browser doesn't support it, you're effectively not running in strict mode, so you can't actually assume the Javascript will execute differently.

                    • bakkoting 4 months ago

                      Every version of a browser released after 2011 has supported strict mode.

                      • IshKebab 4 months ago

                        Any code that works in strict mode will also work in sloppy mode.

                        0777 style octal numbers are a footguns inherited from C. Don't ask my why they made that mistake! Modern languages use 0o777.

                    • philistine 4 months ago

                      What do you mean?

                      We could implement a version declaration system that removes and fixes elements of JavaScript when properly declared.

                      • tonyedgecombe 4 months ago

                        I do like the way Rust has language editions which let you work around this, at least partially.

                        Mostly though I don't care if we break old stuff. It happened all the time when developing for the desktop. People just dealt with it. The ones most impacted are lazy enterprises and I have no sympathy for them.

                        Clinging on to the past stifles innovation.

                        • AlienRobot 4 months ago

                          The loss of being unable to access old information is unknowable and therefore infinite. People can't just "deal with it." Every year there is more technical baggage that someone new to the environment is just supposed to learn. At some point it becomes an impregnable barrier.

                          If you start telling people they have to install an obsolete web browser, and then an obsolete operating system, and then patch the drivers because all the hardware doesn't support it anymore, you have effectively gatekept information that was once available in the open web to the tech elite.

                          Yes, "tech" is redone from scratch every 6 months so 5 years ago is an eternity, but there are plenty of fields where 30 year old information is just as invaluable as something published today.

                          Nobody is maintaining webpages published in the 90's. Nobody is going to update them. They are just there, sitting on some university's server that barely gets any hits. The author probably died 12 years ago and nobody even remembers who is responsible for it or that it's running. And it's in everyone's best interest to keep it that way: online.

                          • tonyedgecombe 4 months ago

                            I think the cost is too high. If people want that information then they will find a way. If not then it probably wasn't that valuable.

                            The reality is that we have already given up in many areas, try and run a 16 bit Windows application on Windows 11, try and run a Node app you haven't updated for ten years, try and run early versions of OS/X and see how much internet dependent functionality has been lost, try and view an email with linked assets, try and run a web page with a Java or Flash applet.

                            • AlienRobot 4 months ago

                              The only people who can find a way are technical people. The average person can't do it.

                              And we can't tell how valuable it is because we don't know what we are losing.

                              If we burn down the Library of Alexandria, was there anything valuable in there? We don't know, because it's all burned. It's inaccessible. It's too much stuff to verify before doing it, and we can't tell after we do it, so I'd rather we don't burn down the whole thing since we don't know what's inside.

                              And every time it does happen, it's a massive loss.

                              You have no idea how much I grief the fact flash games are no longer a thing. If newgrounds still had flash today, the Internet would be a much better place.

                      • stefanfisk 4 months 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.

                        • dalemhurley 4 months ago

                          Every single language is a mess. Just look at time and floating point numbers in Java (not having a go at Java).

                          • tonyedgecombe 4 months ago

                            >I spend all of my working hours with modern PHP.

                            I'd love to see a PHP without the warts. Something that is trivial to embed in a web page just the way PHP is but without the foot guns.

                          • deergomoo 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months ago

                                    "incredibly fast and responsive compared to what we have now"

                                    Agreed! Also, typically far lower memory usage.

                                    • odie5533 4 months ago

                                      Everything now is just a website in a bloated Chrome wrapper.

                                    • mschuster91 4 months 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 4 months 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 4 months ago

                                          Hipster JS frameworks are making the mistakes PHP and VBScript discovered 20 years ago.

                                          • tonyedgecombe 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months ago

                                                      Very true!

                                                  • ryukoposting 4 months 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 4 months 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 4 months 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 4 months ago

                                                          Have you tried Gambas, or the current version of Delphi ?

                                                        • unscaled 4 months 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 4 months 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 4 months ago

                                                              Could you specify what legacy baggage you would like to eliminate, and what modern features you miss in VB6?

                                                          • darekkay 4 months 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 4 months 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 4 months 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 4 months 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 4 months ago

                                                                    Gambas is Linux (and presumably Unix) only, right? A VB6 substitute that does not run on Windows seems very niche.

                                                                  • profsummergig 4 months 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 4 months 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.

                                                                      • undefined 4 months ago
                                                                        [deleted]
                                                                        • d1sxeyes 4 months 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 4 months 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 4 months ago

                                                                              It was, but it created some nightmare HTML that even FrontPage had trouble rendering.

                                                                              We called it Don’tPage.

                                                                              • ciupicri 4 months ago

                                                                                MS Word / LibreOffice Writer → Save as… → HTML :-)

                                                                              • integricho 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months 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 4 months ago
                                                                                            • jimnotgym 4 months ago

                                                                                              Have you used it? Did you like it? How did it compare to vb6?

                                                                                            • lionkor 4 months ago

                                                                                              QtCreator has a WYSIWYG editor

                                                                                            • KetoManx64 4 months 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 4 months 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 4 months 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 4 months ago

                                                                                                    http://cboxdoerfer.github.io/fsearch/ FSearch is a Linux alternative.

                                                                                                  • jlahijani 4 months 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.

                                                                                                    • undefined 4 months ago
                                                                                                      [deleted]
                                                                                                    • moogly 4 months 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 4 months ago

                                                                                                        Dolphin on Linux is very nice. It even can connect with ssh and SFTP. Best file manager I've used.

                                                                                                      • porker 4 months 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 4 months 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 4 months ago

                                                                                                          Have you considered Double Commander?

                                                                                                        • kgeist 4 months 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

                                                                                                        • andsoitis 4 months 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 4 months ago

                                                                                                            Yes, Remobjects makes some nice tools. I absolutely adore their Oxygene language.

                                                                                                            • pryelluw 4 months ago

                                                                                                              Feels weird to pay for this. I’m definitely spoiled by open source tooling.

                                                                                                              • tonyedgecombe 4 months 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 4 months ago

                                                                                                                  With Moonbit and Wolfram Language, it feels like a renaissance of paid programming languages.

                                                                                                                • dr_kiszonka 4 months 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 4 months ago

                                                                                                                    Have a look at their github repos. They have a fair bit of sample code sprinkled about.

                                                                                                                • summarity 4 months 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...

                                                                                                                  • VB6-Programming 4 months ago

                                                                                                                    The 64 bit version of XYplorer is written in the twinBASIC programming language (actually an import of the VB6 source code and forms).

                                                                                                                    • neverartful 4 months ago

                                                                                                                      This is the first I've heard of twinBASIC. I'm happy to see it on the dev tools scene.

                                                                                                                      • gramie 4 months ago

                                                                                                                        A dev tool with a monthly subscription? That's enough to stop me right there.

                                                                                                                        An alternative is B4J, a free (as in beer) BASIC that compiles to Java, so should run just about anywhere. It also has

                                                                                                                        * B4A - a free version for Android * B4R - a free version for Arduino and ESP8266 * B4I - a paid version for iOS

                                                                                                                        The main (sole?) developer is ridiculously responsive and helpful.

                                                                                                                        • VB6-Programming 4 months ago

                                                                                                                          twinBASIC programming is backwards compatible with VB6 (it intends to be 100% and is very close to that now). Existing VB6 source code and forms can be imported and run (at least as 32 bit apps.). twinBASIC can compile to 64 bit and has many modern features. There is also an optimising compiler. There is a free Community Edition. VBA can also be replaced with twinBASIC programming. Future plans include Linux, MacOS and Android versions.

                                                                                                                        • jimnotgym 4 months ago

                                                                                                                          Never heard of this before. I'm always happy to hear of new attempts to replace vb6, and a backwards compatible one is such an achievement

                                                                                                                        • rkagerer 4 months ago

                                                                                                                          Works on Windows XP, Vista, 7, 8, 8.1, 10, 11

                                                                                                                          That's better than you can say for a lot of software these days

                                                                                                                          • nolok 4 months ago

                                                                                                                            It's a feature of limiting yourself to the win32 api (and functions of it available since 2001 only).

                                                                                                                            Eg the moment you need to deal with security like certificate or whatever this goes out the window.

                                                                                                                            • fafalone 4 months ago

                                                                                                                              Plenty VB6 apps use tons of APIs introduced well beyond 2001. I'm not too familiar with XYPlorer but it looks like it will support some more recent stuff if available.

                                                                                                                              One of my hobbies was writing demo projects showing the use of new APIs and COM objects. I have a shell browsing control with all of the features of Explorer; it for example can browse attached media devices like cameras and phones that don't even have normal file system paths and can't be used in older apps, because it's based entirely around shell interfaces and APIs not available until Vista. Another recent project was how to use the Win7+ Ribbon UI controls. I don't support earlier Windows versions than 7 at all in my personal projects now.

                                                                                                                              Security or certificates? No problem. I've written VB6 compatible versions of the entire BCrypt and NCrypt APIs covering everything up through the latest SDK, and people have written practical programs using those plus tons of other Windows security, crypto, and cert subsystems.

                                                                                                                              There's connection classes using the newest TLS versions. OAuth? Sure. People are replacing older in-app browsers with WebView2-based ones.

                                                                                                                              If that's still insufficient, and you really want something more modern, it's entirely possible and there's plenty of demos of using WinRT from VB6 and twinBASIC. XAML controls? Yup, people are doing it. We just had a big debate about the merits of using the latest Windows 11 RichEdit controls supporting color fonts directly vs using the XAML implementation instead, or implementing a windowless RichEdit with the modern Direct2D rendering pathway like the XAML one does underneath. Speaking of DirectX, there's also VB/tB compatible libraries for Direct3D 11 and 12 and the Media Foundation subsystem.

                                                                                                                              Just because a language is 'frozen' in 1998 doesn't mean it can't call modern APIs and use modern libraries. And now with twinBASIC it's unfrozen, adding tons of new language features and modernizations. Do you also think modern apps absolutely need the very latest C++ standards and you can't make modern apps in C++ 03?

                                                                                                                              Hell, I've even written demos of how to use tB to make kernel mode drivers that run on Win10/11, inspired by someone figuring out how to make one in VB6 that runs on Windows up through the last 32bit version. Since tB supports 64bit, they run on 64bit 10/11 now.

                                                                                                                              • rkagerer 4 months ago

                                                                                                                                In some ways I wish they just kept building on that API instead of introducing lots of competing (or complimentary, depending on your viewpoint) frameworks and philosophies.

                                                                                                                                • layer8 4 months ago

                                                                                                                                  You can always program it to be conditional on the runtime environment.

                                                                                                                              • pyeri 4 months ago

                                                                                                                                Both VB6 and FreePascal/Delphi are highly capable tools even in today's context, they just need more marketing.

                                                                                                                                • tombert 4 months ago

                                                                                                                                  I debated writing an app in ColdFusion (well OpenBluedragon or Railo or something) about a year ago, partly out of curiosity to how well it holds up, but mostly out of sentimentality for the language. I had a bit of trouble getting started, and eventually the project morphed less into web and more into data-processing so I ended up using Java, but I still occasionally get the urge to write using a “dead” language.

                                                                                                                                  • actuallyalys 4 months ago

                                                                                                                                    I don't think being written in VB6 is actually a good reason not to use XYPlorer, which seems like a capable tool, but this page doesn't seem really reassuring? What would reassure me is knowing that there is a maintained version of VB6 for modern systems. Luckily, there apparently is such an implementation, twinBasic, and they are already using it for 64-bit releases.

                                                                                                                                    • layer8 4 months ago

                                                                                                                                      > No multi-threading

                                                                                                                                      That isn’t quite correct, because you can take the address of a VB6 procedure and pass it to win32 CreateThread. See the related chapter in Hardcore Visual Basic for example. And of course you can use win32 mutexes and such. Thanks to the win32 interoperability, there aren’t a lot of limits of what you can do in VB6.

                                                                                                                                      • p0w3n3d 4 months ago

                                                                                                                                        Back in 1999 for me most important was to have a great gui design, and VB was cool for this. Then later I would focus on native binary, performance and size of the build hence I switched to Delphi and then to C++. But tbh nowadays I can see that this is this famous triangle: either good and fast but expensive, either fast and cheap but not good, or good and cheap but not fast. So instead of writing in C++ i coded in 2 days a tray helper in pyside. I have no longer size complexes, as other apps tend to be written in electron nowadays, which is super size XXL

                                                                                                                                        The point is: prejudice is bad. Use whatever floats your boat

                                                                                                                                        • rbanffy 4 months ago

                                                                                                                                          VB was the he first viable way to easily tap the “business programmer” who was writing code in Clipper for building competent-looking GUI applications. Along with Windows for Workgroups, it was a game changer for Windows in small businesses who could now afford bespoke Windows applications.

                                                                                                                                          Other options all had their quirks that made their apps look out of place on Windows. It was easy to say an app was built with Delphi or FoxPro. VB apps just looked like Microsoft apps and felt perfectly at home.

                                                                                                                                          I remember how easy it was to even get the 3D look popularised by Office in VB apps.

                                                                                                                                          • qwertox 4 months ago

                                                                                                                                            > No multi-threading. A pity. But for a file manager not that important.

                                                                                                                                            It's honestly blazingly fast in comparison to Windows Explorer on Windows 11.

                                                                                                                                            • pantulis 4 months ago

                                                                                                                                              I think it was Joel Spolsky who said that the sweet spot with VB was throwing seasoned C++ programmers at it, and that became a huge productivity boost to the teams. I think this goes to say that the bad name of VB6 is due to its lower entry barrier, which made it easy for beginner devs to deliver terrible software.

                                                                                                                                              • jonatron 4 months ago

                                                                                                                                                I know someone that still has a VB6 job. It's apparently repetitive and they haven't had a new client for many years, but I guess it'll continue until their clients don't need the software.

                                                                                                                                                • gdgghhhhh 4 months ago

                                                                                                                                                  I wonder how the code looks, it must be a maze of "on error goto" lines to not crash at the slightest error.

                                                                                                                                                  • bdeshi 4 months ago

                                                                                                                                                    nice to see this on hn. the dev has just announced[1] start of codebase migration from vb6 to twinbasic which should negate all of the cons described in the article.

                                                                                                                                                    xyplorer has been providing partial compatibility with 64-bit windows shells by way of some "sidecar" executables, which act like hosts for 64-bit shell extensions, thumbnailers, and whatnot.

                                                                                                                                                    iirc some of these sidecar tools were originally written in autohotkey; now that's another interesting language.

                                                                                                                                                    [1]: https://www.xyplorer.com/xyfc/viewtopic.php?t=28273

                                                                                                                                                    • skirge 4 months ago

                                                                                                                                                      I know that one of the best bug bounty hunter scripted his work using VB (unlike rest of the world who uses Python/Golang or Rust), if it works and you know it why not? Actually looking for perfect tools is procrastination.

                                                                                                                                                      • pjmlp 4 months ago

                                                                                                                                                        While VB.NET 1.0 had indeed lots of compatibility issues with VB 6, most of them were fixed in later versions, so I wonder why not at least VB on .NET Framework (Core brings quite a few compatibility issues)

                                                                                                                                                        I do know VB since VB 3.0 days, did quite a couple of VB 6 to VB.NET, and VB.NET to C# portings, so it isn't like I don't know the subject.

                                                                                                                                                        • gdgghhhhh 4 months ago

                                                                                                                                                          The program doesn't look like a typical VB6 application, I guess the author draws all UI elements himself?

                                                                                                                                                          • wiseowise 4 months ago

                                                                                                                                                            I always love a story of impressive software written in “underdog” languages and not hype Go, Rust, Zig etc.

                                                                                                                                                            • peteforde 4 months ago

                                                                                                                                                              In the late 90s, I was a member of Microsoft's MVP program for VB6 and later IIS/ASP. Having used every version of VB (including DOS) I was one of the many who was furious when they petulantly refused to commit to updating VB6 on a parallel track. At one point there was a significant number of us with a petition, and they basically told us to pound sand...

                                                                                                                                                              So, I did. This was literally the push I needed to switch to open source tooling, and it put me in the right time and place to be a Rails early adopter.

                                                                                                                                                              I downloaded XYplorer mostly out of curiousity, and it's actually so fast that I am slightly shocked to say that I might be switching to it.

                                                                                                                                                              • RaiausderDose 4 months ago

                                                                                                                                                                Seems cool, I'm using free commander and need 2 vertical panels, because of the ease of coping files.

                                                                                                                                                                I guess I skipped this app before because on the screenshot it looks like it just has one panel. But after trying it out, it has "dual pane" mode, so I will give this a shoot.

                                                                                                                                                                • dalemhurley 4 months ago

                                                                                                                                                                  Your article hits the nail on the head. I loved programming for VB6, VBA and VBScript.

                                                                                                                                                                  PHP has the same issue, it is awesome and powerful but gets a bad rep because the versions before 2004 had issues and the low barriers to get started means beginners love PHP.

                                                                                                                                                                  • aquir 4 months ago

                                                                                                                                                                    It is a great software, now I know why there is no MacOS builds :)

                                                                                                                                                                    • zvrba 4 months ago

                                                                                                                                                                      Recently I wished for "VB for Web". Something that'd make it easy for a tech-competent, but a non-programmer, person to prototype a functional web application.

                                                                                                                                                                      • giancarlostoro 4 months ago

                                                                                                                                                                        Microsoft has open sourced so much, I wish they would work on an effort to fully open source VB6 at least the bits they fully own and control. I have a feeling the community might rally to fill in the gaps, even if its over a few years.

                                                                                                                                                                        I mean, look at EverQuest Online, insanely old MMO client, still has people building private servers, and even clients.

                                                                                                                                                                        • ximeng 4 months ago

                                                                                                                                                                          https://photodemon.org/ is a photo editing tool written in VB6

                                                                                                                                                                          • 29athrowaway 4 months ago

                                                                                                                                                                            You can use GAMBAS as a replacement.

                                                                                                                                                                            • movetheworld 4 months ago

                                                                                                                                                                              I love XYPlorer, it's my favorite program and I use it every day.

                                                                                                                                                                              • stef-13013 4 months ago

                                                                                                                                                                                It does the job, so "Who Cares?"

                                                                                                                                                                                • draw_down 4 months ago

                                                                                                                                                                                  [dead]

                                                                                                                                                                                  • benatkin 4 months ago

                                                                                                                                                                                    They should have written Dogecoin in VB, then it would have been even sillier.

                                                                                                                                                                                    • ltbarcly3 4 months ago

                                                                                                                                                                                      Sorry VB apologists, it's a weird language with lots of legacy weirdness. If you chuckle at silly things in JS, you'll cry when you learn VB.

                                                                                                                                                                                      • RajT88 4 months ago

                                                                                                                                                                                        Early in my career, I worked in support for a company which made developer tooling.

                                                                                                                                                                                        Male programmers would call in and do a bit of intro so you knew they were not dumb, just busy.

                                                                                                                                                                                        VB6 programmers would say things like "I am a very senior VB developer". They were the only "very senior" programmers who did not seem to understand things about OS stuff. Like exported functions and their different calling conventions, why you need to "register" COM .dlls, environment blocks, handles, etc.