Is XYplorer really written in VB6?

xyplorer.com

88 points

ethanpil

4 days ago


38 comments

kgeist 35 minutes 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

ryukoposting 2 hours 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 5 minutes 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.

wiseowise 4 minutes ago

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

silisili 3 hours 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.

  • profsummergig 3 hours 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.

KetoManx64 4 hours 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.

  • jlahijani 2 hours 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.

  • captn3m0 3 hours 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?

p0w3n3d 40 minutes 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

rkagerer 2 hours 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

VB6-Programming 3 days 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 hours ago

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

    • gramie 3 hours 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.

      • wilg 2 minutes ago

        it seems pretty reasonable to charge $30-50 a month for somebody doing the hero's work of reimplementing and building on top of a 30 year old programming environment. also there's a free one! spray money the people who do crazy niche work! that's what makes the world beautiful!

pyeri 4 hours ago

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

  • unscaled 11 minutes ago

    FreePascal/Delphi and VB6 are entirely different beasts. For one, FreePascal and Delphi are still under development. Delphi had the following language features added since 1998 (this is just a small selection):

    Extension methods/properties ("class helpers"), generics, enum types, for..in loops, static methods, closures, smart pointers, value types ("records"[1]), attributes, variables can be declared anywhere (removing Pascal's limitation), type inference, multiline strings.

    Besides all of this, modern Delphi can compile code for Windows, Linux and Mac, as well as Android and iOS. It seems like there's even a cross-platform library for writing apps that can run on both Mobile and Desktop called FireMonkey.

    VB6, on the other hand, is a language frozen in time. It never supported any other platform than 32-bit Windows[2]. It only really works on the new Microsoft Surface Laptops thanks to emulation, but I can also run Nintendo 8-bit games on a Surface Pro 11 using an emulator — that doesn't say much.

    Unicode support is also a mess. VB6 always used Unicode internally, but this was implementing during the UCS-2 heyday (so you need hacks to use Emoji for instance). Worse yet, is that VB6 was never really designed to run natively on Windows NT, so it's mostly using using the XxxYyyA family of APIs instead of the XxxYyyW family of APIs. This means that you can only display text in a non-English writing if your system's ANSI codpeage is set to that language (in the past you had to restart Windows to change this, not sure if it has improved). To make things worse, some languages (from countries that were too pair to get ANSI pages in Microsoft during the 1990s). So no Ethiopian languages or Mongolian as the author claims. Windows ANSI codpeages also do not "fully support" Japanese and Chinese as the author claims. Over the years the governments of Japan, China, Taiwan and Hong Kong have updated their national standards (which defined tables of characters that should be digitally encodable) and introduced more characters that were previously not mapped. These characters were not new or fake[3] — they were just less common, but still in use. All of these various government standards (like JIS X 0213, GB 18030, Big5-2003) got quickly incorporated into newer versions of Unicode, but the Windows ANSI codepages stagnated and they don't support some of the characters in these codepages. I'm not sure how it's going to affect VB6, but I'm pretty sure that some Unicode CJK characters would just not map into ANSI and would not be displayed even if your system code page is set correctly.

    With all of these things considered, no developer who cares about their users should choose VB6 for writing a modern app. I'd also argue that no developer who cares about themselves would do that. VB6 wasn't a great language to begin with. It was better than VB3, but it was still inferior to Delphi even when it was out. Customizing the UI beyond the basics, often needed custom ActiveX components written in C++ or messing around with a lot of raw Windows API calls. Error handling was very painful too. It was never a great developer experience even back of the day if you wanted to do anything beyond the basics.

    ---

    [1] To be fair, Borland's Pascal dialects had value types support since they've implemented object oriented programming (that came in either Turbo Pascal 5.5 or 6.0, I don't exactly remember). Turbo Pascal "objects" could be put on the stack or as pointers like in C++. They even had destructors that would be invoked automatically when the object went out-of-scope, again like C++'s RAII. But the old "objects" kinda botched polymorphism (I don't even remember the details), so when Delphi came out they've been replaced with "classes" that are Reference-only (like Java, but initially without any form of automatic memory management).

    [2] VBA was originally ported to Mac, but it is not exactly the same language, lacks the GUI designer and can't run most VB6 apps

    [3] In most cases, at least: https://www.dampfkraft.com/ghost-characters.html

  • ianhawes 3 hours ago

    > VB6 highly capable

    > VB6 only available in 32-bit

  • mardifoufs 2 hours ago

    Delphi, maybe, sure. But starting a new project with vb6 is just weird unless it's the only language someone is familiar with. It's a dead end, even on the only platform where it makes sense to use it.

  • _blk 3 hours ago

    Yeah, I used VB5 as one of my first languages and today did half a day of VBA. Definitely enough to quickly make me want to raise my hourly rate. Esp. in that office macro editor. Btw and totally unrelated office can now interpret VBA, (office)TypeScript and Python. Did I miss any?

andsoitis 4 hours 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/

  • dr_kiszonka an hour 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 hours ago

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

  • pryelluw 4 hours ago

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

    • benatkin 4 hours ago

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

actuallyalys 3 hours 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.

RajT88 4 hours 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.

  • flomo 2 hours ago

    Point taken that VB was a programming ghetto. But the actual seniors were fighting the language to call Win32, writing MTS servers, and etc, they 'got' all that stuff.

    I did some VBS ASP back in the day (not VB), and the language was more just annoying, at least partially due to the BASIC legacy stuff. Like it didn't even have a hashmap, you had to import something from Internet Explorer.

  • treve 2 hours ago

    I feel this narrative about less experienced developers probably made sense to you back then, but it might be time to update it!

  • j16sdiz 2 hours ago

    > They were the only "very senior" programmers...

    Don't forget nodejs.

tombert 4 hours 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.

giancarlostoro 3 hours 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.

29athrowaway an hour ago

You can use GAMBAS as a replacement.

benatkin 4 hours ago

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