Python and Flaming Thunder

D

Diez B. Roggisch

Dave said:
The websites owners might not be unhappy, but lots of customers
complain about slow websites, so if the market is competitive then
eventually the PHP fad will die out.

Slow websites mainly come from bad coding. I've seen websites performing
slow written in Java - which should even surpass FT, btw.
For example, Slashdot recently interviewed a successful website in a
competitive market -- online newspapers -- and found that to enhance
customer happiness the New York Times uses hand-coded HTML.

"He was asked how the Web site looks so consistently nice and polished
no matter which browser or resolution is used to access it. His answer
begins: 'It's our preference to use a text editor, like HomeSite,
TextPad or TextMate, to "hand code" everything, rather than to use a
wysiwyg (what you see is what you get) HTML and CSS authoring program,
like Dreamweaver. We just find it yields better and faster results.'"
http://news.slashdot.org/article.pl?sid=08/04/30/009245&from=rss


You obviously have no clue what this aboven statement talks about. It is
not about speed - it's about how HTML is generated, and the negative
impact of visual design tools on that. What on earth has that to do with
the execution speed of a webapp?
"Faster" wins in a competitive market, so if a programming language
can't deliver "faster", it is a fad that will die out.

"Faster" wins, yes - in the sense of brain-cycles. Faster coding, faster
changing, faster delivering. If it was anything else, we wouldn't have
higher level languages, and still code assembler.

You really don't know what you are talking about. But you are of course
entitled to your opininon. Time will tell who is the "fad", and who not.
I can assure you I have a strong opinion on that....

Diez
 
D

D'Arcy J.M. Cain

Not everybody has grown in English-speaking community, you know. And
knowing math quite good, I prefer writing "x = y" instead of "Set x to
y".

OMG! It's COBOL.

Wasn't there an aborted attempt at writing a language based on English
back in the sixties or seventies? I seem to recall that it failed
mainly because it turns out that programmers don't like to speak in
English, even when it is their first language, to describe computer
algorithms. If that wasn't true then pseudocode would look a lot more
like English than it does. In fact, pseudocode tends to look a lot
like Python.
 
D

Dave Parker

You sound like a commercial.

Get Flaming Thunder for only $19.95! It slices, it dices!
And while programs and libraries written in assembly may be twice as fast
as programs and libraries written in C, ...

It's a myth that they're only twice as fast. An experienced assembly
language programmer can usually get out at least a factor of 5 by
using tricks such as cache-coherence, carry flag tricks, stack
manipulations, etc.
... they're real hell to maintain.

That's also a myth. For example, if C is easy to maintain, why is
Flaming Thunder the only single-asset 8-by-8 shotgun cross compiler in
the world? There should be lots of single-asset 8-by-8 shotgun cross
compilers written in C, if C is easier to maintain.

Here's one of the tricks I use: I wrote an assembly language
preprocessor that takes 1 assembly language source file and generates
the library code for the 8 different target platforms. That's much
easier than maintaining quirky C code across 8 different platforms --
which is why GCC's support for cross-compilation is often so broken.
 
D

Dan Upton

Hallöchen!




... twice. Flaming Thunder itself is not free software, is it?

For Dave, from FSF:

Free software is a matter of the users' freedom to run, copy,
distribute, study, change and improve the software. More precisely, it
refers to four kinds of freedom, for the users of the software:

* The freedom to run the program, for any purpose (freedom 0).
* The freedom to study how the program works, and adapt it to your
needs (freedom 1). Access to the source code is a precondition for
this.
* The freedom to redistribute copies so you can help your neighbor
(freedom 2).
* The freedom to improve the program, and release your
improvements to the public, so that the whole community benefits
(freedom 3). Access to the source code is a precondition for this.

Now that we're all on the same page, maybe third time's the charm for
a response about FT not being free...
 
D

Dave Parker

Time for me to get back to work now. Thank you all for your comments,
they will help to make Flaming Thunder a better product. I can see
that many people would like the ability to link to existing
applications and libraries, etc, so I will raise that on my priority
list.
 
D

Dan Upton

100

Why ^ ? There is no good reason why use ^ over ** and vice versa, so what
you try to prove is not with your example.

