From Wikipedia, the free encyclopedia. This is an alphabetical list of BASIC dialects — interpreted and compiled variants of the BASIC programming language.Each dialects' platform(s) (i.e., the computer models and operating systems) are given in parentheses along with any other significant information.
(Redirected from Fbasic)
Paradigm | Procedural, object-oriented |
---|---|
Designed by | Andre Victor[1] |
Developer | The FreeBASIC Development Team |
First appeared | 2004; 16 years ago |
Stable release | |
Typing discipline | Static |
OS | MS-DOS, FreeBSD, Linux, Microsoft Windows |
License | GNU GPLv2+, Standard libraries licensed under the GNU LGPLv2+ |
Website | www.freebasic.net |
Influenced by | |
QuickBASIC, C |
![Htbasic Htbasic](/uploads/1/2/5/7/125755021/447442733.jpg)
FreeBASIC is a multiplatform, free/open source (GPL) BASICprogramming language and compiler for Microsoft Windows, protected-mode MS-DOS (DOS extender), Linux, FreeBSD and Xbox. The Xbox version is no longer maintained.[2]
According to its official Web site,[3] FreeBASIC provides syntax compatibility with programs originally written in Microsoft QuickBASIC (QB). Unlike QuickBASIC, however, FreeBASIC is a command line only compiler, unless users manually install an external integrated development environment (IDE) of their choice.[4] IDEs specifically made for FreeBASIC include FBide and FbEdit.[5]
- 1Compiler features
Compiler features[edit]
On its back end, FreeBASIC makes use of GNU Binutils in order to produce console and graphical user interface applications. FreeBASIC supports the linking and creation of C static and dynamic libraries and has limited support for C++ libraries. As a result, code compiled in FreeBASIC can be reused in most native development environments.
C style preprocessing, including multiline macros, conditional compiling and file inclusion, is supported. The preprocessor also has access to symbol information and compiler settings, such as the language dialect.
Syntax[edit]
Initially, FreeBASIC emulated Microsoft QuickBASIC syntax as closely as possible. Beyond that, the language has continued its evolution. As a result, FreeBASIC combines several language dialects for maximum level of compatibility with QuickBASIC and full access to modern features.[6] New features include support for concepts such as objects, operator overloading, function overloading, namespaces and others.[7]
Newline characters indicate the termination of programming statements. A programming statement can be distributed on multiple consecutive lines by using the underscore line continuation char (_), whereas multiple statements may be written on a single line by separating each statement with a colon (:).
Block comments, as well as end-of-line remarks are supported. Full line comments are made with an apostrophe
'
, while blocks of commented code begin with /'
and end with '/
.FreeBASIC is not case-sensitive.
Graphics library[edit]
FreeBASIC provides built-in, QuickBASIC compatible graphics support through FBgfx, which is automatically included into programs that make a call to the
SCREEN
command. Its backend defaults to OpenGL on Linux and DirectX on Microsoft Windows. This abstraction makes FBgfx graphics code cross-platform compatible. However, FBgfx is not hardware accelerated.Users familiar with external graphics utilities such as OpenGL or the Windows API can use them without interfering with the built-in graphics library.
Language dialects[edit]
As FreeBASIC has evolved, changes have been made that required breaking older-styled syntax. In order to continue supporting programs written using the older syntax, FreeBASIC now supports the following dialects:
- The default dialect (-lang fb as a command-line argument) supports all new compiler features and disallows archaic syntax.
- The FB-lite dialect (-lang fblite) permits use of most new, non-object-oriented features in addition to older-style programming. Implicit variables, suffixes,
GOSUB
/RETURN
, numeric labels and other features are allowed in this dialect. - The QB dialect (-lang qb) attempts to replicate QuickBASIC behavior and is able to compile many QuickBASIC programs without modification.
Example code[edit]
Standard programs, such as the 'Hello, World!' program are done just as they were in QuickBASIC.
FreeBASIC adds to this with support for object-oriented features such as methods, constructors, dynamic memory allocation, properties and temporary allocation.
In both cases, the language is well suited for learning purposes.
![Demo Demo](/uploads/1/2/5/7/125755021/881178921.jpg)
References[edit]
- ^'freeBASIC about page'. freeBASIC compiler. Retrieved 5 February 2012.
- ^FBWiki : FaqPgxbox
- ^freeBASIC Programming Language: Official Web site
- ^'freeBASIC official website downloads page'. freeBASIC compiler. Retrieved 13 May 2017.
- ^FbEdit on sourceforge, retrieved 13 May 2017
- ^'freeBASIC dialects'. coderJeff's home page. Retrieved 5 February 2012.
- ^'Differences from QB'. freeBASIC.net documentation. Retrieved 5 February 2012.
External links[edit]
Wikimedia Commons has media related to: |
- FreeBASIC on GitHub
- FreeBASIC on SourceForge.net
- IDEs
- WinFBE - Modern FreeBASIC Editor for Windows
- fbide.freebasic.net — FBIDE Integrated Development Environment for freeBASIC
- FBEdit (current) — FBEdit source code editor for FreeBASIC, version 1.0.7.6c
- FBEdit source code editor for freeBASIC (outdated version: 1.0.6.8) on SourceForge.net
Retrieved from 'https://en.wikipedia.org/w/index.php?title=FreeBASIC&oldid=935927319'
Rocky Mountain BASIC (also RMB or RM-BASIC) is a dialect of the BASICprogramming language created by Hewlett-Packard. It was especially popular for control of automatic test equipment using GPIB. It has several features which are or were unusual in BASIC dialects, such as event-driven operation, extensive external I/O support, complex number support, and matrix manipulation functions. Today, RMB is mainly used in environments where an investment in RMB software, hardware, or expertise already exists.
History and implementations[edit]
The origins of Rocky Mountain BASIC can be traced to Hewlett-Packard's facilities in Colorado. Since Colorado is located in the Rocky Mountains, this variation of BASIC was dubbed 'Rocky Mountain BASIC', to differentiate it from the other BASIC dialects developed within the company. It is unclear if the Rocky Mountain BASIC name was original to HP or came from outside, but HP/Keysight use the term in their own documentation, as well as the more formal 'HP BASIC' product name.
The HP 9830A, introduced in 1972, was the top of the 9800 line programmable calculator line, which was the first HP computer which fit on a desktop to have a BASIC interpreter in read-only memory (ROM). The interpreter could be extended with ROMs for features like mass storage, plotter graphics, string variables and matrix operations. It had a one-line LED panel for line editing, but was followed in the late 1970s by the faster HP 9835 and HP 9845 desktop computers with full screen CRT displays. These were amongst the first workstations aimed at scientists and engineers for both technical computing and instrumentation control. These were followed by the HP 9826 and HP 9836 computers, which were the leading models of the HP 9000 series of computers. All four of these computers ran versions of Rocky Mountain BASIC. These computers were often used as controllers for HP automatic test equipment, connected via the HP Instrument Bus, (HP-IB). HP wanted to provide a programming language that would be friendly to the engineers and scientists who used such test equipment. The BASIC programming language was chosen, as it was already intended to be easy for novices; knowledgeable users could also program them in assembly language or a version of Pascal.
Early implementations of RMB software on the HP 9000 platform were called HP BASIC/WS. BASIC/WS ran stand-alone. It provided operating system (OS), integrated development environment (editor and debugger), and the language interpreter. Later, HP implemented RMB on top of the HP-UX operating system, and called it BASIC/UX. BASIC/UX 300 ran on series 300 hardware and BASIC/UX 700 ran on series 700 hardware. BASIC/WS, BASIC/UX 300 and BASIC/UX 700 were last updated to fix Year 2000 date related issues.
As technology advanced, HP was able to embed RMB implementations directly in the test equipment. The capabilities of these embedded implementations varied. These implementations went by a variety of names, including HP Instrument BASIC and Board Test BASIC (BT-BASIC).
HP produced an RMB implementation for Microsoft Windows called HP Instrument BASIC for Windows; however, it never enjoyed the success of their other RMB products.
Another company, TransEra of Orem, Utah, created a clone implementation of RMB, which they called High Tech BASIC, or HT BASIC (now HTBasic), meant to run on IBM PC hardware. HP later licensed HT BASIC from TransEra Corporation, re-branded it, and sold it as HP BASIC for Windows. It was unrelated to the HP-produced 'HP Instrument BASIC for Windows'. As of 2015, TransEra is still maintaining and updating HTBasic with fixes and new features - the current version is 10.0.3. Although HTBasic is fundamentally an interpreted language, a compiler is available.
Test & Measurement Systems, Inc., also known as 'TAMS', of Loveland, Colorado, acquired HP BASIC/WS and BASIC/UX 300 product responsibility in 1998. TAMS then sold and supported legacy versions of BASIC/WS and BASIC/UX . TAMS licensed BASIC/UX 700 from Agilent Technologies and ported RMB to both HP-UX 11i and Red Hat Enterprise Linux. The HP-UX 11i implementation was known as 'BASIC for 11i' or 'BASIC/UX 11i'. The Red Hat Enterprise Linux version was known as 'BASIC for Linux', 'BASIC/LX' or 'RMBLX'. TAMS ceased operating on March 31, 2016.
HP retained BASIC/UX 700 (E2045C, BASIC for HP-UX 10.20) until spinning off their instrument division as Agilent Technologies. BASIC/UX 700 (on HP-UX 10.20) product responsibility went with Agilent Technologies, who eventually dropped support for it. Agilent referred customers to either TransEra for BASIC for Windows or to TAMS for BASIC/WS, BASIC/UX or BASIC for Linux.
See also[edit]
References[edit]
- www.agilent.com — Agilent site; search for 'HP BASIC'
- www.htbasic.com — HTBasic; RMB implementation for MS Windows (TransEra)
- www.tamsinc.com — Test & Measurement Systems, Inc., a.k.a. TAMS; BASIC/WS, BASIC/UX, BASIC for Linux
- www.prc68.com —Rack and Stack Systems; excellent history of early RMB systems
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Rocky_Mountain_BASIC&oldid=922839414'