Category:FutureBasic: Difference between revisions
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
{{implementation|BASIC}} |
{{implementation|BASIC}} |
||
[[File:FutureBasicIcon.png| |
[[File:FutureBasicIcon.png|64px|left]] |
||
FutureBasic began life as Zbasic, a commercial variant of [[BASIC]] for the early Macintoshes, but has grown far beyond that into a mature freeware IDE that, through its FBtoC translator, can be used to compile C and Objective-C [[object-oriented]] code using the clang compiler included with an Xcode installation. It is excellent as a educational tool and for fast prototyping -- especially in Objective-C (Cocoa) by those who prefer programmatic code without the overhead of Xcode. Among its enthusiasts are commercial developers, engineers, professors, doctors, musicians, writers and a host of amateurs who program with FB for the sheer joy of it. |
FutureBasic began life as Zbasic, a commercial variant of [[BASIC]] for the early Macintoshes, but has grown far beyond that into a mature freeware IDE that, through its FBtoC translator, can be used to compile C and Objective-C [[object-oriented]] code using the clang compiler included with an Xcode installation. It is excellent as a educational tool and for fast prototyping -- especially in Objective-C (Cocoa) by those who prefer programmatic code without the overhead of Xcode. Among its enthusiasts are commercial developers, engineers, professors, doctors, musicians, writers and a host of amateurs who program with FB for the sheer joy of it. |
Revision as of 08:19, 14 September 2022
![Language](http://static.miraheze.org/rosettacodewiki/thumb/2/27/Rcode-button-language-crushed.png/64px-Rcode-button-language-crushed.png)
This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Execution method: | Compiled (machine code) |
---|---|
Garbage collected: | No |
Parameter passing methods: | By reference, By value |
Type safety: | Safe |
Type strength: | Strong |
Lang tag(s): | futurebasic |
See Also: |
|
![](http://static.miraheze.org/rosettacodewiki/thumb/7/7f/FutureBasicIcon.png/64px-FutureBasicIcon.png)
FutureBasic began life as Zbasic, a commercial variant of BASIC for the early Macintoshes, but has grown far beyond that into a mature freeware IDE that, through its FBtoC translator, can be used to compile C and Objective-C object-oriented code using the clang compiler included with an Xcode installation. It is excellent as a educational tool and for fast prototyping -- especially in Objective-C (Cocoa) by those who prefer programmatic code without the overhead of Xcode. Among its enthusiasts are commercial developers, engineers, professors, doctors, musicians, writers and a host of amateurs who program with FB for the sheer joy of it.
FutureBasic Home Page & Download
http://www.brilorsoftware.com/fb
Here is where you can download your freeware copy of the FutureBasic IDE for macOS X 10.13 and newer, along with detailed installation instructions, programming examples and other information.
On 1 January 2008 Staz Software announced FB 4 would be freeware and all FB versions since then have also. Downloads and their executables are freeware, but FB 7's source code and rights of distribution are reserved to the authors (now the FBtoC team ). The IDE is continuously being improved.
FB 7.x builds macOS 64-bit Cocoa applications and command-line tools. Older FB versions for creating 32-bit Carbon apps are available at on the FB web site but aren't supported.
The FB 7 IDE consists of a syntax-aware editor, project manager and internally translates ( formerly FBtoC ) FB code into C/Objective-C code. The translation is then compiled with the clang system compiler.
Here's a sample program:
local fn DoDialog( ev as long ) if ( ev == _btnClick ) then beep end fn window 1, @"Hello, world!", (0,0,550,400) button 1,,, @"Beep" on dialog fn DoDialog HandleEvents
FutureBasic Mailing List
The FutureBasic mailing list is currently a free service to the FB programming community. Application to join the list must be made via the Support tab on the FutureBasic website: http://www.brilorsoftware.com/fb/pages/support.html. List members include raw beginners through published commercial software authors. The FB development team and some long-time enthusiasts are knowledgeable and friendly and are very quick to respond to questions posted on the list. In addition, demonstration program code is frequently posted here.
Wikipedia
https://en.wikipedia.org/wiki/FutureBASIC
Discusses the history of FutureBasic and its predecessor, ZBasic, from the early days of the Macintosh when it was a commercial product, until its morph into today's robust front end to the clang compiler. Information on this page can be outdated, so a better source of the most current information about FB can be found at the web sites above.
Why FutureBasic?
Considering the contempt some programmers have for the BASIC language -- "BASIC ruins programmers" -- it's almost a shame FB has the word "Basic" in its official name. Not only can FB handle BASIC source code, but since it's a front end to clang, it can translate C, Apple's Core Foundation, Objective-C (Cocoa), HTML, XML, SOAP, UNIX Shell, Open GL, etc. This makes it an excellent tool for prototyping -- especially for programmatic Objective-C when the overhead of Xcode is not needed.
And best of all it's free with no hidden costs.
According to Wikipedia, FutureBasic began life at the dawn of Apple's Macintosh in the mid-1980s as ZBasic, an implementation of "BASIC" -- the "Beginner's All-purpose Symbolic Instruction Code" -- which had been around since the language was invented by John G. Kemeny and Thomas E. Kurtz at Dartmouth College during 1963 and 1964.
ZBasic acquired a devoted following of developers who praised its ease of use and the tight, fast code produced by the compiler (a legendary labor involving extensive use of hand-built 68K assembly language code and the brainchild of Andrew Gariepy).
In 1992, Zedcor Inc., the company of the Gariepy brothers Andy, Mike, Peter and friends based in Tucson, Arizona presented announced their reworked compiler called FutureBASIC.
In 1995 Staz Software, led by Chris Stasny based in Diamondhead, Miss., acquired the rights to market FutureBASIC. Stasny started this business with an upgraded version, namely FBII, and with his own development, the Program Generator (PG PRO), a CASE tool.
When Apple transitioned the Mac from 68k to PowerPC, the FB editor was rewritten by Stasny and was coupled with an adaptation of the compiler by Andy Gariepy. The result of their efforts, a dramatically enhanced IDE called FB^3 (FB-cubed) was released in September 1999.
Major update releases introduced a full-featured Appearance Compliant runtime written by the late New Zealander Robert Purves renown for his brilliant programming. Once completely carbonized to run natively on the Mac OS X, the FutureBASIC Integrated Development Environment (FB IDE) was called FB4 and released in July 2004.
In August 2005, Staz Software was devastated by Hurricane Katrina just at the time Apple was transitioning from Motorola PPC microprocessors to Intel chips. FB development slowed almost to a standstill. On January 1, 2008, Staz Software announced that FB would henceforth be freeware and FB4 with FBtoC 1.0 was made available.
Since that time, an independent team of volunteer developers initially lead by Purves continued to improve FBtoC, which took code produced by the FB Editor and translated it to C for processing by gcc which was eventually transitioned to the more robust clang.
On Sunday, June 3, 2012, members of the FB List Serve were notified that Robert Purves had died after a long bout with cancer. The news came as a surprise to many FB developers who were unaware of Purves' illness. While coping with cancer, he continued as an active member of the FB community, improving FB, answering questions, solving problems, and posting exquisitely terse code often salted with pithy remarks from his wonderfully dry humor. He never mentioned his health problems and never complained. A tribute to Purves can be found at the bottom of the FB Home Page
A team of skilled developers who worked on the FB editor, who were also tutored at Purves' knee on his pet FB project, the FBtoC translator, continued his work keeping the Macintosh's oldest compiler viable for a new generation of coders and Apple's macOS changes.
CocoaUI, a collection of header classes brought Apple's Cocoa(Foundation + AppKit) to FB, and a fast 64-bit Editor offering syntax highlighting, line numbers and variety of programmer conveniences have since been added to the IDE.
When Apple released Macs running on the ARM M1 chips in early 2021, FB and FBtoC were integrated into a single app that is frequently updated with new features. The most recent version allows Universal code to be compiled as standalone applications on M1, M2 and Intel Macs.
FB has a small but dedicated group of programmers ranging from amateurs to commercial developers. For more information visit the FB home page at:
Also, there is an active and friendly support list where questions are welcomed and help readily available without a critical eye. Registration is required to post to the list:
Subcategories
This category has the following 2 subcategories, out of 2 total.
@
- FutureBasic User (4 P)
Pages in category "FutureBasic"
The following 200 pages are in this category, out of 489 total.
(previous page) (next page)G
- Gapful numbers
- General FizzBuzz
- Generate lower case ASCII alphabet
- Generate random chess position
- Generic swap
- Get system command output
- Getting the number of decimal places
- Globally replace text in several files
- Go Fish
- Grayscale image
- Greatest common divisor
- Greatest element of a list
- Greatest subsequential sum
- Greyscale bars/Display
- Guess the number
- Guess the number/With feedback
- GUI component interaction
- GUI enabling/disabling of controls
- GUI/Maximum window dimensions
H
- Hailstone sequence
- Happy numbers
- Harmonic series
- Harshad or Niven series
- Hash from two arrays
- Haversine formula
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newbie
- Hello world/Newline omission
- Hello world/Text
- Heronian triangles
- Hex words
- Higher-order functions
- Hilbert curve
- Hofstadter-Conway $10,000 sequence
- Holidays related to Easter
- Honaker primes
- Honeycombs
- Horizontal sundial calculations
- Horner's rule for polynomial evaluation
- Hostname
- Hourglass puzzle
- HTTP
- HTTPS
I
- I before E except after C
- Iccanobif primes
- Identity matrix
- Idiomatically determine all the lowercase and uppercase letters
- Idoneal numbers
- Image noise
- Include a file
- Increasing gaps between consecutive Niven numbers
- Increment a numerical string
- Infinity
- Input loop
- Integer comparison
- Integer roots
- Integer sequence
- Isqrt (integer square root) of X
K
L
- Largest prime factor
- Largest proper divisor of n
- Last list item
- Leap year
- Leonardo numbers
- Letter frequency
- Levenshtein distance
- Literals/Floating point
- Literals/Integer
- Literals/String
- Logical operations
- Longest common prefix
- Longest string challenge
- Longest substrings without repeating characters
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Loops/With multiple ranges
- Luhn test of credit card numbers
M
- Make directory path
- Mandelbrot set
- Map range
- Maze generation
- McNuggets problem
- Menu
- Mertens function
- Metronome
- Middle three digits
- Minimum numbers of three lists
- Monty Hall problem
- Morse code
- Mosaic matrix
- Motzkin numbers
- Mouse position
- Multiplication tables
- Musical scale
- Mutual recursion
- Möbius function
O
P
- Palindrome detection
- Pangram checker
- Password generator
- Peano curve
- Perfect numbers
- Periodic table
- Permutations
- Pi
- Pick random element
- Piprimes
- Play recorded sounds
- Polyspiral
- Population count
- Price fraction
- Primality by trial division
- Primality by Wilson's theorem
- Prime numbers which contain 123
- Prime triplets
- Prime words
- Probabilistic choice
- Problem of Apollonius
- Program name
- Program termination
- Proper divisors
- Pythagoras tree
- Pythagorean quadruples
R
- Random number generator (device)
- Random number generator (included)
- Random numbers
- Read a configuration file
- Read a file character by character/UTF8
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Real constants and functions
- Record sound
- Remove duplicate elements
- Remove vowels from a string
- Rename a file
- Repeat
- Repeat a string
- Return multiple values
- Reverse a string
- Reverse words in a string
- Riordan numbers
- Roman numerals/Decode
- Roman numerals/Encode
- Roots of unity
- RPG attributes generator
- Run-length encoding
- Runge-Kutta method