Actually, I'm a fan of ^ over ** for exponentiation, because it's a
good visual cue for "raising." (What if in LaTeX you had to write
$x**{y}$? :p) Meanwhile, I don't see what ^ has to do with the
regular XOR symbol.

On the other hand, I don't really go for arguments that language x is
better than language y because there are fewer things you have to tell
new students to just accept as something you have to do. (ie, sure,
teach Python over C or Java because it will take them less /time/ to
write hello world, but don't say "python is better because you don't
have to tell the students 'just accept you have to #include <stdio.h>,
and you have to int main(), and you have to printf instead of print")
 
I

I V

I've read that one of the design goals of Python was to create an easy-
to-use English-like language. That's also one of the design goals of
Flaming Thunder at http://www.flamingthunder.com/ , which has proven
easy enough for even elementary school students, even though it is
designed for scientists, mathematicians and engineers.

A COBOL for the 21st century! Just what we need.
 
T

Terry Reedy

|> 5-10 times faster for what kind of code?

| Mostly numerical analysis and CGI scripting.

For numerical analysis, a fair comparison is Python with NumPy installed
(or the older versions thereof).
 
M

MRAB

OMG! It's COBOL.

Wasn't there an aborted attempt at writing a language based on English
back in the sixties or seventies? I seem to recall that it failed
mainly because it turns out that programmers don't like to speak in
English, even when it is their first language, to describe computer
algorithms. If that wasn't true then pseudocode would look a lot more
like English than it does. In fact, pseudocode tends to look a lot
like Python.
I once had to do a bit of scripting in AppleScript. The problem I
found was that AppleScript tries to be so much like natural English
that I never got a clear idea of whether something would be valid!
 
J

John Machin

D'Arcy J.M. Cain said:
OMG! It's COBOL.

Wasn't there an aborted attempt at writing a language based on English
back in the sixties or seventies? I seem to recall that it failed
mainly because it turns out that programmers don't like to speak in
English, even when it is their first language, to describe computer
algorithms.

IIRC the idea was so that managers could write programs in English. It
failed because nobody could write a parser that would handle something
like "The bottom line is that the stakeholder group requires the
situation going forward to be such as to facilitate the variable known
as x to provide the same outcome when stimulated by dereferencing as the
variable known as y".
 
J

Janzert

D'Arcy J.M. Cain said:
OMG! It's COBOL.

Wasn't there an aborted attempt at writing a language based on English
back in the sixties or seventies? I seem to recall that it failed
mainly because it turns out that programmers don't like to speak in
English, even when it is their first language, to describe computer
algorithms. If that wasn't true then pseudocode would look a lot more
like English than it does. In fact, pseudocode tends to look a lot
like Python.

I don't always agree with him but I thought Dave Thomas' recent post[1]
about 'natural language like' programming languages was pretty spot on.
He is specifically talking about Domain Specific Languages (DSLs) but I
think it applies to general programming languages just as well.

Janzert

1. http://pragdave.blogs.pragprog.com/pragdave/2008/03/the-language-in.html
 
M

miller.paul.w

The "Flaming Thunder" looks promising, but without being free
software, it's unlikely it will create a large developer community,
specially considering both free general purpose and scientific
programming languages.

I'll agree that software libre has the advantage in creating a
community, but the fact that this language's environment is
proprietary need not be fatal. Consider the amount of work that gets
done every day using Maple, Matlab, and Mathematica, for instance. I
like software that's free (as in beer or as in speech) as much as the
next guy, but I paid for the student version of Mathematica, and I
consider it worth every single penny. I use it *at least* three or
four times a week, for stuff that'd be, at best, extremely tedious or,
at worst, impossible for me to do without it.

I took a quick look at this "Flaming Thunder," and downloaded the
command line Linux executable. While I haven't tried anything
nontrivial in the language, I have to say it has several things going
for it:

* Cross-platform-ness. I like the idea of being able to compile the
exact same source code for Linux, *BSD, Mac OS X, and Windows. If it
truly is "write once, compile for the world," that's a nice plus.

* Nice web site. Seriously. The web site is pretty slick looking,
and that can only be a plus. The design and color scheme definitely
remind me that this is an environment intended for scientific
computing.

* Nice name. This has got to be *the* coolest thing about the
language. I mean, how can you go wrong using a language named
"Flaming Thunder"? :)
 
