Live data from Hacker News

Atom 1.0

blog.atom.io

351–360 of 459 posts

Re: Atom 1.0

#351
Maybe something worth pointing out..

I wanted to download this but after clicking every link I still hadn't seen a way to do it anywhere...

Obviously if I go to the homepage now the first thing I see is a big download link, which is great.

I think a 'download' link on the site though would be good since if anyone links ANYWHERE else it's hard to find.

Re: Atom 1.0

#353
post #126

Earlier quoted context omitted.

It will take you less than a day to learn to read CoffeeScript if you are familiar with JS.

Coffeescript is a very polarizing language. Most people appear to either love it or hate it vigorously. https://discuss.atom.io/t/why-coffeescript/131

CoffeeScript was released in a time when ES6 wasn't yet a thing as far as most developers were concerned. It was also a time when JS saw a huge influx of new developers coming from other languages. CoffeeScript itself draws heavily from Ruby (and some Python), which explains why it was rapidly adopted by the Ruby community and became part of Rails (just like Sass replaced CSS).

When I first revisited JavaScript after a long time writing Python code, I was quite fond of CoffeeScript because it let you pretend you're not actually writing JavaScript and because it enabled a lot of idioms that didn't exist in vanilla JavaScript.

CoffeeScript is decidedly not an extension of JavaScript. It doesn't build on existing JavaScript idioms and just add syntactic sugar (partially because many idioms of modern JS simply didn't exist at the time and there was less consensus about them) -- it substitutes idioms from Ruby and Python and implements their syntax, all the way down to changing how variables are declared and how the equality operator behaves.

CoffeeScript is written for programmers who understand JavaScript but don't want to write JavaScript when creating JavaScript code.

Thanks to Babel.js ES6 (now ES2015) is now a thing. Most of the new things CoffeeScript brought to the table for JavaScript programmers are now satisfied by the language itself or syntactic extensions supported by Babel. There is a well-understood and well-defined class syntax, there are arrow functions and tons of syntactic shorthands like method literals and object/array destructuring. What's more, because these are now officially part of the language, Babel itself just serves as a stopgap while we wait for the JS environments to catch up.

Outside its original use case of allowing Ruby programmers to avoid writing JavaScript, CoffeeScript is obsolete and (at least in terms of hype and momentum) dead. It has outserved its usefulness and has given way to more specialised languages (e.g. ClojureScript) and Babel.

It's unsurprising that Atom core is written in CoffeeScript if you consider that GitHub is and always was predominantly not a JavaScript company but a Ruby company. It is heavily invested in the Ruby world and CoffeeScript is part of the Ruby world more than it is part of the JavaScript world.

I'm not sure whether CoffeeScript's role in the Ruby world will change anytime soon, but outside that microcosm, it has become irrelevant and is quickly fading into obscurity. It served a useful purpose at the time and it has certainly influenced the development of ES6 but other than allowing Ruby programmers to avoid writing JavaScript it's just no longer worth bothering with.

Also note that at the time everybody was trying to replace JavaScript with new languages (which were either supersets of JavaScript (like TypeScript), shared a common subset with JavaScript (like CoffeeScript) or did something else entirely (like ClojureScript)).

Babel is part of a general movement towards unification. Babel out of the box has support for JSX and type annotations (which are already just defined in terms of extensions to JS). Google's AtScript has been redefined as an extension to TypeScript (which in turn seems to be moving towards redefining itself as an extension to JS). I think this is a far more productive development than everybody trying to create their own compiled-to-JS language from scratch.

In a nutshell: I don't hate CoffeeScript, but I consider it a major smell when evaluating libraries and projects. If it's written in CoffeeScript it might as well not be written in JavaScript at all.

Re: Atom 1.0

#354
post #335

Earlier quoted context omitted.

WHAT? You mean, you can't declare them without initialization. Oh well, you can't; it's also impossible in Python or Lua. Why is it a bad thing?

Lua has perfectly sane lexical scope for its local variables. Don't mix it with Python and Coffeescript.

Ah, true, I checked again and you're right. Too late to edit.

Re: Atom 1.0

#355
I'm sure there's a few problems with this software, just like others. After reading some of these FWP, and the whining...I dunno, man. There are people throwing acid in the face of girls on the other side of the world, and you're all complaining about having to go into the registry and manually remove context menus.

I don't know anything about Atom, but I'm willing to bet there's really nothing this software is doing that prevents you from sleeping at night.

Re: Atom 1.0

#356

Earlier quoted context omitted.

The parent did not say that plugins caused bloat, instead that resolving common problems with plugins (stability, quality, conflicts etc.) by pulling them into core is what causes bloat (slowness, complexity etc.) and that trying to resolve the tension between flaky plug-in based systems and bloated monolithic systems is cyclical.

Still: is anyone complaining of Emacs or Vim or ST3 being slow/complex because they have installed plugins to the core? What's an example in the wild of this "cycle of bloat" in which people complain about it?

has anyone who has ever used Emacs not complained of it being bloated? Isn't that the de facto argument in the age-old Emacs vs. Vi flamewars?

Re: Atom 1.0

#357

I've gotta say, honestly, I'm preferring Visual Studio Code over Atom simply due to the fact that it seems MUCH more stable and lightweight. Atom is very visually appealing, and I'm a fan of the project, in general, but it constantly freezes up and crashes on me. I think I'll be sticking with VS Code & Sublime.

FWIW I use Atom for hours every day to edit Ruby & JS code and it has never frozen up on me once. Earlier versions used to spin the CPU pretty hard at times but I haven't seen that for a while now either.

Re: Atom 1.0

#358

Congrats to the team for reaching this important milestone. I'm a Sublime license holder, but I use Atom as much as I can, because the more open source can win, the better. However, yesterday I was doing some complex regex's (porting a random sql dump file into a seeds.rb), and Atom kept dying, whereas Sublime was pretty much instantaneous. I'm not doing the usual "Atom is slow" drum beating, but saying some underton…

I know it's off-topic, but is regex the best way to convert SQL into seeds.rb? I'm thinking of doing the same thing, but I figured I'd use Ruby or a gem. https://github.com/rroblak/seed_dump

"...now you have two problems"

Seems off base to me too.

Re: Atom 1.0

#359

Wow... just downloaded the windows installer version and it autoinstalled itself wherever it chose fit, without questioning, it installed shortcuts on the start menu, placed itself on an already bloated contextual menu on several file extensions as an Open option, instead on "Open with...", etc. I usually install software on my user folder on the work laptop, as I don't have enough priviledges. This time the installe…

Personally I think there is something to be said for skipping irrelevant questions. I don't care where a program installs to, I just want it to work. I want the developers to deal with that kind of detail so I don't have to worry about it.

The question isn't irrelevant.

Re: Atom 1.0

#360
post #238

Earlier quoted context omitted.

The UI library is in coffee script; if you want use a UI for your plugin, youre pretty much stuck using it. (..and yes, its technically possible to do with plain js, but I challenge any of the 'but just use js' folk to link to a popular plugin, with a UI, that does)

You can call CoffeeScript functions from JavaScript and vice versa. There's no reason that you can't use the UI library from code written in JS. The fact that its written in CoffeeScript is an implementation detail

Inheritance. DOM element functions. Gee, I must have never tried this and have no idea what I'm talking about right?

I tell you what, you try it and tell me how it goes for you?

It's really not that simple.

Post reply on HN