Hacker Newsnew | past | comments | ask | show | jobs | submit | Uncompetative's commentslogin

I approve of case-sensitivity where an initial Capital letter indicates that Something is Publically accessible and it really doesn't matter what happens after that. Hence, we could have:

  Newton-Raphson Runge-Kutta Fast-Fourier-Transform

  Class-ID IO-Channel MIDI-port 

  Freudian-Id Io-Channel
In contrast to this, I feel it makes sense to have lowercase mean that something is private. Hence, no camelCase:

  x y z variable longer-variable-name
I've never been that comfortable about appending numerals to the end of identifiers to disambiguate them as I feel that this is a sign that they ideally ought to be subscripted and implemented as arrays. I much prefer hyphens to underscores but would ideally like to use individual words separated by spaces. This can only work if you have an IDE that hides all the underscores (which are incredibly ugly and serve no useful purpose in printed material these days) as you input them and outputs NBSPs instead and then uses similarly suppressed prefix sigils to style your raw input text into an output which conforms to traditional Mathematical notation. Hence, we could have:

  /foo_bar + /bar_qux
become:

foo bar + bar qux

similarly, the following is not a problem if you take advantage of the syntax rule that requires at least one space either side of an operator. Hence, we could have:

  /foo_bar / /bar-qux
become:

foo bar / bar-qux

i.e. the / sign isn't echoed when you initially type it as it is expecting a letter, but when the IDE receives whitespace it belatedly echoes it as the operator symbol as it is now sure that it isn't a suppressed sigil.


I don't have a problem with "x - y" and approve of hyphenated names if you can't support spaces within names.

I had initially jumped to the conclusion that your language would use a postfix notation and be more influenced by Forth than LISP. This is because I assumed it's name alluded to the way that Captain Jean Luc Picard would program his replicator.


> Something is wrong if most programs don't run instantaneously

Agreed. BBC BASIC V on my Archimedes had zero startup penalties, unlike modern JIT languages.

> Highly optimizing compilers aren't worth the risk

Agreed. The problem here is unforseen overflow resulting from machine representation of ints.

> Design applications as small executables that communicate

Agreed. Both UNIX and Erlang have demonstrated the efficacy of this approach.

> Don't write temporary files to disk, ever

Agreed. WANG wordprocessors routinely outperformed MS Word 6.0 due to their RAMDISCs.

> Everything is so complex that you need to isolate yourself from as many libraries and APIs as possible

Agreed. BBC BASIC V did everything I needed without need of external graphics libraries.

> C still doesn't have a module system

Agreed. Indeed, do we actually even need the complexity of C++ to remedy C's deficiencies?


I recommend you keep a close eye on the work of the VPRI:

http://www.vpri.org/pdf/tr2011004_steps11.pdf


Anything open to ambiguity can be resolved through dialogue.


Infodump


I can recommend his book.

The Search for the Perfect Language - Umberto Eco - 2010


Interesting research. Of course, you could always hack the Home button to act as a Command key and hold the device in landscape orientation without having to give up a piece of the screen.


    do or do not where is no try catch exception


I think we will get there, but on a much longer timeframe.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: