Random late night ramblings
Leif Hedstrom <[email protected]> Sat, 27 Mar 2004 00:13:56 -0800
| Newsgroups | gmane.comp.lang.prothon.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello,
First off, there's a lot of interesting ideas here, with plenty of
opportunity to create something useful. I've read as much as I could
find on the Prothon pages, and here are a few random thoughts:
1. I'm a long time python user, in fact, I first used it for
production quality development back in 1994, for a now defunct
search engine company. I've always liked python, and it's my
choice of language if there are no "disqualifying" requirements.
That much said, I don't think using indentation for syntax is a
good idea (and I do know why Guido decided to design python that
way). I think Prothon would make a better choice ditching this
python legacy entirely, and use some other syntax. Some arguments:
* Most people are not comfortable with enforced indentation,
and I know of many a good programmer who decided to not
learn/use Python for this reason alone. I personally can get
past this mental obstacle, and it's really not a huge issue
for me, but nevertheless, I think it limits the usage of an
otherwise great language.
* Copying and pasting code from other applications (like,
browsers, Instant Messenger, IRC clients etc.) is usually
not easily done. Getting the indentation right is close to
impossible when pasting it into say Emacs, without manual
editing (and yes, I know, it's a bad idea to have badly
indented code pasted in like that, but maybe I'm just trying
to help someone debug a simple function?)
* "one liners" are generally hard to write, and what's worse,
lambdas are seriously limited since you can't really write
multi-line expressions (afaik).
* As we all know, the mixing of tabs and spaces is a menace in
general, and it's particularly bad in Python. I personally
dislike tabs in source code entirely, although, what I think
really doesn't matter. But, an "invisible" syntax like
tabs/spaces makes for some annoying debugging at times (at
least for me).
2. Have you considered using Parrot or some other existing virtual
machine (heck, even JVM? :-)? It seems like it'd save a lot of
time and effort, if of course it fits with the Prothon language
design.
3. Since Prothon is stackless, does that imply that we'll have
support for continuations ?
4. How about adding a conditional expression (ternary) operator,
like C and perl's '?' operator? I know there was a PEP written for
that some time ago, dnuno if it'll ever go into Python.
5. Is anyone working on the memory leaks? I did a very quick run with
Valgrind on the source, there seems to be a number of very obvious
leaks we can plug pretty much for "free".
6. I saw there's a "todo" list, but maybe it'd be useful to see what
tasks are already worked on, and what is "up for grabs" ?
Cheers,
-- Leif