Live data from Hacker News

Improving startup time in Atom with V8 snapshots

blog.atom.io

71–80 of 173 posts

Re: Improving startup time in Atom with V8 snapshots

#71
post #35

Earlier quoted context omitted.

Must every thread about VSCode and Atom start the same way? It's a trade off: performance for a cross platform JavaScript app development. If that is a tradeoff you don't have to make, don't do it. Atom and VSCode have made that tradeoff. I don't know what rehashing this can possibly accomplish.

> Must every thread about VSCode and Atom start the same way If many people believe this is the case, why not? All articles get some common types of responses based on the topic, this is just one topic/response combo that you happen to disagree with. > It's a trade off: performance for a cross platform JavaScript app development. It's an unnecessary tradeoff. If a single developer can create ST from scratch for Windo…

Aren't all tradeoffs unnecessary? I mean, it's part of the definition, right?

Re: Improving startup time in Atom with V8 snapshots

#72
post #35

Earlier quoted context omitted.

> Must every thread about VSCode and Atom start the same way If many people believe this is the case, why not? All articles get some common types of responses based on the topic, this is just one topic/response combo that you happen to disagree with. > It's a trade off: performance for a cross platform JavaScript app development. It's an unnecessary tradeoff. If a single developer can create ST from scratch for Windo…

I feel silly asking but what is ST? Edit: Sublime Text?

Yes.

Re: Improving startup time in Atom with V8 snapshots

#73

Earlier quoted context omitted.

I dont seem to have much experience? Based on what? For having a different view than you? Isnt that a little naive? So as far as actually talking about my point goes, what exactly am I missing? There are small differences but I've never seen a language that I couldn't get up and going in over the course of a week. How much experience do you think I have? I've used plenty of languages, and I'm well aware that there ar…

> I dont seem to have much experience? Based on what? Based on the fact that you think all programming languages are essentially the same. That's just a ridiculous claim and it immediately exposes you as someone who's only used a couple of Algol derivatives.

2 things

1. I don't think literally all programming languages are the same

2. I have used Haskell, and am very aware of every language listed in the other replies to this comment, so you're completely wrong.

I kind of thought this community was better than this, to be honest.

Re: Improving startup time in Atom with V8 snapshots

#74
post #60
post #43

Earlier quoted context omitted.

If this was truly that simple, don't you think someone would have already done it? Furthermore, is there even an actively maintained, open source, cross platform, development-focused text editor with native UI components?

> If this was truly that simple, don't you think someone would have already done it? Someone already has done it. An one-man-shop built Sublime Text by himself. Surely it's not having JS as an extension language as opposed to Python (the only difference between ST and what I propose) that's making it difficult. > Furthermore, is there even an actively maintained, open source, cross platform, development-focused text…

How long did it take to build Sublime Text vs. Electron + Atom? Are the original developers in Atom experienced in C++? How easy is it for 3rd party developers to contribute extensions to each? How do the extension catalogs compare, in size?

Re: Improving startup time in Atom with V8 snapshots

#75
post #60
post #43

Earlier quoted context omitted.

If this was truly that simple, don't you think someone would have already done it? Furthermore, is there even an actively maintained, open source, cross platform, development-focused text editor with native UI components?

> If this was truly that simple, don't you think someone would have already done it? Someone already has done it. An one-man-shop built Sublime Text by himself. Surely it's not having JS as an extension language as opposed to Python (the only difference between ST and what I propose) that's making it difficult. > Furthermore, is there even an actively maintained, open source, cross platform, development-focused text…

I don't think anyone is arguing that it's technically impossible to create anything. I was just pointing out that the tradeoffs that Atom accepted aren't simply trivial to solve. Jon has put an amazing amount of work into Sublime Text to get it where it is today; it's not some simple thing to build a great, native text editor. However, it's not like Sublime Text isn't without its own tradeoffs.

Re: Improving startup time in Atom with V8 snapshots

