Looking at Nimrod's AST macros (which I haven't used) I imagine Julia as a closer competitor to it than Go. They both appear to come from a "programmable programming language" mindset, though Julia arguably more so because it's homoiconic.
- No curly braces around anything.
- Whitespace seems to be important, just like python.
- Some nonsense about unsigned integers.
The best thing I saw was that it has C's explicit-size integers. The one thing I wish every C program would use rather than having configure guess which basic type it should use.
- No curly braces around anything.
- Whitespace seems to be important, just like python.
That might be a 'bug' for you, but that's a feature for most. At least for Python, Yaml, Coffeescript, Jade, Stylus and Nimrod users :)Not interested anymore.
Yes, it's a pain to work with massively nested logic, but it's actually python's way of saying, "dude! keep your functions small and simple!", which I've come to appreciate.
It's one of the things I like about python, actually, is that it really tries hard to encourage you to write good code. Once things start looking ugly and hard to understand, it usually means that the logic & method you're trying to implement isn't a great choice.
The C brackets stuff is a mess:
http://www.slate.com/articles/technology/bitwise/2014/02/app... (The error above is not only about the gotos)
Is inconsistent. Cause bugs. Can be write like brackets don't exist (http://www.andromeda.com/people/ddyer/topten.html), nullify your argument. Pick the above link and count how much problems are masked with the illusion of the brackets.
Is unnecessary (add noise just to help the parser), and python, haskell and other languages show that could be done better.
Do you find curly braces to have some aesthetic? That you like to see it in code for its own sake?
After looking through the original patch and the current version, I found that the bug was caused by significant indentation. The maintainer had decided to add comments and accidentally indented the code one more level, making it part of an if branch. Braces would have prevented this.
The C99 stdint types really should be second nature to C developers, it always surprises me how many just haven't heard of them.