Live data from Hacker News

Is XYplorer really written in VB6?

xyplorer.com

31–40 of 232 posts

Re: Is XYplorer really written in VB6?

#31

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 avai…

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

Re: Is XYplorer really written in VB6?

#33
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

Re: Is XYplorer really written in VB6?

#34
>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

Re: Is XYplorer really written in VB6?

#35

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 avai…

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.

[deleted]

Re: Is XYplorer really written in VB6?

#36
post #8

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

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

Re: Is XYplorer really written in VB6?

#37

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 g…

> 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.

Re: Is XYplorer really written in VB6?

#39
post #22

Earlier quoted context omitted.

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

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.

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!

Re: Is XYplorer really written in VB6?

#40

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 g…

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.

Post reply on HN