<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Basic4ppc</id>
	<title>Basic4ppc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Basic4ppc"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Basic4ppc&amp;action=history"/>
	<updated>2026-10-26T22:28:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Basic4ppc&amp;diff=8528322&amp;oldid=prev</id>
		<title>imported&gt;Cedar101: fix syntaxhighlight errors</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Basic4ppc&amp;diff=8528322&amp;oldid=prev"/>
		<updated>2023-06-22T01:22:37Z</updated>

		<summary type="html">&lt;p&gt;fix syntaxhighlight errors&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Refimprove|date=June 2017}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
|name = B4x&lt;br /&gt;
|logo =&lt;br /&gt;
|paradigm = [[Procedural programming]] and [[Event-driven programming|Event-driven]]&lt;br /&gt;
|year = {{Start date and age|2005}}&lt;br /&gt;
|designer = {{plainlist |&lt;br /&gt;
* Anywhere Software&lt;br /&gt;
* Erel Uziel, CEO&lt;br /&gt;
}}&lt;br /&gt;
|latest_release_version = &amp;lt;!-- n/a, various products: B4A, B4i, B4j, B4r --&amp;gt;&lt;br /&gt;
|latest_release_date = &amp;lt;!-- n/a various products {{Start date and age|2012}} --&amp;gt;&lt;br /&gt;
|typing = [[Static type|Static]], [[Weakly-typed programming language|Weak]]&lt;br /&gt;
|implementations =&lt;br /&gt;
|dialects = {{plainlist |&lt;br /&gt;
* b4a - Android&lt;br /&gt;
* b4i - iOS&lt;br /&gt;
* b4j - desktop with Java&lt;br /&gt;
* b4r - Arduino&lt;br /&gt;
}}&lt;br /&gt;
|influenced_by = [[Visual Basic]]&lt;br /&gt;
|operating_system = {{plainlist |&lt;br /&gt;
* [[Microsoft Windows]]&lt;br /&gt;
* [[Windows Mobile]]&lt;br /&gt;
* [[Android (operating system)]]&lt;br /&gt;
* [[Mac operating systems]]&lt;br /&gt;
* [[Arduino]]&lt;br /&gt;
}}&lt;br /&gt;
|website = {{url|www.b4x.com}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Basic4ppc&amp;#039;&amp;#039;&amp;#039; (pronounced &amp;quot;Basic for PPC&amp;quot;) is a [[programming language]] originally for [[Pocket PC]] handheld [[computer]]s running [[Windows Mobile]] [[operating system]], by Anywhere Software. Since 2014, &amp;#039;&amp;#039;&amp;#039;B4x&amp;#039;&amp;#039;&amp;#039; (&amp;quot;B for x&amp;quot;) was renamed, and currently, 2023, supports multiple devices and their OS, including desktop and mobile solutions with development adaptions for these environments.&amp;lt;ref&amp;gt;{{cite web |url= https://www.b4x.com |title= Cross platform RAD |website= b4x }}&amp;lt;/ref&amp;gt; The language is based on a [[BASIC]]-like syntax, taking advantage of [[Microsoft]]&amp;#039;s [[.NET Framework|.NET]] technology, to allow additional libraries, graphical user interface design of windows forms, [[rapid application development]] (RAD), and [[.NET Framework|.NET]] framework compatible [[Compiler|compilation]]. The language implements a unique way of adding objects to a program without being [[object-oriented programming|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 Windows Mobile device or. With the demise of Windows Mobile operating system and the devices running it Basic4PPC came to the end of its life in about 2012. For owners of Basic4PPC it remains a useful Windows-desktop BASIC compiler as it runs code directly in the Windows environment and it can compile a project to a Windows &amp;#039;exe&amp;#039; file for use as a Windows program.&lt;br /&gt;
&lt;br /&gt;
==History (major versions)==&lt;br /&gt;
* 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 were introduced there, such as the direct naming reference and the syntax.&lt;br /&gt;
* Version 2.0 added major improvements with user interface, controls and optimization.&lt;br /&gt;
* 8/2006 - Version 3.0 released, improved stability, allowed stand-alone compiling for first time.&lt;br /&gt;
* 12/2006 - Version 4.0 released, introduced ability to use external libraries for first time.&lt;br /&gt;
* 5/2007 - Version 5.0 released, with fully new IDE and support for Smartphones.&lt;br /&gt;
* 12/2007 - Version 6.0 created a breakthrough, introduced optimized compiling, thus allowing far better performance on both device and desktop compiled applications.&lt;br /&gt;
* 10/2008 - Version 6.5 released, introduced modules support.&lt;br /&gt;
* 06/2009 - Version 6.8 released, with automatic support for different screen resolutions and addition of two new collections objects.&lt;br /&gt;
* 04/2010 - Version 6.9 released, added support for typed variables and subs.&lt;br /&gt;
* 2014 - currently, 2023, supports various OS, including Android, iOS, Windows, Mac, Linux, Arduino, Raspberry PI, ESP8266/ESP32.&amp;lt;ref&amp;gt;{{cite web |url= https://www.b4x.com/android/forum/threads/new-domain-b4x-com.47399/ |title= New domain: b4x.com |website= b4x |date= Nov 25, 2014 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url= https://b4x.com |title= Cross platform RAD development tools |website= b4x }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
In 2010 a version for Android phones/tablets was released, this is a separate environment working along the same lines and the language is &amp;quot;basic&amp;quot; like and can be compiled to Android devices.&amp;lt;ref&amp;gt;{{cite web |url= https://www.b4x.com/b4a.html |title= B4A – The simple way to develop native Android apps |website= b4x }} &amp;lt;!-- currently 5/2023 this is a redirect from -- http://www.basic4ppc.com |title= Basic for PPC ( PPC - Pocket PC ) --&amp;gt; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Language features==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dual development platform&amp;#039;&amp;#039;&amp;#039;: 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 system]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Compilation&amp;#039;&amp;#039;&amp;#039; available in four modes: [[Microsoft Windows|Windows]] executable, Device executable for [[Pocket PC]] (with and without AutoScale), [[Desktop environment|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.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Additional libraries:&amp;#039;&amp;#039;&amp;#039; based on the [[Microsoft]] [[.NET Framework|.NET]] framework, Basic4ppc can use [[code]] inside [[.NET Framework|.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 [[Internet forum|forum]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Merging:&amp;#039;&amp;#039;&amp;#039; Additional libraries code is merged into the main executable almost always. This way a single file can be deployed.&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Basic4ppc is [[procedural programming language|procedural]], [[Structured programming|structural]], implementing a partial [[object-oriented programming]] model. Syntax is similar to common Basic dialects, most influenced by Visual Basic. It supports [[Event (computing)|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.&lt;br /&gt;
&lt;br /&gt;
Regular &amp;#039;&amp;#039;&amp;#039;flow structures&amp;#039;&amp;#039;&amp;#039;, such as &amp;#039;&amp;#039;&amp;#039;if…then&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;for…next&amp;#039;&amp;#039;&amp;#039; are supported, as in many other Basic versions.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reserved words&amp;#039;&amp;#039;&amp;#039;: Basic4ppc includes a vast number of reserved words. This is because of variable declaration scope.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Variables&amp;#039;&amp;#039;&amp;#039; 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:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;vbscript&amp;quot;&amp;gt;&lt;br /&gt;
Sub App_Start&lt;br /&gt;
  numA = &amp;quot;Five &amp;quot;&lt;br /&gt;
  numB = &amp;quot;5&amp;quot;&lt;br /&gt;
  numC = 6&lt;br /&gt;
&lt;br /&gt;
  SUM1 = numA &amp;amp; numB &amp;#039;remark: = &amp;quot;Five 5&amp;quot;&lt;br /&gt;
  SUM2 = numB + numC &amp;#039;remark: = 11&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
There is no need to declare variables explicitly.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Subroutines&amp;#039;&amp;#039;&amp;#039; (called &amp;quot;Sub&amp;quot;) are the most basic unit of code. All code must be written inside [[subroutine]]s. Subroutines can return a value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Direct Naming Reference&amp;#039;&amp;#039;&amp;#039;: All internal controls can be accessed directly and passed as parameters to subroutines by specifying their name expressed as a [[String (computer science)|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 [[Pointer (computer programming)|pointers]] nor with [[object oriented programming]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AutoScale&amp;#039;&amp;#039;&amp;#039; mode allows developing for different screen resolution having the language taking care of the adjustments needed in UI appearance.&lt;br /&gt;
&lt;br /&gt;
==Example code==&lt;br /&gt;
Here is an example of the language:&lt;br /&gt;
&amp;lt;!-- Please don&amp;#039;t add any sample code before discussing it on the talk page --&amp;gt;&lt;br /&gt;
Code snippet that displays a message box &amp;quot;Hello, World!&amp;quot; as the application starts, without any forms being loaded:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;vbscript&amp;quot;&amp;gt;&lt;br /&gt;
Sub App_Start&lt;br /&gt;
  MsgBox (&amp;quot;Hello, World!&amp;quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Libraries==&lt;br /&gt;
Based on Microsoft&amp;#039;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 [[Computer graphics|graphics]], [[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.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&amp;lt;!--======================== {{No more links}} ============================&lt;br /&gt;
    | PLEASE BE CAUTIOUS IN ADDING MORE LINKS TO THIS ARTICLE. Wikipedia  |&lt;br /&gt;
    | is not a collection of links nor should it be used for advertising. |&lt;br /&gt;
    |                                                                     |&lt;br /&gt;
    |           Excessive or inappropriate links WILL BE DELETED.         |&lt;br /&gt;
    | See [[Wikipedia:External links]] &amp;amp; [[Wikipedia:Spam]] for details.  |&lt;br /&gt;
    |                                                                     |&lt;br /&gt;
    | If there are already plentiful links, please propose additions or   |&lt;br /&gt;
    | replacements on this article&amp;#039;s discussion page, or submit your link |&lt;br /&gt;
    | to the relevant category at the Open Directory Project (dmoz.org)   |&lt;br /&gt;
    | and link back to that category using the {{dmoz}} template.         |&lt;br /&gt;
    ======================= {{No more links}} =============================--&amp;gt;&lt;br /&gt;
* {{official website|b4x.com}}&amp;lt;!-- currently 5/2023, redirects from basic4ppc.com [https://www.b4x.com/android/forum/threads/links-to-the-old-basic4android-com-site.146864/ (Mar 17, 2023)] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BASIC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Integrated development environments]]&lt;br /&gt;
[[Category:Pocket PC software]]&lt;br /&gt;
[[Category:Articles with example BASIC code]]&lt;br /&gt;
[[Category:Procedural programming languages]]&lt;br /&gt;
[[Category:BASIC programming language family]]&lt;br /&gt;
[[Category:Programming languages created in 2005]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Cedar101</name></author>
	</entry>
</feed>