Difference between revisions of "FreeBASIC"

From TheAlmightyGuru
Jump to: navigation, search
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''FreeBASIC''' is a free and open source [[BASIC]] computer programming language designed by [[Andre Victor]] in 2004. The language was originally designed to be a modern implementation of [[QuickBASIC]], and can even compile most QuickBASIC programs, but it also greatly expands the original feature set to take advantage of modern computer architecture. The language can compile 32 or 64-bit programs for [[Windows]], [[Linux]], and [[FreeBSD]] as well as 32-bit programs for [[MS-DOS]].
+
[[Image:FreeBASIC - Logo.png|thumb|256x256px|FreeBASIC logo.]]
 +
 
 +
'''FreeBASIC''' is a [[freeware|free]] and [[open source]] [[BASIC]] [[computer programming]] language written in [[C++]] by [[Andre Victor]] in 2004. The language was originally designed to be a modern implementation of [[QuickBASIC]], and can even compile most QuickBASIC programs, but it also greatly expands the original language to take advantage of modern computer architecture. The language can compile 32 or 64-bit programs for [[Windows]], [[Linux]], and [[FreeBSD]] as well as 32-bit programs for [[MS-DOS]].
  
 
New features include:
 
New features include:
 
* The ability to link to [[C]] and [[C++]] libraries.
 
* The ability to link to [[C]] and [[C++]] libraries.
 
* Multi-threading support.
 
* Multi-threading support.
* Many new variable types including pointers, unsigned numeric types, 64-bit integers, wide-strings, and several more.
+
* Many new variable types including pointers, unsigned numeric types, 64-bit integers, wide-strings, date/time, and several more.
 +
* It's [[case sensitivity|case-insenstive]].
 +
 
 +
FreeBASIC does have several problems like its inability to properly trap when you accidentally go beyond the bounds of an array or overflow a numeric value. It also has very poor Windows integration, and nearly everything you would want to do to interact with Windows, from making forms to getting the path of current user's Documents folder, requires cryptic Windows API calls. The developers also aren't really putting any effort into expanding the BASIC list of commands. For example, common string functions that didn't exist in the early BASIC specification like replace, split, and join are not and will not be implemented in FreeBASIC. Instead, the developers encourage programmers to either rewrite the commands in BASIC--which is much slower--or import C libraries--which defeats the purpose of using BASIC.
 +
 
 +
FreeBASIC itself is just a compiler, for an [[integrated development environment|IDE]], I suggest [[WinFBE Suite]].
 +
 
 +
==Personal==
 +
I discovered FreeBASIC sometime in the 2000s while looking for a new RAD programming language. While I was initially excited to see it, and started programming various games using it. However, the fact that the developers aren't trying to expand it has left me to continue my search. However, I still use FreeBASIC when I want to quickly prototype an idea or make a simple command line program because development is still so much faster than most other languages.
  
I use FreeBASIC when I want to quickly test an idea or make a simple command line program for Windows because development is so much faster than most other languages. The only thing I don't like about FreeBASIC is its inability to properly trap when you accidentally go beyond the bounds of an array or overflow a numeric value.
+
==Media==
 +
<gallery>
 +
Beginner's Guide to FreeBasic, A.pdf|''A Beginner's Guide to FreeBasic''.
 +
</gallery>
  
 
==Links==
 
==Links==
Line 13: Line 26:
  
 
* [https://freebasic.net/wiki freebasic.net/wiki] - FreeBASIC Manual Wiki.
 
* [https://freebasic.net/wiki freebasic.net/wiki] - FreeBASIC Manual Wiki.
* [http://fbide.freebasic.net fbide.freebasic.net] - FreeBASIC IDE.
+
* [https://github.com/PaulSquires/WinFBE github.com/PaulSquires/WinFBE] - FreeBASIC Editor for Windows.
 +
* [https://documentation.help/FreeBASIC documentation.help/FreeBASIC] - Online documentation.
 +
* [http://fbide.freebasic.net fbide.freebasic.net] - FreeBASIC IDE (older IDE).
  
  
 
[[Category: Software]]
 
[[Category: Software]]
 +
[[Category: Useful Software]]
 
[[Category: Programming Languages]]
 
[[Category: Programming Languages]]
 
[[Category: DOS Software]]
 
[[Category: DOS Software]]
 
[[Category: Linux Software]]
 
[[Category: Linux Software]]
 
[[Category: Windows Software]]
 
[[Category: Windows Software]]
[[Category: Free Software]]
+
[[Category: Software Distribution Model - Freeware]]
[[Category: Open Source Software]]
+
[[Category: Software Distribution Model - Open Source]]

Revision as of 14:54, 16 May 2022

FreeBASIC logo.

FreeBASIC is a free and open source BASIC computer programming language written in C++ by Andre Victor in 2004. The language was originally designed to be a modern implementation of QuickBASIC, and can even compile most QuickBASIC programs, but it also greatly expands the original language to take advantage of modern computer architecture. The language can compile 32 or 64-bit programs for Windows, Linux, and FreeBSD as well as 32-bit programs for MS-DOS.

New features include:

  • The ability to link to C and C++ libraries.
  • Multi-threading support.
  • Many new variable types including pointers, unsigned numeric types, 64-bit integers, wide-strings, date/time, and several more.
  • It's case-insenstive.

FreeBASIC does have several problems like its inability to properly trap when you accidentally go beyond the bounds of an array or overflow a numeric value. It also has very poor Windows integration, and nearly everything you would want to do to interact with Windows, from making forms to getting the path of current user's Documents folder, requires cryptic Windows API calls. The developers also aren't really putting any effort into expanding the BASIC list of commands. For example, common string functions that didn't exist in the early BASIC specification like replace, split, and join are not and will not be implemented in FreeBASIC. Instead, the developers encourage programmers to either rewrite the commands in BASIC--which is much slower--or import C libraries--which defeats the purpose of using BASIC.

FreeBASIC itself is just a compiler, for an IDE, I suggest WinFBE Suite.

Personal

I discovered FreeBASIC sometime in the 2000s while looking for a new RAD programming language. While I was initially excited to see it, and started programming various games using it. However, the fact that the developers aren't trying to expand it has left me to continue my search. However, I still use FreeBASIC when I want to quickly prototype an idea or make a simple command line program because development is still so much faster than most other languages.

Media

Links

Link-Wikipedia.png  Link-Official.png