
Atom 1.20 - gisenberg
http://blog.atom.io/2017/09/12/atom-1-20.html
======
_eht
I was a fan of Atom until I tried VSCode. Call me a shill, if you will, but it
is an all around better experience and I haven't looked back.

~~~
czechdeveloper
Why shill. It's just great tool. I love lots of what MS does. I still consider
C# best language I ever learned.

~~~
disease
I loved c# 10 years ago but have a few issues with it these days:

* functions not really being first-class citizens * great collection methods with LINQ, but why did they give them such weird names? (map = select, filter = where, reduce = aggregate?) * took them a while to come up with a great async model (async/await), so legacy c# asynchronous code can be hard to figure out at first

Just my opinion but it seems like more recent languages like Swift have done a
better job implementing ideas from functional programming. It's still light
years ahead of Java to me though.

~~~
softbuilder
>but why did they give them such weird names? (map = select, filter = where,
reduce = aggregate?)

SQL.

------
paule89
How about reducing the memory footprint?

~~~
_eht
You were downvoted to oblivion, but honestly this is a huge issue that somehow
feels like people are just OK with.

Honestly, work with Atom open for a day or two on the same project, that's not
uncommon right? Prepare yourself for some serious type lag.

Full disclosure, I run a Linux desktop with 32GB of RAM. I'm not accustomed to
type lag. Judging by your downvotes it's an acquired taste.

~~~
dmit
I downvoted paule89's comment because it felt like a cheap shot at an
established product with well-known pros and cons.

Yes, Electron apps consume a bunch of RAM. Yes, Rust needs you to deal with
data lifetimes. Yes, Go still doesn't have generics. Yes, Haskell has a steep
learning curve if you learned imperative languages first.

No, restating those facts on HN at every opportunity is not constructive.

~~~
yjftsjthsd-h
Rust is built on lifetimes, Go is designed to not have Generics, Haskell will
always be weird. A UI toolkit has no inherent reason to use a large amount of
resources, so there is some value in noting that they either don't care or
haven't managed to fix it yet.

~~~
zanny
Rust is built on lifetimes but the compiler could definitely infer them
better. Not only from my experience, but all attempts to introduce coworkers /
anyone else to Rust usually meets a "this 'a thing is ugly and awful and I
hate it".

Really it was more a design decision on the language part than something it
was "built" on. In 99% of cases the compiler can identify where _exactly_ you
need to annotate lifetimes to sate itself. They are only there for
explicitness. Tagged lifetimes will help a lot with this, because it is much
more intuitive for anyone using any other language to say "ok I need to say
result R lives as long as argument A that makes sense" vs "stick an 'a on
everything" and have functions that have nothing to do with generics _looking_
like generics to the average joe.

I know I personally have written function signatures to take (or return) owned
data in Rust _just_ to avoid having to lifetime annotate the whole thing. It
is just a chore that most of the time is just boilerplate to "make it obvious"
to readers of code, despite almost every situation I see lifetime annotations
I can straightforwardly understand that the & in the return is lifetime bound
to the & in the arguments or the struct field it comes from.

------
SwellJoe
I'm really impressed with the tick-tock of Atom development. Their turnaround
time on releases with major new features in each release is really something
to see.

And, it's a pretty decent rebuttal to the questions folks raise about the
decision to build on Electron in Javascript. The tradeoffs are big (memory,
startup time, performance), but the benefits are maybe bigger (huge dev
community, tremendous resources being thrown at the biggest problems in the
form of work on the JavaScript engine and language, easy-ish entry for new
developers, etc.). Even with all of its flaws, it's still a better experience
enough of the time for enough of the people that it's become one of the most
popular editors almost overnight.

------
dna_polymerase
Still prefer Sublime over Atom. I can't stand software that wastes Memory like
Atom does.

Then again Atom has a nice UI. Maybe in the future...

------
Dowwie
Atom 1.21 features support for the language server protocol

~~~
hdhzy
Wow, that's a big one! I'm eager to try Atom out again after being burned by
speed issues years ago.

~~~
elliotec
Those aren't gone.

------
zackify
Every update I hope there won't be lag, but sure enough there always is. Leave
it open for a whole day and text input + browsing a project tree will freeze
periodically. I'm on a maxed out Mac too...

~~~
Siilwyn
You could try running it with no custom plugins. If it still happens I would
report the issue at their GH repository.

As others above have said, me included, never experienced what you describe.

------
jasonrhaas
I've tried all the editors, when it comes down to it I always end up going
back to some combination of Sublime + Vim. I prefer to do most things on the
command line rather than set up IDE configurations, so a plain text editor
suits me just right.

I like the customization of Sublime, and I've got it setup just how I like. In
a way, Vim is similar... once you get it customized perfectly, there isn't
going to be another text editor that beats it.

VScode is nice, but I don't really see any pros to it that would make me
switch from Sublime, other than the Debugger maybe (which I never use).

~~~
catacombs
What's your combination of Sublime and Vim?

I've recently switched from VSCode to Vim and have really started to like it.
I try to use Vim keybindings in everything I do, including browsing on Chrome
with the plethora of Vim-like extensions.

I still use Sublime, mainly for its multi-cursor editing power. I don't
there's an editor that can really match Sublime's multi-cursor feature. I know
there's a way of doing in in Vim, but I'm still learning this language, and it
seems like a difficult concept for me to grasp right now

~~~
jasonrhaas
I just meant that I use Sublime and Vim as my primary text editors. I do use
the "vintage" mode in Sublime also, which mimics some of Vim's functionality.

------
thewhitetulip
By how has the performance improved? The last I checked Atom was way too slow
as compared to other editors even VSCode.

