5 ms·
I fear that this is one of those "I've heard someone make a metaphor and taken it too literally, then rebutted that literalism broadly." I imagine 99% of the t
by simonsarris 14y ago
I fear that this is one of those "I've heard someone make a metaphor and taken it too literally, then rebutted that literalism broadly."
I imagine 99% of the time that metaphor is made the author would be just as happy saying "JS is the new C", it simply doesn't roll off the tongue as well.
- Helianthus 14y agoIt's not, in fact; it's a good extension and modification of the metaphor. Not that the original metaphor is wrong or useless; but thinking of javascript as C provides some glimpse into the risks of what made C++ problematic. The author picks Coffeescript as an example of a fairly sensible approach to the problem, but "the language-wank crazy" are taking a lot of risky approaches.
- deleted 14y ago[deleted]
- Cushman 14y agoI agree with the first part, disagree with the second. "JavaScript is assembly" is, in my estimation, usually a rather blase metaphor for the idea of JavaScript as a compile target. People don't say "JavaScript is the new C" because generally you don't target C. (Generally you don't target assembly, either, but the distinction between assembly and machine code is academic to most people.) And it's no surprise that we're getting lost in this; making arguments based on metaphors rather than the thing itself is a classic trap. We should make an effort where possible to talk about what JavaScript is rather than what it "is".
- scott_s 14y agoI guess it depends on how general you mean "generally" to be, but there is a history of people targeting C for new and experimental languages. It's a convenient target because we have a good idea of what kind of assembly will be created for a given chunk of C, and you can get architecture independence for free.
- Cushman 14y ago> and you can get architecture independence for free And you target JavaScript for precisely the same reason :) Perhaps the better way to say it is this: C is a language which was once written by hand, but which is increasingly being used as a target for higher-level languages. The same thing is happening to JS, but at least to me "JavaScript is the new C" is not a particularly useful way to express that similarity.
- vidarh 14y ago> because generally you don't target C. (Generally you don't target assembly, either, but the distinction between assembly and machine code is academic to most people.) You're excluding a large chunk of compilers with those two generalizations. Targeting assembly rather than directly emitting machine code is extremely common (gcc being one of the obvious examples), and targeting C is very common for new/experimental languages.
- Cushman 14y agoAll I'm trying to say is that "a target for higher-level languages" is not a defining attribute of C in a way that makes "JavaScript is the new C" a helpful analogy.
- deleted 14y ago[deleted]
- fauigerzigerk 14y ago"making arguments based on metaphors rather than the thing itself is a classic trap" Well, yes and no. I do agree that it often goes completely wrong and can be very misleading. But the JavaScript/assembly argument is more an analogy than it is a metaphor, and analogies are a very important function of intelligence and a tool for making important discoveries. That said, I like your generalization "compile target" a lot more than calling JavaScript assembly.
- epsylon 14y agoThere are a lot of compilers that target directly C.
- deleted 14y ago[deleted]
- amirouche 14y agoThis can help https://news.ycombinator.com/item?id=4630057 https://news.ycombinator.com/item?id=4630057 «JS is the web's “virtual machine”» Brendan Eich
- fkdjs 14y agoYou really shouldn't try to use metaphors when making an argument. Someone says A is like B, another person disagrees that A is like C. But no, says another, A is like D. Finally, an internet troll points out A is like B and D, but definitely not like C. By then, everyone's brain gives up trying to figure it all out. If you're gonna make a point, make a point, it's that simple.
- biot 14y agoAre you arguing that metaphors have no value when explaining a concept? I'm sure Shakespeare would be a whole lot more boring without the use of metaphor: To be, or not to be: one could ponder: Whether one's sense of self-worth increases In direct proportion to one's ability to accept adversity, Or to address challenges, And in so doing solve said challenges? Personally, I prefer the original: To be, or not to be: that is the question: Whether 'tis nobler in the mind to suffer The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles, And by opposing end them? [Apologies in advance for the inevitably botched translation.]
- pekk 14y agoShakespeare was not arguing about programming languages, though.
- biot 14y agoThe comment I replied to said "You really shouldn't try to use metaphors when making an argument." Was Shakespeare not using his characters to present an argument for dramatic effect?
- fkdjs 14y agoShakespeare is entertaining and metaphors are fun. Do you disagree with a poem and bring up logical fallacies? Of course not, we read them for entertainment value and anything we learn is a bonus. That is separate from metaphors used when trying to discuss the nuances of an argument within the confines of trying to have a logical argument. Poems and Shakespeare aren't supposed to be logical all the time, that would be boring.
- spinlock 14y agoGlad to see this is the top comment. Makes me believe hackernews is still a smart place.