M

miller.paul.w

On May 13, 6:32 pm, "D'Arcy J.M. Cain" <[email protected]> wrote:
I once had to do a bit of scripting in AppleScript. The problem I
found was that AppleScript tries to be so much like natural English
that I never got a clear idea of whether something would be valid!

You have a great point here.

I recently read a blog posting that noted the same thing about Inform
7 (a specialized language used to write interactive fiction games) and
its English-like syntax. I've read completed games in Inform 7, and
they're very easy to understand, indeed. It does tend to read like
English, though somewhat stilted/formal/artificial.

Writing it, on the other hand (at least according to to said blog
post), is a bit more difficult. Because the syntax is *so* English-
like, one tends to want to write things that would be natural in
English. However, because the compiler doesn't actually understand
natural English, this frequently doesn't work.

Python, OTOH, definitely *doesn't* have this sort of impedance
mismatch for me. Python code looks like *code*, to be sure, but the
language allows you to forget about most of the nitty-gritty details
and just get stuff done. That's what I like about it -- *not* that
it's "English-like," in any way.
 
L

Lie

Mostly numerical analysis and CGI scripting.  All of Flaming Thunder's
library code is in assembly language, and Flaming Thunder creates
statically-linked pure syscall CGI scripts.


True.  But in Python, you don't see statically-linked pure-syscall CGI
scripts being cross-compiled under Windows for ftp'ing up to a Linux
server.  And you don't see the speed of pure assembly language
libraries.  And I'll be willing to bet that Flaming Thunder will have
OO features similar to Python before Python has the features that
Flaming Thunder already does.

For many people, being 5 to 10 times faster at numerical analysis and
CGI scripting is reason enough to pay $19 per year.  But maybe for
other people, having slow, inefficient programs and websites is
acceptable.

