Flaming Thunder is one of the coolest computer programming languages in the world. It is designed for scientists, mathematicians and engineers, yet it is easy enough for elementary school students.
Flaming Thunder supports realtime fullscreen 3D graphics, numeric computation, arbitrary precision numbers, interval arithmetic, symbolic computation, CGI scripting and cross compilation. Flaming Thunder also comes with a free subscription to DPGraph. DPGraph is the world's most powerful software for dynamic 2D to 8D math and physics visualization. It produced many of the images on this site and we are integrating it into Flaming Thunder.
Flaming Thunder supports 32- and 64-bit FreeBSD, Linux, Mac OS X (Intel) and Windows. The Flaming Thunder compiler is a single-asset 8-by-8 shotgun cross compiler, written entirely in assembly language.
Flaming Thunder's goal is to make programming as easy as possible by leveraging English and math fluency. In Flaming Thunder, the program to write "hello world" is:
Flaming Thunder statements can be written in paragraph form:
Flaming Thunder is not case sensitive. The following program rereads
In math, the negative of a negative is a positive so Flaming Thunder does not
Flaming Thunder uses
Flaming Thunder does not abbreviate or cojoin common English words. For
Control statements (such as
The size of integers is limited only by the amount of memory. The following program writes the answer 260643089511722744715208320:
If all of the intermediate results are integers or rationals, then Flaming Thunder uses exact rational arithmetic. The following program writes the answer 5/6:
Calculations involving real numbers can be set to as many digits of precision as desired. A program to compute the golden ratio φ = (1 + √5)/2 to a precision of 1,000 decimal digits is:
For readability, Flaming Thunder allows superfluous underscores in words and numbers:
To aid in numeric error analysis, Flaming Thunder supports interval arithmetic:
Flaming Thunder supports recursive functions:
Flaming Thunder allows functions to be defined in any order in a program. For example, the definitions can all be at the end of the program in alphabetical order, like a glossary. Function names are the first words in their definitions, making them as easy to look up as the definitions in an English dictionary.
Flaming Thunder allows functions to be nested:
Flaming Thunder supports reading and writing entire files all at once, which combines high performance with simplicity. This program reads two input files, then writes them to a single output file:
Flaming Thunder has extensive support for CGI scripting. Here is a simple CGI script to save IP addresses in a log file:
Here is a CGI script to upload a file from a user's computer to the server, from an HTML form containing an input tag with type=file name=file:
Flaming Thunder is implemented as a single-asset 8-by-8 shotgun cross compiler, written entirely in assembly language.
The Flaming Thunder cross compiler is 8-by-8 because there is a version for each of 8 major platforms — FreeBSD 32, FreeBSD 64, Linux 32, Linux 64, Mac OS X (Intel 32), Mac OS X (Intel 64), Windows 32 and Windows 64 — and each of the 8 versions can generate executables for all 8 platforms. For example, on a Windows or Mac machine Flaming Thunder can generate Linux executables, and vice-versa.
Flaming Thunder is a single-asset compiler because all of the tools and libraries (assets) that Flaming Thunder needs are internal to the compiler. Flaming Thunder compiles directly from source code to stand-alone statically-linked executables without using any external tools or libraries.
Flaming Thunder is a shotgun cross compiler because it can hit all of its
targets from its single executable; most cross compilers require separate host
tools or libraries for each target. For example, the following command line
will produce 8 target executable files:
Flaming Thunder leads to immediate benefits for programmers and internet
users alike. Programmers can write CGI scripts on any platform, cross compile
their CGI scripts for 32-bit Linux, then ftp them up to an inexpensive Linux
webhosting account. For example, the command to compile
The benefit for internet users is that websites with statically-linked compiled CGI scripts are more agile than those with interpreted web pages.
Graph credits: volume of integration by Rod Rodrigues, moving helix by David Parker.
AMD, CodeWeavers, CrossOver, FreeBSD, Intel, Linux, Mac, Microsoft, OS X, Windows, Wine and WineHQ are trademarks or registered trademarks of their respective owners. Flaming Thunder is a trademark of Flaming Thunder.
©2002-2010 Flaming Thunder