#76
post #43

Earlier quoted context omitted.

If this was truly that simple, don't you think someone would have already done it? Furthermore, is there even an actively maintained, open source, cross platform, development-focused text editor with native UI components?

Qt Creator? Although at this point its UI is a mixture of wrapped native widgets and non-native QML widgets.

I wouldn't really call Qt Creator a text editor though.

Re: Improving startup time in Atom with V8 snapshots

#77
post #7

Earlier quoted context omitted.

Must every thread about VSCode and Atom start the same way? It's a trade off: performance for a cross platform JavaScript app development. If that is a tradeoff you don't have to make, don't do it. Atom and VSCode have made that tradeoff. I don't know what rehashing this can possibly accomplish.

It's a bit the same issue then something like rails. Easy in the short run, but when you starting doing advance optimization - likw those - you wonder why not rewrite in a more performance oriented language.

Great comparison. In both cases choosing the language that helps you launch quickly is almost always the right decision. You can always scale later. Better to find out if your app is even going to be a success, first.

Re: Improving startup time in Atom with V8 snapshots

#78
post #47
post #31

Google long ago released Snappy Start, a tool for snapshotting processes, saving the full state to disk, so new instances can be launched faster. This is a more general Checkpoint-Restore capability than V8's impl and a bit different, but definitely somewhere in the same field of computer technology. https://github.com/google/snappy-start

Seems also related to CRIU, which does something similar, but for the purposes of live migrating a process from one host to another. https://criu.org/Main_Page

Yeah I probably should have lead with CRIU. It's been a longstanding ongoing project of excellence. A lot of people who work or worked (unsure of breakdown) on OpenVZ have been cranking on this for many year.

Work from the CRIU crew started getting upstreamed almost exactly four years ago, breaking some initial resistance to the tech needed for CRIU- https://mobile.twitter.com/__criu__/status/58727373960931328... https://criu.org/History

It's interesting the breakdown in sell- CRIU is a swiss army knife of a tool, whereas Snappy Start and V8 Snapshots seem targetted and marketted largely towards fast "initialization" concerns.

Re: Improving startup time in Atom with V8 snapshots

#79
post #22

Earlier quoted context omitted.

I hope you're right that this goes the way of emacs. I've been productive in emacs for 30 years, but I'm growing impatient for emacs to get a real programming language with lexical scoping like they were talking about doing with Scheme 20 years ago. Despite its lack of macros, JavaScript is arguably a better Lisp than Emacs Lisp. I've toyed with Atom a couple of times recently and am seriously thinking of switching.

See, I just don't understand why you would want to use emacs over an editor that does all the work for you. Thats why I avoid it, it seems like a big cost that I don't have to pay if I just use a different editor.

People seem to ridiculously inflate this cost. If you are going to be using a tool for 40 hours a week 50 weeks a year for the next decade then you will be using it for 20,000 hours over the next decade.

Spending a few hours to configure it to your liking. In fact if you start atom and wait 6 seconds for it to start just once a day then twice wait 3 seconds for a new window you will in the same time frame have waited 8 hours for atom to start.

Re: Improving startup time in Atom with V8 snapshots

#80
post #71
post #35

Earlier quoted context omitted.

> Must every thread about VSCode and Atom start the same way If many people believe this is the case, why not? All articles get some common types of responses based on the topic, this is just one topic/response combo that you happen to disagree with. > It's a trade off: performance for a cross platform JavaScript app development. It's an unnecessary tradeoff. If a single developer can create ST from scratch for Windo…

Aren't all tradeoffs unnecessary? I mean, it's part of the definition, right?

No they aren't, since when we talk about tradeoffs we are already assuming a specific desired outcome. The tradeoffs are necessary in order for us to achieve it.

But in order to achieve an outcome such as: "an editor that's cross platform and is programmable in JS", using Electron and/or the DOM is not a necessary tradeoff at all.

Post reply on HN