Live data from Hacker News

CoffeeScript Means Giving Up on JavaScript

w2lessons.com

51–60 of 71 posts

Re: CoffeeScript Means Giving Up on JavaScript

#51

Earlier quoted context omitted.

Whoa, JavaScript is so much better then PHP.

From what I understand, working in Javascript is by default a terrible situation, and you have to go out of your way to do anything good (hence the plethora of structural frameworks). This is why you never see a book like "C: the good parts" or "Ruby: the good parts." And from my limited knowledge of it, the good parts of Javascript are Self (or, I guess, Coffeescript). It's like people living near Albany NY who are…

First off, the premise that because the language has frameworks means that it's bad language is false. Ruby has rails, C has the standard library. You don't rewrite everything from the ground up every time you make a program.

Second, there are a lot of frameworks for so many reasons. One big reason is the each browser has a slightly different DOM implementation. Frameworks just smooth over the differences.

Re: CoffeeScript Means Giving Up on JavaScript

#52
post #20
post #15

To quote the author: "For the extra effort you'll make learning CoffeeScript and its idiosyncrasies, why not put it towards really learning JavaScript?" There are so many wrong saying in this statement. First, understand that CoffeeScript is JavaScript - but without its idiosyncrasies. If you know JavaScript really well, learning coffeescript takes minutes. CoffeeScript embraces closures and prototype inheritence; it…

> Good programmers tend to enjoy learning new technologies and paradigms. You've stumbled onto a pet peeve of mine. I think it's rather that people who like learning new programming languages like labeling people like them as "good". The flip side of the coin is that there's a huge intersecting set of attention-deficit afflicted dabblers who play with a large number of technologies and master none of them. I enjoyed…

When I say new technologies, I don't mean "new programming languages". Learning new libraries to make you better at your craft is part of "learning new technologies". Whatever the languages or the tools you use, you can always learn more and be better at them.

In my career, I've met all kind of programmers, and I'm sure you also have. Some are really passionate about their crafts while others do the minimum, go home and don't think about software until 9am the next morning. You are right that I can't say that good programmers enjoy learning new technologies. But I can assure you that the worst programmers I've worked with were never willing to learn more.

And, comparing software engineering with more mature fields is somewhat difficult as their tools do not change as fast as ours. Yes, craftman tend to know their tools inside-out; but they're not limited to only one. They're usually good with all of them and pick the right one for each situation.

Re: CoffeeScript Means Giving Up on JavaScript

#53
post #34
post #26

Earlier quoted context omitted.

Let's take someone who has learned Ruby outside of the classroom and is now attempting a relatively simple Ruby on Rails site. What disadvantages does he/she have not having studied assembly (as most com sci/engineers do at some point in their coursework)? Are these disadvantages major compared to, say, the disadvantages of not having learned HTML and attempting to be a RoR dev? I would guess no. But I've learned bot…

Ruby presents a VM; someone who understands the capabilities and limitations of that machine will be able to write Ruby code much more effectively than someone who does not, simply because they will understand what they are writing. It would not shock me if most Rails devs were in fact Ruby tinkerers; and there's nothing wrong with that, if that's all you need to do.

Every time I've heard people discuss that level of concern over code speed or space considerations the topic turns to C extensions. I cannot recall ever hearing or reading about tuning ruby code for its VM. Or even C code. Perhaps that's because I've never had the need to be concerned about it, but if there exists any writings or conference video on this i'd be curious to take a look.

Re: CoffeeScript Means Giving Up on JavaScript

#54

CoffeeScript will mean giving up on JavaScript. The more popular CoffeeScript becomes, the less proficient the overall developer population will be at JavaScript,especially if they spend most of their time writing CS over JS. The problem at the moment is that the world still works in JavaScript, not CoffeeScript. He rightly draws the analogy between jQuery and JS. I spend a lot of my time working on jQuery core, and…

"In a few years," Chrome and Firefox will have support for source maps. The average CS developer will be debugging in CoffeeScript, not JavaScript. The original author's argument is much weaker when this feature is considered.

The original author's argument will be much weaker when this feature is implemented. But not today.

Promises of future solutions don't help fix the problems that exist today today.

Re: CoffeeScript Means Giving Up on JavaScript

#55
post #49

I DON'T LIKE CoffeeScript either, it's more Ruby like, why can't people just love JavaScript for what it is. Please read the good parts by Crockford or listen to his talks!

Actually, i did a lot of ruby and python programming, but I find plain JS synax more readable than CoffeScript.

Re: CoffeeScript Means Giving Up on JavaScript

#56

Earlier quoted context omitted.

