Blitz BASIC: Difference between revisions

Jump to navigation Jump to search
imported>Guy Harris
The "programming language" argument indicates what language the software is written *in*, not what language it *supports as input* or *generates*.
 
imported>X5TNE
Add `{{More citations needed}}` template for the little citations in the article.
 
Line 1: Line 1:
{{short description|Programming language of the first Blitz compilers}}
{{short description|Programming language of the first Blitz compilers}}{{More citations needed|date=January 2026}}
{{Use dmy dates|date=January 2016}}
{{Use dmy dates|date=January 2016}}
{{Infobox software
{{Infobox software
Line 27: Line 27:
}}
}}


'''Blitz BASIC''' is the [[programming language]] dialect of the first Blitz<ref>The word "[[:de:Blitz|Blitz]]" means "lightning" in German.</ref> compilers, devised by New Zealand–based developer Mark Sibly. Being derived from [[BASIC]], Blitz syntax was designed to be easy to pick up for beginners first learning to program. The languages are game-programming oriented, but are often found general-purpose enough to be used for most types of application. The Blitz language evolved as new products were released, with recent incarnations offering support for more advanced programming techniques such as [[object-oriented programming|object-orientation]] and [[Thread (computing)#Single-threaded vs multithreaded programs|multithreading]]. This led to the languages losing their BASIC moniker in later years.<ref>{{cite web|url=https://blitzresearch.itch.io/|title=The Official Blitz Website|website=blitzresearch.itch.io/|url-status=live|archive-url=https://web.archive.org/web/20170603205639/http://www.blitzbasic.com/|archive-date=3 June 2017|df=dmy-all}}</ref>
'''Blitz BASIC''' is the [[programming language]] dialect of the first Blitz<ref>The word "[[:de:Blitz|Blitz]]" means "lightning" in German.</ref> compilers, devised by New Zealand–based developer Mark Sibly. Being derived from [[BASIC]], Blitz syntax was designed to be easy to pick up for beginners first learning to program. The languages are game-programming oriented, but are often found general-purpose enough to be used for most types of applications. The Blitz language evolved as new products were released, with recent incarnations offering support for more advanced programming techniques such as [[object-oriented programming|object-orientation]] and [[Thread (computing)#Single-threaded vs multithreaded programs|multithreading]]. This led to the languages losing their BASIC moniker in later years.<ref>{{cite web|url=https://blitzresearch.itch.io/|title=The Official Blitz Website|website=blitzresearch.itch.io/|url-status=live|archive-url=https://web.archive.org/web/20170603205639/http://www.blitzbasic.com/|archive-date=3 June 2017|df=dmy-all}}</ref>


==History==
==History==
Line 51: Line 51:
| latest release version = 1.51
| latest release version = 1.51
| latest release date = {{Start date and age|df=yes|2015|09|21}}
| latest release date = {{Start date and age|df=yes|2015|09|21}}
| typing = [[Static typing|Static]], [[Weak typing|Weak]], [[Strong typing|Strong]] (optional)
| typing = [[Static typing|Static]], [[Weak typing|weak]], [[Strong typing|strong]] (optional)
| implementations =  
| implementations =  
| dialects = Official BlitzMax, bmx-ng
| dialects = Official BlitzMax, bmx-ng
Line 65: Line 65:
BlitzMax is also the first [[modular programming|modular]] version of the Blitz languages, improving the extensibility of the command-set. In addition, all of the standard modules shipped with the compiler are open-source and so can be tweaked and recompiled by the programmer if necessary. The official BlitzMax [[cross-platform]] [[graphical user interface|GUI]] module (known as MaxGUI) allows developers to write GUI interfaces for their applications on Linux ([[FLTK]]), Mac ([[Cocoa (API)|Cocoa]]) and Windows. Various user-contributed modules extend the use of the language by wrapping such libraries as [[wxWidgets]], [[Cairo (graphics)|Cairo]], and [[Fontconfig]] as well as a selection of database modules. There are also a selection of third-party 3D modules available namely MiniB3D<ref>{{cite web|url=http://www.blitzbasic.com/Community/topics.php?forum=119|title=Blitz News|website=www.blitzbasic.com|access-date=12 December 2007|archive-url=https://web.archive.org/web/20080126114117/http://www.blitzbasic.com/Community/topics.php?forum=119|archive-date=26 January 2008|url-status=dead|df=dmy-all}}</ref> - an open-source OpenGL engine which can be compiled and used on all three of BlitzMax's supported platforms.
BlitzMax is also the first [[modular programming|modular]] version of the Blitz languages, improving the extensibility of the command-set. In addition, all of the standard modules shipped with the compiler are open-source and so can be tweaked and recompiled by the programmer if necessary. The official BlitzMax [[cross-platform]] [[graphical user interface|GUI]] module (known as MaxGUI) allows developers to write GUI interfaces for their applications on Linux ([[FLTK]]), Mac ([[Cocoa (API)|Cocoa]]) and Windows. Various user-contributed modules extend the use of the language by wrapping such libraries as [[wxWidgets]], [[Cairo (graphics)|Cairo]], and [[Fontconfig]] as well as a selection of database modules. There are also a selection of third-party 3D modules available namely MiniB3D<ref>{{cite web|url=http://www.blitzbasic.com/Community/topics.php?forum=119|title=Blitz News|website=www.blitzbasic.com|access-date=12 December 2007|archive-url=https://web.archive.org/web/20080126114117/http://www.blitzbasic.com/Community/topics.php?forum=119|archive-date=26 January 2008|url-status=dead|df=dmy-all}}</ref> - an open-source OpenGL engine which can be compiled and used on all three of BlitzMax's supported platforms.


In October 2007, BlitzMax 1.26 was released which included the addition of a [[reflection (computer programming)|reflection]] module.<ref>{{cite web|url=http://www.blitzbasic.com/Community/posts.php?topic=72891#814878|title=BlitzMax update 1.26 now available!|website=www.blitzbasic.com|access-date=11 January 2011|archive-url=https://web.archive.org/web/20110526130312/http://www.blitzbasic.com/Community/posts.php?topic=72891#814878|archive-date=26 May 2011|url-status=dead|df=dmy-all}}</ref> BlitzMax 1.32 shipped new [[thread (computing)|threading]] and [[Lua (programming language)|Lua]] scripting modules and most of the standard library functions have been updated so that they are [[unicode]] friendly.<ref>[http://www.blitzbasic.com/Community/posts.php?topic=83917#947391 BlitzMax V132 for Windows and MacIntel now up!] {{Webarchive|url=https://web.archive.org/web/20110526130325/http://www.blitzbasic.com/Community/posts.php?topic=83917#947391 |date=26 May 2011}} on blitzbasic.com</ref>
In October 2007, BlitzMax 1.26 was released which included the addition of a [[reflection (computer programming)|reflection]] module.<ref>{{cite web|url=http://www.blitzbasic.com/Community/posts.php?topic=72891#814878|title=BlitzMax update 1.26 now available!|website=www.blitzbasic.com|access-date=11 January 2011|archive-url=https://web.archive.org/web/20110526130312/http://www.blitzbasic.com/Community/posts.php?topic=72891#814878|archive-date=26 May 2011|url-status=dead|df=dmy-all}}</ref> BlitzMax 1.32 shipped new [[thread (computing)|threading]] and [[Lua (programming language)|Lua]] scripting modules and most of the standard library functions have been updated so that they are [[Unicode]]-friendly.<ref>[http://www.blitzbasic.com/Community/posts.php?topic=83917#947391 BlitzMax V132 for Windows and MacIntel now up!] {{Webarchive|url=https://web.archive.org/web/20110526130325/http://www.blitzbasic.com/Community/posts.php?topic=83917#947391 |date=26 May 2011}} on blitzbasic.com</ref>


===Blitz3D SDK===
===Blitz3D SDK===
Line 76: Line 76:


===Open-source release===
===Open-source release===
BlitzPlus was released as [[open-source software|open-source]] on 28 April 2014 under the [[zlib license]] on [[GitHub]].<ref>[http://www.blitzbasic.com/Home/_index_.php BlitzPlus Source Code Released] {{Webarchive|url=https://web.archive.org/web/20160716133612/http://www.blitzbasic.com/Home/_index_.php |date=16 July 2016}} by simonh (2014-04-29)</ref><ref>[http://www.blitzbasic.com/Community/posts.php?topic=102907 Blitz3D open sourced!] {{webarchive|url=https://web.archive.org/web/20160906075242/http://www.blitzbasic.com/Community/posts.php?topic=102907 |date=6 September 2016}} on Blitz3D Forums by (2014)</ref> Blitz3D followed soon after and was released as Open Source on 3 August 2014.<ref>[http://www.blitzbasic.com/Home/_index_.php Blitz3D Now Free and Open Source!] {{Webarchive|url=https://web.archive.org/web/20160716133612/http://www.blitzbasic.com/Home/_index_.php |date=16 July 2016}} by simonh (2014-08-03)</ref><ref>[https://github.com/blitz-research/blitz3d blitz3d] on GitHub</ref> BlitzMax was later released as Open Source on 21 September 2015.<ref>[https://github.com/blitz-research/blitzmax blitzmax] on GitHub</ref>
BlitzPlus was released as [[open-source software|open-source]] on 28 April 2014 under the [[Zlib License|zlib licence]] on [[GitHub]].<ref>[http://www.blitzbasic.com/Home/_index_.php BlitzPlus Source Code Released] {{Webarchive|url=https://web.archive.org/web/20160716133612/http://www.blitzbasic.com/Home/_index_.php |date=16 July 2016}} by simonh (2014-04-29)</ref><ref>[http://www.blitzbasic.com/Community/posts.php?topic=102907 Blitz3D open sourced!] {{webarchive|url=https://web.archive.org/web/20160906075242/http://www.blitzbasic.com/Community/posts.php?topic=102907 |date=6 September 2016}} on Blitz3D Forums by (2014)</ref> Blitz3D followed soon after and was released as open-source software on 3 August 2014.<ref>[http://www.blitzbasic.com/Home/_index_.php Blitz3D Now Free and Open Source!] {{Webarchive|url=https://web.archive.org/web/20160716133612/http://www.blitzbasic.com/Home/_index_.php |date=16 July 2016}} by simonh (2014-08-03)</ref><ref>[https://github.com/blitz-research/blitz3d blitz3d] on GitHub</ref> BlitzMax was later released as open-source software on 21 September 2015.<ref>[https://github.com/blitz-research/blitzmax blitzmax] on GitHub</ref>


==Reception==
==Reception==
Line 269: Line 269:
==References==
==References==
{{Reflist|30em}}
{{Reflist|30em}}
==Further reading==
*NRS Developer Book for Blitz Basic, 1997.
[[File:NRS Developer Book for Blitz Basic Volume 1.jpg|alt=NRS Developer Book Vol I - Photo of Book Cover|thumb|NRS Developer Book Vol I - Photo of Book Cover]]


==External links==
==External links==