> In fact it is unusable exactly in those ways it departs from C: It is lenient when it should be strict (ASI)
Nope. I don't understand why restricted productions are made so, but other than that ASI is a very good idea.
Why write something if compiler can figure it out by itself?
> and strict (or at least unpredictable) when it should be lenient (these have been lamented on extensively elsewhere by others)
I didn't see anything unpredictable about _javascript_ so far. Well except for web browser bugs, but those can't be predictable by definition.
> it is primitive in unsettling ways (multi-line strings)
Good point about multiline strings, but that's already waiting to be fixed with es6 templates.
> (why do some assignments copy a value while others copy a reference? In C the answer is simple: ignoring the shortcut of arrays, all assignments copy a value, except in some cases the value being copied is a pointer to a block of memory).
You can assume that objects are C-like pointers. This way JS behave exactly like C.
> I could go on.
Please do, since I don't see anything wrong with JS as is. Maybe something is to be said about absence of compile-time metaprogramming support, but JS is certainly better than Go for all I know.
PS: what's wrong with node.js streams anyway?
07.07.2014, 20:58, "// ravi" <[email protected]>:
On Jul 7, 2014, at 6:21 AM, tjholowaychuk <[email protected]> wrote:--Throwing man-hours debugging brittle code is not worth it, especially in young startups that can't afford to make mistakes. The great thing about Node is that it's _javascript_, the terrible thing about Node is that it wastes the good part by being fundamentally flawed and broken usability.The great thing about _javascript_ is that it offers C-like simplicity (refreshing after a decade or two of C++ and Java) and structure (the syntax is not replete with mystifying arrows, nor does it treat whitespace as a significant token), but I disagree that _javascript_ is a very usable language. In fact it is unusable exactly in those ways it departs from C: It is lenient when it should be strict (ASI) and strict (or at least unpredictable) when it should be lenient (these have been lamented on extensively elsewhere by others); it is primitive in unsettling ways (multi-line strings); it is leaky in the wrong place (messing around with prototypes) and magical/mysterious where it should make the implementation explicit (why do some assignments copy a value while others copy a reference? In C the answer is simple: ignoring the shortcut of arrays, all assignments copy a value, except in some cases the value being copied is a pointer to a block of memory). I could go on.I also disagree that performance (raw or otherwise) should not concern startups. For not-yet-profitable and cash-strapped entities, it just does not suffice to answer “spin up another VM”. I do admit that performance absolutism does not sit well with a whole slew of interpreted languages, but that does not compel us to abandon performance as a significant criteria.Most of everything else in your blog post, I find myself vigorously nodding in agreement with.NodeJS, as an ecosystem, is a bit of Wild West, which is brilliant in many ways (nobody shoving MVC, or their clever little extension to the initialism, down my throat). But good grief, it took me (admittedly a slow-moving primate) 3 days to figure out that socket.io (to use one example) is not a vanilla WebSockets implementation.—ravi--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/40DA4F74-0F67-417E-8D7A-9790C1D7E8E8%40g8o.net.
For more options, visit https://groups.google.com/d/optout.
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/4715521404764531%40web15h.yandex.ru.
For more options, visit https://groups.google.com/d/optout.
