News for hackers. Stuff that matters.
Re:Why should I have written ZeroMQ in C, not C++ (2012) by kibwen on Thursday May 21, 2015 @12:33AM (#9580977)
"Number of pages in specification" is a rather useless metric to use to compare languages, since there are so many variables. And not just things like point size or margins or what have you, but the contents themselves vary. Some specifications include an EBNF grammar, others may try to describe it via natural-language rules, and others may just say "see the reference implementation". Some specifications include documentation on the language's standard library (the scope of which is a factor that itself varies greatly from language to language), and some of these will go into differing amounts of detail (e.g. providing upper bounds for computational complexity of algorithms). Some languages will go into great detail about memory models (especially low-level ones), while others will wave it away as an implementation detail.

TL;DR: don't trust anyone who tries to use the length of a specification as a comparable proxy for complexity. I can write a 10,000-page standard for Scheme if you hire me to.

Re:Why should I have written ZeroMQ in C, not C++ (2012) by MaulingMonkey on Thursday May 21, 2015 @05:06AM (#9581641)
> "Number of pages in specification" is a rather useless metric to use to compare languages, since there are so many variables.

How would you prefer to compare language sizes? Gut feel? Surely that's even worse.

I'll certainly admit that - like LOC measurements - it's a metric one can't take too seriously on it's own. On the other hand, it's a useful starting point for discussing said variables.

For example, when I was eyeballing the Javascript standard (I've already read the C++ standard a decent bit), I saw it (like C++'s) defines a grammar, and includes some core library bits (e.g. the Object type.) On the other hand, I didn't see the full browser DOM API you'd use when writing most Javascript - but then again, you don't see any modern graphics or UI widget APIs in the C++ standard either.

This was enough to convince me that they were comparable enough for an orders-of-magnitude comparison, at least. My gut reaction was that C++'s standard might be more detailed - but that'd be biased in my favor, further undermining the argument that Javascript is significantly smaller than C++.

> I can write a 10,000-page standard for Scheme if you hire me to.

But can you find a 10,000 page standard, for any language? Eventually everyone hits a limit to what they consider worthwhile to write, short of perverse incentives.

Re:Why should I have written ZeroMQ in C, not C++ (2012) by kibwen on Saturday May 23, 2015 @09:33PM (#9595032)

  > How would you prefer to compare language sizes? Gut 
  > feel? Surely that's even worse.
Why is it necessary to compare "language sizes" at all? Nobody has ever demonstrated that the "size" of a language (by any definition) has any measurable effect on the quality of the software written in that language. It's as pointless as the classic vim vs. emacs argument.
Re:Why should I have written ZeroMQ in C, not C++ (2012) by MaulingMonkey on Monday May 25, 2015 @01:55AM (#9598835)
> Why is it necessary to compare "language sizes" at all?

It seems relevant in the context of how difficult it is to master a given language, which spawned this thread of debate. Do you disagree that language size is any sort of barrier?

Again, only one metric, to be taken with a measure of salt. But would you prefer we compare languages based on gut feel? Or is comparing languages unnecessary as well?

> It's as pointless as the classic vim vs. emacs argument.

Understanding the merits of vim vs. emacs informs you which you might prefer. The answer to that argument, over which is "ultimately better" is certainly pointless. You can simply choose whichever works best for you, especially as you can change your mind mostly at will.

But people don't simply have the choice of "choose whichever works best for you" when it comes to programming languages on a team project. Nor are languages as fungible as editors when it comes to changing your mind - switching languages mid-project is a massive time sink, and frequently fatal to the project.