TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

CoffeeScript and Progress

65 pointsby focusaurusabout 13 years ago

8 comments

dustingetzabout 13 years ago
he's missed the point. people aren't saying that "CoffeeScript is a priori somehow wrong or inferior or a bad choice". Coffeescript is an abstraction, and abstractions have potential to leak, so some people are questioning whether the benefits of coffeescript - namely, prettier code - are "worth it" for production-scale projects.<p>as your project gets big, does coffeescript help us write more maintainable code, better abstract our solutions so we can keep less things in our head at once, resulting in higher agility and fewer bugs? When you look at the deep reasons why a large codebase went sour, you're not blaming it on things like list comprehensions, you're blaming it on things like "Java strong-arms us towards building abstractions with only OOP, which over the course of a few years builds into indecipherable layers of implementation inheritance, causing high defect rates and much decreased agility".<p>The difference between CoffeeScript and Javascript, in terms of what a team can accomplish, hasn't been proven in production-scale projects. they may be, or maybe only for some teams, or maybe they aren't, but you can't debate something without being able to articulate the opponent's position.<p>update: interestingly, ClojureScript may be a language where the productivity delta from javascript is much larger, and is better worth it. clojurescript introduces new ideas and idioms to the js community, where coffeescript is an incremental update to javascript with no new ideas.
评论 #3672574 未加载
评论 #3672493 未加载
评论 #3672501 未加载
评论 #3672513 未加载
unotiabout 13 years ago
If you're considering trying Coffeescript, here are a few thoughts for you. Remember that the Vim plugin for Coffeescript compiles your Coffeescript to a js automatically every time you save, and it even shows you immediately if there are any errors. I've had difficulty setting up other Vim plugins, but this one was blessedly simple to get going.<p>An awesome tool for helping you to learn Coffeescript is the "Try Coffeescript" tab on <a href="http://coffeescript.org/" rel="nofollow">http://coffeescript.org/</a>. This lets you type a little bit of stuff, and see how it translates into Javascript, in realtime, while you type. I still use this today when I'm trying to verify I'm on the right track with a bit of punctuation (meaning, leaving punctuation out, usually).
评论 #3671903 未加载
评论 #3674881 未加载
robterrellabout 13 years ago
<i>Ouch, my eyes! All those closing punctuation groups!</i><p>This seems to come up often, the purported ugliness of JavaScript. To rebut, I'll use one of his own arguments:<p><i>I don't really know why people bring this up so often. It's just a non-problem for me.</i>
jcampbell1about 13 years ago
&#62; The few who responded seemed to dislike it, not for any particular technical objection to the language or its features, but simply to its existence at all, which surprised me.<p>It seems that the author is surprised by rational human behavior. A new language introduces a tradeoff between having a new tool that may better solve your problems, and introducing fragmentation where the developer must invest time learning a new language and tooling or the developer faces a smaller body of code that he can work on.<p>I like and use CS, but the author's philosophy that more languages in use always better for everyone, is fundamentally flawed.
评论 #3672454 未加载
showell30about 13 years ago
This is Rob Pike's take on FUD toward new programming languages:<p><a href="http://commandcenter.blogspot.com/2011/12/esmereldas-imagination.html" rel="nofollow">http://commandcenter.blogspot.com/2011/12/esmereldas-imagina...</a>
ajucabout 13 years ago
If f g h x boils down to f(g(h(x))) and [1 2 3] boils down to [1, 2, 3]<p>Then what is the meaning of [f 1] ?<p>EDIT: I've tried on <a href="http://coffeescript.org/" rel="nofollow">http://coffeescript.org/</a> and it seems a = [1 2 3] doesn't work? EDIT2: newlines instead of spaces works, my bad
评论 #3671544 未加载
评论 #3671734 未加载
btbuilderabout 13 years ago
I agree with pretty much all of his points. But the argument that code will 'never align' with line numbers seems like a dismissal that debugging exactly what you wrote is very valuable when tracking down subtle bugs.
评论 #3671722 未加载
评论 #3671733 未加载
评论 #3672104 未加载
drumdanceabout 13 years ago
I don't have an opinion pro or con on this.<p>However, I'm old enough to remember when JavaScript was first introduced as LiveScript and it was mostly seen as a toy for simple stuff while Java was the Real Deal. (I started my first company largely on this premise.) The big competition back then was ActiveX. Remember that? Amazing how things have evolved.