5 ms·
"Third Hand" Languages
- lucian303 14y ago"Third Hand" languages ... for young teenagers who have nothing better to do and can't hack the real thing or think they are developing something useful. Been there, done that.
- ojr 14y agoJavascript was made to be a target language ... Brendan Eich is a supporter of the BYOJ ( Build Your Own Javascript) movement
- lucian303 14y agoThat's because he knows how much his JS sucks as a language to program into.
- ToastOpt 14y agoWhich is a good thing, because just about every language sucks, but some languages realize it less than others. :-)
- BrendanEich 14y agoZing! Yes, JS sucks. It's also getting less sucky, because it won't go away. Kind of obvious at this point.
- kamkha 14y agoIf you think CoffeeScript is solely for "young teenagers who have nothing better to do," your arrogance is obviously clouding your vision.
- lucian303 14y agoYou mean my experience writing such systems. Also my experience developing in JS. I quite dislike the language myself, but I'm not going to write in whatever happens to be the metalanguage in style. I'd rather spend my extra time learning a real language that can do what I can't do currently. Not one that does exactly the same thing.
- jonbeebe 14y agoIt's a really great day in age to be a teenager then. :-)
- octopine 14y agoIs Haskell then a "Third Hand" language because it is compiled into C?
- ek 14y agoIt seems like he's using the term "third-hand" to refer to languages that merely undergo syntactic expansion in the process of translation to their target language. In the programming languages community, we often refer to this as a "desguaring" transformation, since when CoffeeScript is "compiled" to JS, the syntactic sugar is removed and replaced with JS that exactly replicates the semantics. This is in contrast to Haskell, which undergoes a fair amount of static analysis and optimization before code generation ever happens. Also, GHC doesn't only output C, and doesn't even translate Haskell directly to C. Instead, Haskell is transformed into C-- code, and GHC can be made to target C to be compiled by GCC, as you say, or the LLVM intermediate representation, or, most commonly, machine code directly.