I don't think so, even Microsoft, the huge money netter, realized that
nobody would use their new .NET framework if they don't provide free
compilers for it, they only sold their IDE, not their compilers (did I
mention that the Visual Studio Express is free as in beer? And Express
isn't a crippled compiler)
Depends on whether you're the programmer, or the customer.  I've found
that customers prefer products that are 5 to 10 times faster, instead
of products that were easy for the developer.

And I disagree that Flaming Thunder requires more brain-cycles.
Because it's based on leveraging existing English and math fluency
(which was one of the original goals of Python, was it not?), I think
that Flaming Thunder requires fewer brain-cycles because fewer brains
cells have to be devoted to memorizing language peculiarities.

You keep mentioning that the original goals of Python is to "make it
English-like", well, I can say, you are wrong. The goals of Python is
to make a usable language that have a clean and clutter-free syntax,
which is clearly the inverse of FT's goal. To say, Python's goal is to
make simple syntax that is easy to learn, learning process is
something which can't be avoided unless you've created a natural
language programming language.

As I see it, FT aimed to be a natural language programming language,
well, unless you can parse script like this;

Write down "Hello World" to the file in "C:\test.txt" then print the
output to the printer, if no printer can be found, then tell the user
"Cannot Find Printer" then write a log file that printing has failed.
Unless a = b, then make c equal to 4, or raise 5 to the power of 8 and
assign that to c when a is also equal to d. If the page has been
printed, then print a + b + c + d to the screen and wait for user
input up to 8 seconds before quitting.

Anything less than that, you've failed to create natural language
parser. The current state of FT, as I see it, is no more smarter or
intelligible or readable than Python, albeit with much more
unnecessary verbosity, which in Python, is frowned upon. Anything
between the current FT and a real natural language parser is a verbose
Perl ("there is more than one way to do it").
Perhaps.  But if elementary school students can easily understand why
one programming language gives the answer 100 (Flaming Thunder):

  Write 10^2.

but can't understand why another programming language gives the answer
8 (Python):

  Print 10^2

then I think the comparison moves beyond a matter of taste into the
realm of measurable ease-of-use.

Lol, that only means you haven't read the documentation of the
language. You can't write program without understanding the language,
which usually means reading the documentation, even in FT. Except in a
real natural language programming language, which you can write
anything and the compiler would (hopefully, as natural language has
many ambiguity) understand whatever you've written.

(snip)
 
S

s0suk3

Perhaps. Flaming Thunder is only $19.95 per year for an individual
(and even less per individual for site licenses), which is less than
the cost of just one book on Python.

It doesn't matter if it's $19.95 or $0.1; why would anyone even bother
looking at such a weird and unconventional language? And why do you
bring up books? Are Flaming Thunder books free? (I doubt there's even
one).
I think that many people will find that Flaming Thunder is easier to
use and understand than Python -- so for many people the amount of
time they save will be worth more than the cost of Flaming Thunder
(unless, of course, their time is worth $0).

Easier? Such an unconventionality? I don't think anybody will ever
need an easier language than Python; Python touched bottom on that
area.
Also, several users have rewritten their Python programs in Flaming
Thunder, and found that Flaming Thunder was 5 to 10 times faster
(Flaming Thunder compiles to native executables). So again, since
many people value their time at more than $0, I think that many people
will find that Flaming Thunder is worth $19.95 per year.

I doubt that any Python "user" (please don't say, "user", Python
programmers are not customers of some clunky proprietary product,
they're programmers using a open source tool) has ever touched
"Flaming Thunder", or anything that even looks like that, since Python
programmers are somewhat more conventional, more like in the C lang,
so they may use things like Java, C/C++, but never something that says
"Set this to this"...

Also, Python is relatively slow, compared to compiled languages. But
if anyone wants speed, they'll go for C, which can be around 50-200
times faster than Python. It's speed of development versus speed of
execution. So why would anyone use such an unconventional thing like
your language, which is statically typed (is it?), if they would only
gain from 5-10 times faster?
Plus, me getting paid to work on Flaming Thunder is far more
motivating than me not getting paid to work on Python. This weekend,
Python users will still be debating how to fix awkwardnesses in the
languages (such as FOR loops where you're just counting the loops and
not referencing the loop variable) -- but Flaming Thunder users will
be getting work done using the REPEAT n TIMES constructs that I'll be
implementing.

You claim that "repeat n times" if better than for loops (it's "for",
not "FOR"). It's a matter of taste. But just out of a wild guess, I'd
say one 100% of the developers around the world (except you) will
always prefer for loops rather than your weird thing.
Python has been around about 15 years, yet still has those
awkwardnesses. Flaming Thunder has been out less than 6 months and
those awkwardnesses are already getting fixed. The difference: I
can't afford to ignore users.

Again, if may be awkward for you, but most of us around here (well,
all, really) will never try to program something by saying
"repeat..." (as I said, it's a matter of taste, and you have a pretty
weird taste).

Now, let's be realistic for a moment. The big crack you call a
programming language will never get any attention. So get out of home
and go get a life.
 
L

Lie

I think it is ironic that you think Flaming Thunder is unnatural
because it is more English-like, when being English-like was one of
Python's goals: "Python was designed to be a highly readable language.
It aims toward an uncluttered visual layout, using English keywords
frequently where other languages use punctuation."http://en.wikipedia.org/wiki/Python_(programming_language)#Syntax_and...

Python was designed to be _highly readable language_. It aims toward
_uncluttered visual layout_, using _English keywords ... where other
languages uses punctuation_.

Where in that statement, that says Python aims to be English-like? It
only says Python uses English keywords instead of punctuations such as
curly braces, &&, ||, etc which is remotely far away from trying to be
English-like. What I see is that, FT in its current form, aims to be a
readable language, which doesn't concern itself for cluttering the
code's visual layout.

Verbosity $B!b(B Readability

I even remembered someone saying that probably one of Python's goal is
to make you from press only the necessary keystrokes. If I don't
misremember it, it was in Thinking in Python.
I think it does improve readability, especially for people who are not
very fluent mathematically.

But it hurts readability for people who prefers simplicity over
everything and that means you've just violated KISS design principle
(Keep It Simple, Stupid) which is also a persistent feature in UNIX
philosophy (Small is beautiful, Rule of Simplicity), and Python's Zen
(Simple is better than Complex).
Also, in Python how do you assign a symbolic equation to a variable?
Like this?

QuadraticEquation = a*x^2 + b*x + c = 0

Last time I checked, it was a syntax error there.
Set statements avoid the confusion of multiple equal signs when
manipulating symbolic equations:

Set QuadraticEquation to a*x^2 + b*x + c = 0.

(snip)
 
L

Lie

The websites owners might not be unhappy, but lots of customers
complain about slow websites, so if the market is competitive then
eventually the PHP fad will die out.

For example, Slashdot recently interviewed a successful website in a
competitive market -- online newspapers -- and found that to enhance
customer happiness the New York Times uses hand-coded HTML.

"He was asked how the Web site looks so consistently nice and polished
no matter which browser or resolution is used to access it. His answer
begins: 'It's our preference to use a text editor, like HomeSite,
TextPad or TextMate, to "hand code" everything, rather than to use a
wysiwyg (what you see is what you get) HTML and CSS authoring program,
like Dreamweaver. We just find it yields better and faster results.'"http://news.slashdot.org/article.pl?sid=08/04/30/009245&from=rss


Hello, you're showing a sign of negligence (and ignorance). HTML is a
data descriptor language, PHP is a process descriptor (scripting)
language. They are not interchangeable, and most PHP code produces
HTML in the end. Them saying that they handcode everything means
they're now using a handcoded HTML with PHP instead of WYSIWYG HTML
with PHP they used previously. PHP is still used down there. And if a
big, well-known website claimed that they handcode is a big news to
you, you're just ignorant enough to ignore the fact that most if not
ALL large website is handcoded since they used scripting (mainly as
PHP and Javascript) extensively so that WYSIWYG is not the easiest way
to do it. WYSIWYG is good enugh for static website which most mediocre
website needs, not for dynamic site which is the need for any huge
website. And anything much huger would use a collaboration between
PHP, HTML, Javascript, and a real programming language (like C-family,
Python, Java, Basic). What do you reckon the search engine behind
Google is written in? PHP?
"Faster" wins in a competitive market, so if a programming language
can't deliver "faster", it is a fad that will die out.

Faster in what sense? As I can see it, to write something that
requires 5 keystrokes in Python (a = b) requires 9 keystrokes in FT
(Set a to b) that's almost double. And haven't I mentioned FT's dot .
is just like C's semicolon ;? Would it need a professor to mention
that any program code of reasonable length would need to be indented?
Which FT seems to discourage?

And it seems that FT is ignorant enough to ignore the rule it have
created itself before. If it doesn't cojoin english words such as Go
To, why it cojoins Writeline, squareroot? And if I want to create a
function name that consist of more than one word, I would have to
cojoin the words, what's the point in that?

And your 8 by 8 cross compiler doesn't impress me at all, they're all
based on x86/IA-32 architecture which is quite similar, no PowerPC,
SPARC, ARM, no other CISC or RISC architecture. And your compiler is a
single language compiler instead of three dimensional compiler that
GCC is (cross platform, cross target platform, cross language).

(snip)
 
L

Lie

        I'd consider the emphasis to be "keywords ... punctuation", whereas
"English" is just a qualifier...

        If you want to follow this to the limit, the ^ vs ** would
disappear...

        let x be y raised to z

I'm doubting that anyone would rely on a natural language programming
language written by someone who has misunderstood other's post 3-4
times, and have misquoted news story several times because of his
misunderstanding. If he can't even understand English text properly,
how could he write a natural language parser?
 
L

Lie

And your 8 by 8 cross compiler doesn't impress me at all, they're all
based on x86/IA-32 architecture which is quite similar, no PowerPC,
SPARC, ARM, no other CISC or RISC architecture. And your compiler is a
single language compiler instead of three dimensional compiler that
GCC is (cross platform, cross target platform, cross language).


And to add, I also need to mention that Python doesn't need to be
compiled at all, its py and pyo file is architecture independent.
Unlike some languages that still need to be compiled.
 
B

Bruno Desthuilliers

Dave Parker a écrit :
(snip spam)

Please stop spamming here trying to sell your dumbass proprietary basic.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top