Basic4ppc
Encyclopedia
Basic4ppc is a programming language
for Smartphone
s and Pocket PC
handheld computer
s running Windows Mobile
operating system
, by Anywhere software. The Language is based on a BASIC
-like syntax, taking advantage of Microsoft
’s .NET
technology, to allow additional libraries, graphical user interface design of windows forms, rapid application development
(RAD), and .NET
framework compatible compilation
. The language implements a unique way of adding objects to a program without being object-oriented
. Its advantages are simplicity, development pace and the integration with .NET framework. A special version of the integrated development environment
(IDE) allows developing straight onto the mobile device.
Version 2.0 added major improvements with user interface, controls and optimization.
8/2006 - Version 3.0 released, improved stability, allowed stand-alone compiling for first time.
12/2006 - Version 4.0 released, introduced ability to use external libraries for first time.
5/2007 - Version 5.0 released, with fully new IDE and support for Smartphones.
12/2007 - Version 6.0 created a breakthrough, introduced optimized compiling, thus allowing far better performance on both device and desktop compiled applications.
10/2008 - Version 6.5 released, introduced modules support.
06/2009 - Version 6.8 released, with automatic support for different screen resolutions and addition of two new collections objects.
04/2010 - Version 6.9 released, added support for typed variables and subs.
.
Compilation available in four modes: Windows
executable, Device executable for Pocket PC
(with and without AutoScale), Desktop
executable, and Smartphone
executable (for mobile phones running Windows Mobile OS). Compiled .EXE files require .NET 2.0 framework to be installed on the target machine. This is usually the case with Windows XP
SP2 and later, but has to be manually taken care of with earlier versions.
Additional libraries: based on the Microsoft
.NET
framework, Basic4ppc can use code
inside .NET
.dll files after being adapted for Basic4ppc (this can be done by any programmer using Microsoft Development tools). Many such additional libraries exist, most of which are open source
, written by users and accessible via the Basic4ppc forum
.
Merging: Additional libraries code is merged into the main executable almost always. This way a single file can be deployed.
, implementing a partial object-oriented programming
model. Syntax is similar to common Basic dialects, most influenced by Visual Basic. It supports events
. Like most modern languages, the development environment supplies graphical user interface design tools. Users build applications using the drag and drop, component based UI. This is possible on both Device and Desktop, being unique in this ability.
Regular flow structures, such as if…then and for…next are supported, as in many other Basic versions.
Reserved words: Basic4ppc includes a vast number of reserved words. This is because of variable declaration scope.
Variables can be local (accessible throughout a subroutine), global (accessible throughout a module) or public (accessible throughout a program). All variables are typeless. This means you can write the following code:
There is no need to declare variables explicitly.
Subroutines (called "Sub") are the most basic unit of code. All code must be written inside subroutine
s. Subroutines can return a value.
Direct Naming Reference: All internal controls can be accessed directly and passed as parameters to subroutines by specifying their name expressed as a string
. This lets the programmer the ability to pass controls as parameters without knowing in advance the control that is to be passed, and without having to deal with either pointers nor with object oriented programming.
AutoScale mode allows developing for different screen resolution having the language taking care of the adjustments needed in UI appearance.
Code snippet that displays a message box "Hello, World!" as the application starts, without any forms being loaded:
, database
s, user interface
, GPS, barcode
readers and peripheral devices, debug, connectivity (bluetooth, wifi, and data-transfer protocols such as http, ftp and so on), XML
, and more.
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
for Smartphone
Smartphone
A smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...
s and Pocket PC
Pocket PC
A Pocket PC is also known by Microsoft as a 'Windows Mobile Classic device'. It is a hardware specification for a handheld-sized computer, personal digital assistant , that runs the Microsoft 'Windows Mobile Classic' operating system...
handheld computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
s running Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
, by Anywhere software. The Language is based on a BASIC
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
-like syntax, taking advantage of Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
’s .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
technology, to allow additional libraries, graphical user interface design of windows forms, rapid application development
Rapid application development
Rapid application development is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself...
(RAD), and .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
framework compatible compilation
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
. The language implements a unique way of adding objects to a program without being object-oriented
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
. Its advantages are simplicity, development pace and the integration with .NET framework. A special version of the integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
(IDE) allows developing straight onto the mobile device.
History (major versions)
Version 1.00 of Basic4ppc was released in 2005. It was targeted mainly for handheld devices, letting users program in a unique device IDE. Basic concepts where introduced there, such as the direct naming reference and the syntax.Version 2.0 added major improvements with user interface, controls and optimization.
8/2006 - Version 3.0 released, improved stability, allowed stand-alone compiling for first time.
12/2006 - Version 4.0 released, introduced ability to use external libraries for first time.
5/2007 - Version 5.0 released, with fully new IDE and support for Smartphones.
12/2007 - Version 6.0 created a breakthrough, introduced optimized compiling, thus allowing far better performance on both device and desktop compiled applications.
10/2008 - Version 6.5 released, introduced modules support.
06/2009 - Version 6.8 released, with automatic support for different screen resolutions and addition of two new collections objects.
04/2010 - Version 6.9 released, added support for typed variables and subs.
Android
In 2010 a version for Android phones/tablets was released, this is a separate environment working along the same lines and the language is "basic" like and can be compiled to Android devices. Basic4Android homepageLanguage features
Dual development platform: Basic4ppc allows development straight on the handheld device via a fully compatible Device IDE. Code written on either device or desktop IDEs is identical for both platforms and operating systems. Compilation, however, must target either device or desktop, due to the difference in the operating systemOperating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
.
Compilation available in four modes: Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
executable, Device executable for Pocket PC
Pocket PC
A Pocket PC is also known by Microsoft as a 'Windows Mobile Classic device'. It is a hardware specification for a handheld-sized computer, personal digital assistant , that runs the Microsoft 'Windows Mobile Classic' operating system...
(with and without AutoScale), Desktop
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...
executable, and Smartphone
Smartphone
A smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...
executable (for mobile phones running Windows Mobile OS). Compiled .EXE files require .NET 2.0 framework to be installed on the target machine. This is usually the case with Windows XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...
SP2 and later, but has to be manually taken care of with earlier versions.
Additional libraries: based on the Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
.NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
framework, Basic4ppc can use code
Code
A code is a rule for converting a piece of information into another form or representation , not necessarily of the same type....
inside .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
.dll files after being adapted for Basic4ppc (this can be done by any programmer using Microsoft Development tools). Many such additional libraries exist, most of which are open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
, written by users and accessible via the Basic4ppc forum
Internet forum
An Internet forum, or message board, is an online discussion site where people can hold conversations in the form of posted messages. They differ from chat rooms in that messages are at least temporarily archived...
.
Merging: Additional libraries code is merged into the main executable almost always. This way a single file can be deployed.
Characteristics
Basic4ppc is procedural, structuralStructured programming
Structured programming is a programming paradigm aimed on improving the clarity, quality, and development time of a computer program by making extensive use of subroutines, block structures and for and while loops - in contrast to using simple tests and jumps such as the goto statement which could...
, implementing a partial object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
model. Syntax is similar to common Basic dialects, most influenced by Visual Basic. It supports events
Event (computing)
In computing an event is an action that is usually initiated outside the scope of a program and that is handled by a piece of code inside the program. Typically events are handled synchronous with the program flow, that is, the program has one or more dedicated places where events are handled...
. Like most modern languages, the development environment supplies graphical user interface design tools. Users build applications using the drag and drop, component based UI. This is possible on both Device and Desktop, being unique in this ability.
Regular flow structures, such as if…then and for…next are supported, as in many other Basic versions.
Reserved words: Basic4ppc includes a vast number of reserved words. This is because of variable declaration scope.
Variables can be local (accessible throughout a subroutine), global (accessible throughout a module) or public (accessible throughout a program). All variables are typeless. This means you can write the following code:
There is no need to declare variables explicitly.
Subroutines (called "Sub") are the most basic unit of code. All code must be written inside subroutine
Subroutine
In computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....
s. Subroutines can return a value.
Direct Naming Reference: All internal controls can be accessed directly and passed as parameters to subroutines by specifying their name expressed as a string
String (computer science)
In formal languages, which are used in mathematical logic and theoretical computer science, a string is a finite sequence of symbols that are chosen from a set or alphabet....
. This lets the programmer the ability to pass controls as parameters without knowing in advance the control that is to be passed, and without having to deal with either pointers nor with object oriented programming.
AutoScale mode allows developing for different screen resolution having the language taking care of the adjustments needed in UI appearance.
Example code
Here is an example of the language:Code snippet that displays a message box "Hello, World!" as the application starts, without any forms being loaded:
Libraries
Based on Microsoft's .NET technology, Basic4ppc supports .NET .DLLs with some minor adjustments. This allowed users to create a lot of open-source libraries, downloadable at the Basic4ppc forum, usually with complete source code. As with many other programming languages, additional libraries include most of the real-world language functionality. Additional libraries cover subjects such as graphicsComputer graphics
Computer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....
, database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
s, user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
, GPS, barcode
Barcode
A barcode is an optical machine-readable representation of data, which shows data about the object to which it attaches. Originally barcodes represented data by varying the widths and spacings of parallel lines, and may be referred to as linear or 1 dimensional . Later they evolved into rectangles,...
readers and peripheral devices, debug, connectivity (bluetooth, wifi, and data-transfer protocols such as http, ftp and so on), XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
, and more.