developer = Eros Olmi and Roberto Bianchi latest_release_version = v1.6.0.10 latest_release_date = July 5 - 2008 dialects = BASIC operating_system = Windows license = Freeware website = http://www.thinbasic.com/
thinBasic is a BASIC-like computerprogramminglanguageinterpreter, specifically written for computer automation. As the project continues, it can be used for a wide range of tasks.
Features
* Rich set of about 1300 predefined keywords, provided by modules * User-defined functions with local, static or global variable declaration can take up to 32 parameters * Wide range of data types: ** Dynamic ( STRING up to 2Gb automatically managed) and fixed length ( STRING * n, ASCIIZ * n) strings ** Integer datatypes: BOOLEAN, BYTE, WORD, INTEGER, DWORD, LONG, QUAD ** Floating point datatypes: SINGLE, DOUBLE, EXT, CURRENCY ** Other: VARIANT, GUID ** Pointers
* User defined types: TYPEs, UNIONs * All main flow control statements: ** SELECT CASE ** IF ... THEN/ELSEIF/ELSE/END IF ** loops ( infinite, conditional, FOR, WHILE, DO/LOOP WHILE ..., DO/LOOP UNTIL ...)
* Dynamic calling of functions (using function name composed at runtime using string expression) gives great power
* Modules for extending keywords and functionality ** User interface ** Console ** File handling ** Formula evaluation ** 3D graphics ** Game devices input ** Script self-compilation ** Internet communications ** Statistics ** Tokenizer ** Printing ** Machine code and assembler ** ... * OpenGL, XML, ODE handling via header files * Comes with IDE: thinAir ** Syntax highlighting ** Optional organization of code to projects ** Code templates ** Optional script obfuscation ** Creation of independent executable from script
* Module development using SDK for many languages ( PowerBASIC, FreeBASIC, IBASIC, C, MASM, ... )
References
* Web site: http://www.thinbasic.com/ * Community forum: http://community.thinbasic.com/ * Online help: http://www.thinbasic.com/public/products/thinBasic/help/html/index.html * Download page: http://www.thinbasic.com/index.php?option=com_docman&Itemid=66
Code samples
Console program, which asks user about name and then greets him:' Specifies program will use functions from console moduleUSES "Console"
' Creates global variable to hold user nameGLOBAL UserName AS STRING
' Asks user for the nameConsole_Print("What is your name?: ")
' Stores it to variableUserName = Console_ReadLine
' If length of username is 0 then no name is specified, else program will say helloIF Len(UserName) = 0 THEN Console_PrintLine("No user name specified...") ELSE Console_PrintLine("Hello " + UserName + "!") END IF
' Waits for any key from user before program endsConsole_WaitKey
Comparison of traditional and special technique to call functions:' Use File module for handling filesUSES "FILE"
' Assign file name to variable, notice assignment can be done at time of declaring variableGLOBAL MyFile AS STRING = "c:File.txt"GLOBAL ReturnValue AS LONG
' Determine file extension, convert to upper case' and according to the type call appropriate functionSELECT CASE UCASE$(FILE_PATHSPLIT(MyFile, %Path_Ext)) CASE "TXT" ReturnValue = Load_Txt(MyFile) CASE "BMP" ReturnValue = Load_BMP(MyFile)
END SELECT
FUNCTION Load_TXT( fName as string ) AS LONG
' Code to load TXT file here
END FUNCTION
FUNCTION Load_BMP( fName as string ) AS LONG
' Code to load BMP file here
END FUNCTION
' Use File module for handling filesUSES "FILE"
' Assign file name to variable, notice assignment can be done at time of declaring variableGLOBAL MyFile AS STRING = "c:File.txt"GLOBAL ReturnValue AS LONG
' Functions are named Load_, so we can determine' the function name we need at run time and save some lines of codeCALL "Load_"+FILE_PATHSPLIT(MyFile, %Path_Ext) ( MyFile ) To ReturnValue
FUNCTION Load_TXT( fName as string ) AS LONG
' Code to load TXT file here
END FUNCTION
FUNCTION Load_BMP( fName as string ) AS LONG
' Code to load BMP file here
END FUNCTION
Pros and cons
Advantages: * Takes full advantage of resources provided by Windows platform ( registry, user interface, work with processes, COM, DLLs) * Usually fast execution * Speed optimizations can be done using machine code and assembler * Under continuous development
Disadvantages: * Only for Windows platform * Performance of applications can be lower comparing to output of compilers, thanks to language interpreter nature * Object-oriented programming classes are not implemented
Compatibility
thinBASIC has been developed under Microsoft WindowsXP Professional using PowerBASIC, and requires Internet Explorer version 5.50 or above.
* Basic4GL * Baltie * Blitz Basic * Brutus2D * Darkbasic * FreeBASIC * Game Maker * Interactive fiction development systems * List of BASIC dialects * List of BASIC dialects by platform
External links
* [http://www.thinbasic.com/ Official website] * [http://psch.thinbasic.com/ Graphics tutorials] * [http://tab.thinbasic.com/ thinBASIC Adventure Builder] * [http://www.shnetworks4.net/~asciiwor/pcopy/issue50/ PCOPY! Issue #40] , November 16th 2007, About ThinBasic, Eros Olmi. * [http://www.shnetworks4.net/~asciiwor/pcopy/issue50/ PCOPY! Issue #50] , March 15th 2007, 3D graphics in ThinBASIC, Petr Schreiber. * [http://community.thinbasic.com/index.php?action=dlattach;topic=1865.0;attach=2694 ThinBasic Journal #1] , July 5th 2008, PDF
AutoIt — Développeur Jonathan Bennett et le groupe AutoIt Dernière version 3 … Wikipédia en Français
Хронология языков программирования — Списки языков программирования По категориям Хронологический Генеалогический Хронология языков программирования упорядоченный в хронологическом порядке список языков программирования. Содержание … Википедия
Преобразование Шиндлера — Преобразование Шиндлера(Schindler Transformation) эффективный алгоритм упорядочивания элементов с большой длиной ключа, использованием обычной поразрядной сортировки. Спустя год после опубликования алгоритма BWT, Михаэлем Шиндлером было… … Википедия
BASIC — This article is about the programming language. For the think tank, see British American Security Information Council. For the group of countries, see BASIC countries. For other uses, see Basic (disambiguation). BASIC Screenshot of Atari BASIC,… … Wikipedia
GW-BASIC — Appeared in 1983 Developer Microsoft (for Compaq) Stable release 3.23 (1988) … Wikipedia
Interpreted language — In computer programming an interpreted language is a programming language whose implementation often takes the form of an interpreter. Theoretically, any language may be compiled or interpreted, so this designation is applied purely because of… … Wikipedia
OpenGL — Original author(s) Silicon Graphics Developer(s) Khronos Group Stable release 4.2 … Wikipedia
QuickBASIC — Not to be confused with QBASIC. QuickBASIC The opening screen of QuickBasic Developer(s) Microsoft Corporation Initial release 1985 … Wikipedia
XBasic — is a variant of the BASIC programming language that was developed in the late 1980s for the Motorola 88000 CPU and Unix by Max Reason. In the early 1990s it was ported to Windows and Linux, and since 1999 it has been available as open source… … Wikipedia
List of programming languages by category — Programming language lists Alphabetical Categorical Chronological Generational This is a list of programming languages grouped by category. Some languages are listed in multiple categories. Contents … Wikipedia