|
Post by sarossell on Mar 7, 2020 6:53:02 GMT -5
...I failed to defend the honor of LB.
Well, sort of...
I've recently become well acquainted with the amazing teachers who have volunteered to operate the maker space here in Yuma for the local kids. My grand-daughter is having a blast learning how to program, solder, read schematics, 3D print, work in teams, share resources, order free samples from electronics distributors around the U.S., and even learn a little Spanish by accident along the way. These guys are incredible.
And anyone who has read any of my long, but hopefully informative and well-researched, forum messages has probably surmised that I don't care to lose a bet, particularly when history of computers is in question.
Well last night, I lost a bet. I bet Mark Webber, a 35-year tenured high school mathematics and physics teacher that Liberty BASIC was far and away the best modern version of BASIC on the market. Over two pizzas and several beers, we debated the merits of numerous modern versions of BASIC. I won't mention names because they all lost, and who cares about the losers? One by one, I mopped the floor with them with Liberty BASIC's ease of use, affordable price, supportive community forum, engaged developer, history, longevity, versatility...You name it, we debated it. And I was winning. Of course. I didn't even have to play the "version 5 coming soon" card!
But then Jason Halford, another tenured high school teacher of over 30 years nonchalantly sauntered to the table and dropped a bombshell on both of us. He said just one word; "QB64". I had never heard of it. My mind began to race. It sounded like some kind of modern Commodore 64 emulator. I immediately lashed out against all emulators. We were discussing proper programming languages, not some blast from the past wanna be. But he held his ground and proceeded to list the many benefits of this modern language.
I'll admit, Mark and I were curious, but dubious, particularly when he said it was a modern version of QBASIC with up-t0-date commands cleverly added with a preceding underscore to differentiate them from the core language. We both exploded. He had to be pulling our chain. Seriously?! We had been debating modern, well-developed, and highly supported versions of BASIC for nearly the past two hours and he arrogantly slapped down on the table this "Quick BASIC" card. I railed on him. Was he actually talking about the progression that was Microsoft's legacy? GW-BASIC, Quick BASIC and QBASIC? Was he actually trying to convince us that a version of BASIC with roots dating back to 1983 could ever compete with the likes of Liberty BASIC today?! Surely it had no clue about GUI design elements. He replied, "Oh sure." What?! But certainly no media options; png or jpg images, mp3 music... "Yeah, easy.", he confidently replied. What?! We were both waiting for the punch line to this obvious joke, but it never came. He was dead serious.
I demanded proof and he demanded I bet on it. And I did. So he broke out a phone I swear was bigger than the pizza we just ate and we all hovered over it as he showed us one bit of proof after another; native Windows, Linux, Mac and Raspberry Pi operation and optimized compilation of standalone apps, extensive online documentation, active developer and community support, a regular update schedule, a massive 60 episode YouTube tutorial series, numerous published books available on Amazon, and all for free (the program, not the books). Granted, the Rosetta Code site lacked any serious showing for it; actually none directly for QB64 itself, just a few snippets for QBASIC and GW-BASIC. And naturally so! It's an OLD version of BASIC! Still, Mark and I were stunned beyond words.
But something nagged at me; something not said; something not right. I looked him square in the eye and asked, "So, what's the catch? Why have I never heard of this before?" He asked if he had won the bet. I agreed. Then with a big grin, and in his best Australian Crocodile Dundee impersonation, he said, "Well, you can program with it, but it looks like sh#t." Then he proceeded to show us these sad, harsh, dark-colored, DOS-like rejects that had been written with this language. Mark and I both let out a nervous chuckle and then gave Jason the stink-eye. "You jerk! You had us worried there for a second!" But then he defended himself saying, "Hey! I listened to you guys yammering on for hours about compatibility, functions, support, features, documentation, speed, price...and I mentally checked off each item in my head as you went along. You never once mentioned how the apps might look when they were finished.
So technically, I lost the bet. If you're looking to create some seriously fugly, old-school apps with an antiquated version of BASIC that works everywhere and is very popular, sure, okay, check out QB64. But if you actually want to create programs that look like they belong in THIS century, I recommend you stick with Liberty BASIC. 'Cuz you can polish a turd all you like, but it's still made out of sh#t.
:@)
|
|
|
Post by Carl Gundel on Mar 7, 2020 13:33:17 GMT -5
...I failed to defend the honor of LB.
Well, sort of...
<snip>
So technically, I lost the bet. If you're looking to create some seriously fugly, old-school apps with an antiquated version of BASIC that works everywhere and is very popular, sure, okay, check out QB64. But if you actually want to create programs that look like they belong in THIS century, I recommend you stick with Liberty BASIC. 'Cuz you can polish a turd all you like, but it's still made out of sh#t.
:@)
Nah, no apology needed. Use what you love. Mostly any BASIC programming language that people still use is a good thing, except that I'd like to make it a growth industry again. If Liberty BASIC has any real competition it's probably Python, which is the de facto language for beginners and hobbyists these days.
|
|
|
Post by sarossell on Mar 7, 2020 13:38:05 GMT -5
I hear ya. And...well, Python sucks!
|
|
|
Post by metro on Mar 8, 2020 22:05:04 GMT -5
If Liberty BASIC has any real competition it's probably Python, which is the de facto language for beginners and hobbyists these days. Hmm, so why is changing the name of LibertyBASIC so important if a language named after a comedy show is (as/more) popular. Just maybe there are other attributes that make it (as/more) popular.
I'm running out of 2cent's, LB5 build 351 would be a nice surprise , hope to httpget it soon
|
|
|
Post by sarossell on Mar 9, 2020 2:18:47 GMT -5
Hmm, so why is changing the name of LibertyBASIC so important if a language named after a comedy show is (as/more) popular. Just maybe there are other attributes that make it (as/more) popular. Python only became popular because it was the closest free language to BASIC and therefore the easiest path to learn programming after BASIC dropped the ball. By 1992, all of the old 8-bit BASICs were gone and we were seeing the inevitable demise of the 16-bit platforms as well. OS choices were solidifying around Windows, Mac, and Linux/BSD. Windows of course had the greatest percentage of users, and Microsoft dropped QBASIC after Windows 98. It was essentially a perfect storm of failure for BASIC. The popular companies that previously supported BASIC; IBM, Microsoft, Atari, Commodore, Tandy, Sinclair, et al had all abandoned BASIC as an expected free and included option. Microsoft's Visual Basic did pick up the baton starting in 1991, and ran exceptionally well with it, but they made you pay for the privilege (quite a bit in fact). So ended the free and easy path to BASIC programming.
Meanwhile, development began on Python in 1989. It was developed by Guido van Rossum and, after a long, arduous decade, finally started to reach critical acceptance with version 2.0 when it was release in October 2000. During that long gap there weren't any free versions of BASIC being heavily supported by big name companies anymore. So Python just slipped right into that vacant slot of "free and easy language for beginners."
Yes, there were some awesome players in the BASIC "Dark Ages". Liberty BASIC stands premium among them. But without the big gun company names behind free versions of BASIC, it simply was no longer an viable programming language in the eyes of the masses.
Python took its place, not because it was popular or backed by a big, well-known company, but simply because it was everywhere and free. So were Perl and PHP, and maybe Ruby. But the code was just easier to understand with Python. It also didn't hurt to have a cool name.
And now, the damage has been done. Kids today can buy a $35 Raspberry Pi with a free operating system and free Python. There are over 25 million RasPis out there today. That's more computers than the ENTIRE 8-bit industry combined!
And BASIC? Wasn't that what grandpa used back in '89 on his tired old Commodore 128? Now, not even Microsoft can salvage the BASIC market. Their free version called Small BASIC is very capable, well-supported, almost actually the BASIC language syntax (almost), and as of October 2015 has become nothing more than a brief footnote in history.
:@)
|
|
|
Post by gidiom2 on Mar 9, 2020 6:26:19 GMT -5
Python took its place, not because it was popular or backed by a big, well-known company, but simply because it was everywhere and free. So were Perl and PHP, and maybe Ruby. But the code was just easier to understand with Python. It also didn't hurt to have a cool name. :@) Python is popular for another reason, probably the main reason, in the age of IOT, its 'net' modules enabling web interaction. Also cross platform is here and now. That's what newcomers to programming want today, rather than stand alone apps. I have written stand alone LibertyBASIC apps to control devices via sockets and internet connections but professional programmers take one look and say why bother with such things, its easier and better to use browsers, apache and cgi which python has the capability of. So LB lacks the cgi, email, stdio, etc. which is in demand in 2020 and those are the methods I use now, but I still use LB with linux WINE, mostly successfully for stand alones because LB5 cross platform will (unfortunately for me) be a long time in maturing.
|
|
|
Post by Bluepixel on Mar 9, 2020 9:57:00 GMT -5
Hi there, I also came across BBC Basic (The modern one), which looked very interesting, how does it compare?
Either way, I started learning C, for 2 reasons; 1. I have switched to Linux, and Liberty Basic is not natively cross platform (which would be a good idea), 2. Basic is not capable of doing what I hope to do, which is performant and optimised game development (including 3D), and low level hardware programming, (Maybe with FreeBasic as an exception). But time and time again I have been proven that Basic still stays Basic and wont get me to where I want to be. But after programming in C, I end up in a burnout, and wonder if im better off using Basic, however, I think my friends would be disappointed in me if I were to switch back to Basic.. C is a fun, but difficult language, and its not as motivating as Basic because I miss being able to create things on the fly and having quick results. This is kind of my dilemma right now, and im not sure what to do, what are your thoughts on this?
|
|
|
Post by Rod on Mar 9, 2020 12:36:32 GMT -5
There is no right or wrong BASIC or indeed any right or wrong language. Use the one you are most comfortable with that will get the job done.
Not everyone writes games, I like writing games but it gets very little interest here. Here folks just like to problem solve. Or explore simpler programming techniques.
Most commercial software development is, of necessity, team based and usually a big team. Most commercial software development needs to be at the cutting edge of processing, ensuring its super fast and drawing a million voxel per second. And of course you need super artwork to draw. Hard work.
On the other hand interpreted BASIC offers instant development and immediate feedback. Users can grow the program organically or on a repetitive improvement cycle and eventually get it right. As you say motivational. It will never be super fast but it is fast enough.
You touch on Liberty BASIC's true power, simple syntax, a reasonable editor and instant far reaching fun.
|
|
|
Post by sarossell on Mar 9, 2020 14:22:00 GMT -5
Python took its place, not because it was popular or backed by a big, well-known company, but simply because it was everywhere and free. So were Perl and PHP, and maybe Ruby. But the code was just easier to understand with Python. It also didn't hurt to have a cool name. Python is popular for another reason, probably the main reason, in the age of IOT, its 'net' modules enabling web interaction. Also cross platform is here and now. I'll grant you that Python BECAME more popular in the age of IoT, but only because it was the most approachable and freely available language already. Remember, when Python was first conceived in 1989, there was no Internet. Python was originally designed by Van Rossum as a Unix scripting solution that would be more powerful than shell scripting but easier than Java or C++ and cross-platform compatible. He succeeded admirably. Only later, much later, did other people see the benefit of creating useful net modules for it.
|
|
|
Post by sarossell on Mar 9, 2020 14:59:57 GMT -5
Hi there, I also came across BBC Basic (The modern one), which looked very interesting, how does it compare? Either way, I started learning C, for 2 reasons; 1. I have switched to Linux, and Liberty Basic is not natively cross platform (which would be a good idea), 2. Basic is not capable of doing what I hope to do, which is performant and optimised game development (including 3D), and low level hardware programming, (Maybe with FreeBasic as an exception). But time and time again I have been proven that Basic still stays Basic and wont get me to where I want to be. But after programming in C, I end up in a burnout, and wonder if im better off using Basic, however, I think my friends would be disappointed in me if I were to switch back to Basic.. C is a fun, but difficult language, and its not as motivating as Basic because I miss being able to create things on the fly and having quick results. This is kind of my dilemma right now, and im not sure what to do, what are your thoughts on this? The original BBC BASIC has a strong and useful history. It's that old screwdriver in the shed you got from your grandfather with the wooden handle that looks like it should have been replaced with a shiny new one with a textured, rubberized handle. It works. It's solid. But frankly, the only reason we see it today is because one man decided to prop it up for one last go. There is no active development on the language and it doesn't have near the versatility or support from the community as Liberty BASIC.
FreeBASIC does work with Windows and Linux and it's a strong contender in the BASIC language market, but I find it very curious that in the 16 years it has been around, not one single person has written a decent up-to-date book for it, and I can't find a single fan web site.
Regardless, your concerns don't appear to be so much about the choice of language than what you'd like to do with it and how you feel while doing it. BASIC of ANY flavor was never designed for optimized game development or low level hardware programming. For that, you need C/C++. There's really just no way around it. ...Unless, you convert to Mac. Swift UI is very capable, versatile, well-supported, and free. But it only works on Apple products. It is quite enjoyable to program with though.
It all comes down to the old universal conundrum; You can have it FAST or you can have it CHEAP or you can have it GOOD, but you can only have two out of the three at one time. For what you want to do, BASIC will give you fast and cheap, but never as good as C/C++.
The only advice I can give you is borrowed from a programming team lead I once worked with. He said, and I'm paraphrasing here, "C is a pain in the ass. It has to be. You don't just slap pin stripes on a sports car. You have to be patient, meticulous, and have the right tools. If you don't have that kind of stamina, you're not a C programmer. Most of my team are not C programmers, but they have to program in C. So I make them read a lot, take tons of notes, and tell them to take it slow. Management hates that answer, but hey, if they were C programmers, they'd do it themselves!"
:@)
|
|
|
Post by sarossell on Mar 9, 2020 15:06:42 GMT -5
You touch on Liberty BASIC's true power, simple syntax, a reasonable editor and instant far reaching fun. Well said, sir. That's exactly my sentiment as well. Programming with Liberty BASIC is fun.
I've tried countless other versions of BASIC as well as other languages, and none of them - NONE of them - are as much fun.
Python makes me grind my teeth. No, really. I literally grind my teeth every time I have to look at it. And Xojo and Gambas just infuriate the crap out of me. They're both like that kid you grew up with in high school who was alright, if maybe a little plain, but then one day decided to dye his hair green and pierce his... Well, you know, not BASIC.
{8@\
|
|
timur77
Junior Member
Someday I will tell my grandsons that I am older than the Internet. And it will blow their brain.
Posts: 80
|
Post by timur77 on Apr 4, 2020 2:51:02 GMT -5
I would like to add my own spoonful of tar and honey to the Liberty Basic piggy bank. I started programming in grade 5 on a basic for a Soviet PC, then at the institute I studied assembler, pascal, QB and VBA. Then in graduate school I studied C ++. And about 10 years ago I met freebasic. The general conclusion is this: - if you need to write something fast, it’s only LB, but if you need speed, I’m switching to freebasic. Freebasic grew from QB while being translated via C ++ into a normal executable file, it supports almost everything, it’s a bit inconvenient to manage interface elements because of this, simple programs are still written in LB. AND NATURALLY SUPPORT OF LARGE NUMBERS WITHOUT EXTRA DANCES WITH A TAMBOURINE !!!
|
|
timur77
Junior Member
Someday I will tell my grandsons that I am older than the Internet. And it will blow their brain.
Posts: 80
|
Post by timur77 on Apr 4, 2020 3:25:30 GMT -5
|
|
|
Post by sarossell on Apr 9, 2020 16:43:26 GMT -5
One "fan" page in German. The others are forums, only one of which is in English. I meant no offense. Just pointing out the lack of community, and you verified my point.
If you're a strong fan of QB, you might find QB64 to your liking. They have a very strong support community and the language has a lot of modern benefits. Still not near as fun as Liberty BASIC though.
:@)
|
|
|
Post by Carl Gundel on Apr 9, 2020 22:55:40 GMT -5
I would like to add my own spoonful of tar and honey to the Liberty Basic piggy bank. I started programming in grade 5 on a basic for a Soviet PC, then at the institute I studied assembler, pascal, QB and VBA. Then in graduate school I studied C ++. And about 10 years ago I met freebasic. The general conclusion is this: - if you need to write something fast, it’s only LB, but if you need speed, I’m switching to freebasic. Freebasic grew from QB while being translated via C ++ into a normal executable file, it supports almost everything, it’s a bit inconvenient to manage interface elements because of this, simple programs are still written in LB. AND NATURALLY SUPPORT OF LARGE NUMBERS WITHOUT EXTRA DANCES WITH A TAMBOURINE !!! Have you tried the Liberty BASIC 5 alpha? It's several times faster than LB4, and it'll probably be twice as fast again before we're done. Not as fast as freebasic, I guess, but perhaps you won't need to abandon LB for some of the things you would use freebasic for.
|
|