BlitzMax, Cross-Platform OO BASIC, Is Free and Open Source
blitzbasic.com
blitzbasic.com
And Monkey-X is mostly Open Source. Soon to be fully Open Source after MX2 is out (http://www.monkey-x.com/Community/topics.php?forum=230)
Don't think I'll ever go back to this though. Never could figure out the 3D stuff back then, but had fun drawing lines, text, occasional bitmaps and playing sound samples.
I really dislike that quote: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration". I'm not sure how serious he was being but I cannot see how a potentially good programmer would refuse to learn new concepts like they would need to do when first moving to OO, functional, procedural etc. languages. BASIC is obviously less relevant now but it was nice in that it was easy and quick to get started in whereas more complex languages might scared complete beginners away.
I wonder how much is known about early bad habits in any area sticking with us as we learn other things.
How would someone like that ever become a good programmer? Programming involves continual learning and keeping your skillset up-to-date.
A few years ago I tried to write something in "real" BASIC again. GOSUB has no stack and no arguments!? WHAT??? I had forgotten how basic BASIC was.
Go to any high school computer club and all the kids are probably using Unity3D and C# and the stuff they are able to create in a day or 2 blows my mind.
Or watch some kids hack on JavaScript. Access to way more APIs then I ever had back in 8bit BASIC and instant sharing.
Can they press F1 and get instant access to the relevant documentation for those APIs? People who write IDEs for BASIC have always put more care and passion in them - press one button for documentation, press one button to compile and deploy, no messing with XML configuration files, copying boilerplate code, or "manifests".
Don't use most of your language's features.
Write a lengthy main loop. Use a lot of statically-sized arrays. Use plain old data instead of classes. Use primitive types and some indirection instead of a high-powered metaprogramming solution.
If you need the fancy stuff, it's all there (unless you're working with Go) -- but YAGNI really does apply.
See http://programmingisterrible.com/post/40132515169/dijkstra-b...
And today's versions of BASICs, like FreeBASIC are just as powerful as even C++ and come with pointers and OOP. BASIC programmers are more likely to understand pointers than programmers using today's popular languages because they were exposed to functions like PEEK, POKE and QBASIC's DEF SEG (remember when we had to DEF SEG to &HA000 to get direct memory access to the video memory buffer because the drawing functions were too slow?).
BASIC continues to be relevant today. Some people have reported being able to compile FreeBASIC programs for ARM, but GAMBAS already runs on the Raspberry PI. See: http://gambaswiki.org/wiki/install/raspbian
For the Android platform you can get RFO BASIC and program on the device itself. See: http://laughton.com/basic/
And QB64 also compiles for Android. See http://www.qb64.net/wiki/index.php/Android_Project
For the JVM it seems B4J is the preferred dialect these days, because JABACO is in development limbo. See https://www.b4x.com/b4j.html
There are also other versions of BASIC that compile to microcontrollers like AVR and PIC. See http://gcbasic.sourceforge.net/download.html
For HTML5 people can use BrowserBASIC (http://pewtersoftware.com/browserbasic/) or Monkey(http://www.monkey-x.com)
Source code for interpreters, transpilers and compilers written in BASIC can easily be found on the web so it's likely the language will be kept alive no matter what. And BASIC programmers always learn new tricks: we've dealt with speed limitations, memory allocation issues, even managed to write assembly when it was necessary. And FreeBASIc programmers are the most prepared to move to C++ because the structure is the same.
- https://www.thegamecreators.com/product/dark-basic-pro-open-...
Just trying to figure out the differences.
BlitzBasic and BlitzMax are about the same language. What BlitzMax provided over BlitzBasic was a direct integration with DirectX and OpenGL, which allowed you to make 2D games with hardware supported rendering.
Your average BlitzBasic "Hello World" would usually take up 50% of the CPU.
On the Amiga?
Blitz3D includes 3D functions but it is also a procedural language.
BlitzMax is an Object Oriented language. It also allows on-the-fly rotation and scaling of sprites. Most examples of the Blitz family of languages on the web are for BlitzMax. There is a Linux as well as a Mac OS compiler for it.
MonkeyX is also from the same company and improves upon BlitzMax. It has several free and paid compiler backends as well as several IDEs. The free version of MonkeyX will compile/export to Desktop executables and HTML5.
DarkBASIC first appeared in the late 90's/early 00's and offered several 3D functions from the beginning. It is a procedural language.
The biggest differences in the base language will be the way Types are declared. DarkBASIC will be much like QuickBASIC while BlitzMax will use the Field keyword to define member variables and the Function keyword to define methods.
BlitzPlus is released under the zlib/libpng license.
The zlib/libpng License
Copyright (c) 2013 Blitz Research Ltd
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
But since seeing this post I looked at the DarkBasic website and it appears they are also OpenSourcing their Pro version as well.
https://www.thegamecreators.com/product/dark-basic-pro-open-...
If you have one or know of one, consider this.
Here is a Wikibooks entry on it: https://en.wikibooks.org/wiki/BlitzMax