"In a few years," Chrome and Firefox will have support for source maps. The average CS developer will be debugging in CoffeeScript, not JavaScript. The original author's argument is much weaker when this feature is considered.

The original author's argument will be much weaker when this feature is implemented. But not today. Promises of future solutions don't help fix the problems that exist today today.

The author of the people-will-forget-JS-in-the-future premise is specifically referring to the future. CS specifically solves a present-day problem--ugly JS syntax.

Re: CoffeeScript Means Giving Up on JavaScript

#57

Earlier quoted context omitted.

Whoa, JavaScript is so much better then PHP.

From what I understand, working in Javascript is by default a terrible situation, and you have to go out of your way to do anything good (hence the plethora of structural frameworks). This is why you never see a book like "C: the good parts" or "Ruby: the good parts." And from my limited knowledge of it, the good parts of Javascript are Self (or, I guess, Coffeescript). It's like people living near Albany NY who are…

Working with the Javascript HTML DOM API is a terrible situation, and you have to go out of your way to work around that brokenness to do anything good with the DOM.

Javascript the language, and most libraries/APIs written for Javascript using Javascript idioms, are very pleasant.

Re: CoffeeScript Means Giving Up on JavaScript

#58

Earlier quoted context omitted.

From what I understand, working in Javascript is by default a terrible situation, and you have to go out of your way to do anything good (hence the plethora of structural frameworks). This is why you never see a book like "C: the good parts" or "Ruby: the good parts." And from my limited knowledge of it, the good parts of Javascript are Self (or, I guess, Coffeescript). It's like people living near Albany NY who are…

Working with the Javascript HTML DOM API is a terrible situation, and you have to go out of your way to work around that brokenness to do anything good with the DOM. Javascript the language, and most libraries/APIs written for Javascript using Javascript idioms, are very pleasant.

I 100% agree that the DOM API is a terrible situation. I don't agree that JS is pleasant. When you run a marathon, your legs ache, and that's the DOM API (and all the other concerns of web programming). JS is the little blister on your foot. It hurts too. CS is the vaseline on that little blister. Sure, you still have to run the marathon, and it's gonna suck. But at least the blister is no longer a problem, so you can focus on the bigger issues.

Re: CoffeeScript Means Giving Up on JavaScript

#59
post #50

CoffeeScript will mean giving up on JavaScript. The more popular CoffeeScript becomes, the less proficient the overall developer population will be at JavaScript,especially if they spend most of their time writing CS over JS. The problem at the moment is that the world still works in JavaScript, not CoffeeScript. He rightly draws the analogy between jQuery and JS. I spend a lot of my time working on jQuery core, and…

I was interested until this: > "Five years ago when jQuery was created, just about every web developer knew JS quite well and understood the quirks of every browser and JS implementation." False. Five years ago programs thought of JavaScript as a silly little non-language to add fantastic effects onto their serious back-end code. When Rails 0.6 added a way to do sort-in-place lists via ajax, and they worked every tim…

> Five years ago programs thought of JavaScript as a silly little non-language to add fantastic effects onto their serious back-end code.

Back-end programmers may have felt that way five years ago, but there were plenty of people who were using JavaScript to write highly functional and responsive web pages in 2005. Don't forget that the original XHR object was created by Microsoft with IE5 as a way for Outlook to refresh a web inbox view without a roundtrip to the server.

Re: CoffeeScript Means Giving Up on JavaScript

#60

It's very gratifying to see how overwhelmingly the comments are both positive and in disagreement with Michael's blog post. If you'd like to see the most complete explanation of why CoffeeScript is all about working with and embracing JavaScript -- not giving up on it -- the best resource is probably Brendan Eich's and my joint talk at this year's JSConf: http://blip.tv/jsconf/jsconf2011-jeremy-ashkenas-5258082 But t…

Why haven't you tried it yet?

I have tried it, and I love it (same goes for Backbone and Underscore, by the way - you are the developer who's work has impacted me the most positively in the past year) but I haven't used it for anything serious yet, and here's why: the workflow is more complicated than "make change, refresh". Until very recently, my programming time was split about equally between the three major operating systems (I have since managed to phase out Windows almost entirely) and it's way more trouble than it's worth to set each of them to autocompile changes to .coffees. I know that I could import the compiler and use script type="text/coffeescript", I know about LiveReload for Mac (even though I couldn't get it working in the few minutes I tried it) but the bottom line is that I already know how to write Javascript, and it works great. Learning a new language is the sort of thing I like doing, but wasting time futzing around with build systems is not.

Anyway, I didn't mean to rant. I could easily love CoffeeScript - I don't feel threatened by it a bit. But there are some serious barriers to adoption, and Javascript isn't nearly painful enough for me to deal with them.

Post reply on HN