The following is,
in part, a reply to
Yannanth's post on the Lazy Newb Pack thread. Though, I enjoy the opportunity to discuss some of this stuff anyway. I'm moving it here to keep things on topic.
FreeBASIC is probably the most popular non-Windows implementation of the BASIC language. It's intended to be a continued of QuickBASIC actually, and I have no idea if it compiles. I only have serious experience with Ruby (nicest language ever) and Bash scripting myself.
Anyway, StackOverflow says you can only run VB.NET on Linux after it's been ported to Mono (which has a Windows version too, by the way - I have no idea why people use plain .NET at all). There is no way to run VB6 code. Or so I hear.
Anyway, make sure the next language you learn doesn't lock you in to a single platform. I've heard pretty great things about VB6 (and terrible things about every version of the language since 2005), but honestly, there's great languages out there like Ruby and Python.
Visual Basic might be limited to Windows. (With the exception of the mono project.) But BASIC as a language is not locked to the PC/Windows platform. Basic has been used on many, many different systems for decades. It was popular on the Apple IIe, Timex Sinclair, Atari PCs, and the Commodore 64/Vic 20 in the 1980's. And while other languages may be more popular and have their own advantages, Basic is not exactly dead, either. To this day there are versions of basic for other platforms. And some are cross-platform.
There are various factors in choosing a language for new projects. It can depend on what one's employer or client wants, intended platform(s) to target for their user base, the type of project(s), the features of each language, the limitations, the tools available (both official and 3rd party), the documentation, frequency of updates, customer support... the list goes on and on.
Admittedly, Ruby and Python are rapidly growing in popularity. And they both have their advantages. But they also have disadvantages. (I think all programming languages have their pros and cons.)
For example, Python programs either rely on the end user having Python installed or they have to be compiled. Not only is Python a
large install, but there are PC owners who have never even heard of Python, let alone have it installed or know how. If, instead, one compiles a Python program, it usually comes to several large .dll's and/or other dependencies. Compiled Python is
notorious for wasting disk space. I saw one topic on a programming forum asking for tips on reducing Python compile size and someone just
laughed and suggested that hard disk space is cheap these days!
Programming languages are actually like spoken and written languages - especially when it comes to learning them. Seriously. The
first programming language you learn will stick with you. This isn't just me. Several computer instructors told me as much. Obviously, that's not to say you can't learn additional languages. But when learning other languages there is a tendency to "think" in terms of one's first or "native" language.
My point is that for those of us who grew up with QuickBasic, Visual Basic and similar, it's often easier for us to use some form of Basic and learn
similar languages. I've had some classes in Pascal and C++, but it did not come very easily or "stick" very well. (Of course, they're not the easiest to learn, either.)
FreeBASIC may be popular. But the reason I suggested
REALbasic and
kbasic as possible ways to convert the Lazy Newb GUI to Linux/OS-X is because both are described as similar to Visual Basic to the point of being
somewhat compatible and able to use a lot of the code
unchanged. (Though, I was also impressed by the features and being described as "easy to learn".)
Porting Visual Basic Applications to Linux and Mac OS X: A How-To Guide for Visual Basic Developer...quite similar to Visual Basic. It could use much of my Visual Basic code unchanged, and it could read most of my Visual Basic forms.
I could port my Visual Basic code to REALbasic, and at the end, my application would work under Windows—just like .Net. More importantly however, my ported application would also run under all 32-bit Windows (98/NT/ME/2000/XP) without the .Net framework; Linux (any Intel-based Linux running GTK2.0+ like Novell Linux Desktop or RedHat Desktop) and Mac (Mac OS X and Mac Classic). As an added benefit, there are no runtimes or "frameworks" required for an REALbasic application. In addition, my ported application would include the native interface widgets required to look great. In Windows XP for example, I was surprised that my REALbasic application takes on XP themes automatically!
KBasic - World's most advanced open-source Basic...It is a new programming language, a further BASIC dialect and is related to VB.NET™, Visual Basic®, Visual Basic for Application® and Java™. It combines the best features of those tools and comes with built-in backward support for those tools and QBasic® as it is 100% syntax compatible to VB6, VBA and QBasic®.
Additionally, it comes with support for VB.NET™ syntax, functions and similar objects and classes.[/qote]