HN user

Mikechaos

4 karma
Posts1
Comments7
View on HN

Having to deal with emails lately, I feel the pain and would most definitely had needed something like so to ease that pain. I'm really not an email guy and coming up with a table button so it renders correctly on Outlook and it's damn Word rendering engine was just a total waste of time. And that's only one of the thousands of pitfalls and crap you have to deal with. I'll definitely try it out next time I'm on duty for emails!

The graviton is the missing particule of the quantum mechanics. It is, simply put, a 'gravity unit' exchange between every corpse in the universe from which 'emerges' gravity.

I bet you there are a lot of efforts made right now to find a way to measure them!

CoffeeScript 1.7.0 12 years ago

What speed and ease to you gain with it?

Speed and ease of development! Yes it is mostly syntactic sugar, where I wanted to make a point is that this "sugar" adds more to the language than sweetness for the sake of it. It exposes beautiful pattern that are cluttered in day to day javascript syntax. My final compiled javascript code is not the same I would have produced would I have coded directly in Javascript. Coffeescript also gives me a different approach to think about a problem.

Things like it's expressive for loops and default arguments generate really ugly code, and shun people from using ES5 array methods like .forEach, .map, and .filter, which are a lot cleaner and more optimizable by the engine.

I use underscore which will delegate to .forEach et all it they exist... I really rarely use loop comprehension, though they can be very expressive if used correctly..

CoffeeScript will completely obscure the way JavaScript works to newcomers

I disagree. I've installed the proper plugin (I'm on emacs, same is true for vim, sublime or lightTable), I am therefore two stroke away from the compiled javascript. Furthermore, I spent a decent amount of time a week in the debugger where the code is in JS. If I could have disliked this in the beginning, having two different languages whether you code or debug can seem unfamiliar, I actually love it. It keeps my Javascript sharpen and it gives a thorough understanding of exactly what's happening in my Coffeescript code. And that's exactly where I found a niche for Coffeescript. In my opinion, it is definitely not a replacement for Javascript, it is a cleaner, more expressive and easier way to write it, without any real overhead. Honestly, it took me minutes to understand and less than a day to feel comfortable and be efficient in Coffeescript. What I recommend to newcomers is to use coffeescript's syntax to to learn Javascript, by continually compiling down to JS and understanding what's happening. The JS output by CS isn't ugly at all, and that is a strong point. It is really possible to learn some great javascript idoms just by applying built-in coffeescript construct and understanding their value and working in JS

JavaScript isn't designed to have true OOP principles

... Hmm right... ?

CoffeeScript 1.7.0 12 years ago

I'm also not so sure about the "non-JS coders" part. As a proficient Javascript programmer, I absolutely love CoffeeScript. I even recommand it to learn the good parts of JS when you are completely unfamiliar with it. I think there is a lot more than synctactic sugar to Coffeescript. It makes obscur or verbose JS patterns really easy to use. My code generally compiles down to up to twice as much JS code. Yes the compiler outputs somewhat verbose JS, but I can't deny the speed and ease I've gain with it. And it is only my first professional project using it.

I was in the exact situation two days ago. "Okay, time to start a new project. Okay let's see what options I have.. Maybe about 32 is a good approximation" I love learning new languages, studying different construct, different concepts. I get so much from studying or overviewing a language I might never use to actually write code with. I also like my side project being spaces where I can affort to try different 'exotic' things. So I started surfing, got to CoffeeScript, NodeJs or CoffeeScript and ruby (my last project was in AngularJS (javascript, no coffee) on top of Sinatra (Ruby). Loved it. Most recommand it.) Then it started being more Esoteric : Nemerle, Dart, factor (really interesting!! most recommand to at least check it out : http://factorcode.org/littledan/dls.pdf), etc. But at one point (I was in a bus), it became clear. Clojure is the solution. Didn't know much about it, couple of really interesting article had made me keep a mental note on it. So I started digging into. Found love. - Efficient Macros (way cleaner than Common Lisp) - Incredible data-structures (Not just an other Lisp) - Active and growing Community - Can be purely functional - Walk-in documentation (Rich Hickey is made to explain how great things he does are. I mean reading is doc is like an all-around course on developper's best practices) - Full application in one language (Clojure and ClojureScript count as one. Heh.) - It's made by Rich Hickey. (Just joking.. Ha.) - Supports Concurrency out of the box.

It won over CoffeeScript and NodeJS.. mostly because I already knew Javascript too well. Didn't felt I would get that "deeper understanding", as you mention, I was searching for. It won over CoffeeScript and Ruby (I didn't do that much ruby at all, though I love every line I've written in it).. Because.. well it's a Lisp! Deeper understanding of Lisp is a no-choice toward skills I'm seeking to acquire (Out-lined, partially, in On-Lisp, pg).

So there I am, studying Clojure and sharing my exciting discoveries. Hope the list you've given wasn't the exclusive list of language you want to use. I would vote Clojure anyway.