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