News for hackers. Stuff that matters.
Re:Electron is flash for the desktop (2016) by Veen on Tuesday April 11, 2017 @10:56AM (#14088401)
What you call "trade-offs" appears to me to be developers externalizing their costs onto users. There are costs to developing desktop applications and developers don't want to pay them, so they make users pay for them in wasted hardware dollars, bandwidth, RAM, battery life, and poor integration.
Re:Electron is flash for the desktop (2016) by pdabbadabba on Tuesday April 11, 2017 @11:10AM (#14088590)
Well, to the extent that these costs degrade the user experience, I'm not sure they really are externalizing them. Presumably they pay this cost in the form of decreased user satisfaction. It's just that this is a cost they are willing to pay.

There may be an interesting economic lesson here: it really is not that easy to externalize costs. It surely can be done (air pollution), but it requires some special circumstances for those costs not to be internalized in a different form. (These special circumstances might include information asymmetries, harm to a public good, enjoyed by people other than a firm's own customers, etc.--themselves classic risk factors for market failure.)

By the same token, there probably are some truly externalized costs in this example, but I would expect them to be very minor and indirect. For example, most people probably do not pay the 'true' cost of their electricity. So to the extent electron wastes power, some of the cost will be internalized in the form of user dissatisfaction. But some will also be externalized either because the user doesn't know about the extra power consumption, or because the user herself doesn't fully internalize the costs of her power consumption and therefore doesn't care as much as she might if all costs were properly internalized.

Re:Electron is flash for the desktop (2016) by bhauer on Tuesday April 11, 2017 @11:23AM (#14088751)
> Well, to the extent that these costs degrade the user experience, I'm not sure they really are externalizing them. Presumably they pay this cost in the form of decreased user satisfaction. It's just that this is a cost they are willing to pay.

Precisely. I don't use Slack in part because its desktop application is irrationally bloated for its use-case. Although I have other reasons as well, they are enduring a cost--a small one to be sure, but presumably non-trivial in aggregate--in people refusing to use their service in part because their desktop application is poor.

But I do agree with the general emotion underlying the frustration of "externalities" here. As someone who advocates for high-performance and efficient web applications, I have toyed with the question of whether developers should confront the morality of wasting energy by having selected poor/low-performance platforms. Put in a somewhat comedic tone: low-performance software contributes to climate change.

Re:Electron is flash for the desktop (2016) by nojvek on Tuesday April 11, 2017 @11:45AM (#14089078)
By walking just one day a year than taking my car, I can offset the electricity consumed by my laptop.

You do have a point though. You make a difference where you can.

Re:Electron is flash for the desktop (2016) by pharrington on Tuesday April 11, 2017 @03:42PM (#14091684)
The problem is that despite how good it feels, individuals simply optimizing their individual activity does not scale to the societal scope. Post-agrarian humans literally behave and think via shared infrastructure. The only way individuals can make lasting improvements to society is to improve the infrastructure.
Re:Electron is flash for the desktop (2016) by Rapzid on Tuesday April 11, 2017 @04:35PM (#14092197)
Individuals changing their behaviour can lead to societal change though.
Re:Electron is flash for the desktop (2016) by pharrington on Tuesday April 11, 2017 @05:02PM (#14092414)
Yes, but you are talking about contingencies. Optimism over dice rolls cannot excuse wasteful systems.
Re:Electron is flash for the desktop (2016) by Rapzid on Tuesday April 11, 2017 @10:35PM (#14094278)
I'm talking about how nearly all progressive progress progresses. It swells up from individuals.
Re:Electron is flash for the desktop (2016) by TeMPOraL on Wednesday April 12, 2017 @08:00AM (#14096769)
Does it? Or maybe those individual pop up and do their progressive thing only when existing infrastructure and technological landscape lets them do that?
Re:Electron is flash for the desktop (2016) by petre on Tuesday April 11, 2017 @03:37PM (#14091641)
Why they haven't made Slack a web based chat app like Discord or Wire or even Skype is beyond me. I don't even use their native apps, just open a tab in my browser and run the corresponding web app.
Re:Electron is flash for the desktop (2016) by jnwatson on Tuesday April 11, 2017 @03:51PM (#14091787)
They already do, just not on mobile.
Re:Electron is flash for the desktop (2016) by copperx on Tuesday April 11, 2017 @09:41PM (#14094097)
I don't get it. If slack.com is a web-based chat, why doesn't the OP open Slack on his existing instance of Chrome?
Re:Electron is flash for the desktop (2016) by pseudalopex on Wednesday April 12, 2017 @12:53AM (#14094858)
"Along with the features available in your browser, the app loads your conversations more quickly, gives you more control over notifications, and has better support for multiple teams."[1]

Also, the app gets its own entry in the task switcher.

[1] https://get.slack.help/hc/en-us/articles/207677868-Slack-for...

Re:Electron is flash for the desktop (2016) by jancsika on Tuesday April 11, 2017 @12:29PM (#14089670)
> Put in a somewhat comedic tone: low-performance software contributes to climate change.

Number of developers who would donate the increased efficiency to "idle": $denominator.

Number of developers who would fill the increased efficiency with more triangles: $numerator.

I'd argue $numerator is sufficiently large that the premise of your joke doesn't hold.

Re:Electron is flash for the desktop (2016) by aoeusnth1 on Tuesday April 11, 2017 @04:38PM (#14092226)
Couldn't they just pay to offset the performance cost of their application? I doubt the cost would be much compared to the development difference.
Re:Electron is flash for the desktop (2016) by brightball on Tuesday April 11, 2017 @01:14PM (#14090153)
The real trick is whether or not users care about:

A) This works on all of the platforms that we use

vs

B) Performance could be better on my computer

It's been a LOOOOOONG time since I worked on a laptop where I experienced noticeable performance problems...which is almost entirely because SSD's make them so much less noticeable if you start dipping into swap unless you're really working out your machine.

For most users, just knowing it will work on their machine is a bigger influence in using the product...and therefore a greater influence on business...than the performance of that system. It's especially true with a chat system where the most important feature is that everybody on the team can get access.

Re:Electron is flash for the desktop (2016) by user5994461 on Tuesday April 11, 2017 @02:01PM (#14090711)
> It's been a LOOOOOONG time since I worked on a laptop where I experienced noticeable performance problems...

Really???

Because personally, I keep having performance problems on all laptops I have. Don't try running on battery saving mode, seriously.

I stop counting the 5+ years old laptops that have to be upgraded, they can't watch a youtube full HD video in good conditions.

----

Fun Anecdote: I had to trial an entreprisey SaaS solution not long ago. A coworker gave me the name and I opened the site on my laptop (on the move outside of work, just taking a quick look).

Their site froze my firefox for 30 seconds because these idiots put a high quality full screen video of a surfer in the background of the main page. Looks cool, doesn't it? https://www.wavefront.com/

Couldn't see the site. Had to be at work to read it, on my top end workstation, the video played smoothly there. Needless to say, didn't take the product seriously.

Re:Electron is flash for the desktop (2016) by sha90 on Tuesday April 11, 2017 @03:03PM (#14091301)
> I stop counting the 5+ years old laptops that have to be upgraded,

5+ years ago is that LOOOOOONG time that OP was talking about. It's also unfair to compare technical capabilities of old hardware for many reasons. I think the point was that, new hardware, _while its new_, is becoming more and more capable. Any new laptop today, even budget ones, can handle YouTube videos in HD. The problem is that HD today won't be the same HD that exists in 5 years (i.e., 4k), and it's sensible that a budget laptop today will struggle with the 8k technology that comes out 5 years from now. This is an old problem (pun intended) and should not be surprising.

> Because personally, I keep having performance problems on all laptops I have.

Selection bias. Programmers who compile code, run VMs or containers, and process tons of data, are not the average consumer laptop use case and have much stricter requirements. Many people are sitting in Facebook, YouTube, Gmail, or Google Docs for most of their day-- and likely inside of Chrome.

Where are the "Chrome is Flash for the desktop" posts?

The idea that Electron is any different of a user experience for the vast majority of users seems skewed to developer usage, to me.

Re:Electron is flash for the desktop (2016) by overgard on Tuesday April 11, 2017 @05:34PM (#14092679)
I don't know, 5+ years isn't that old anymore for a computer. Like, 5 years ago I was running... a core i7 with 4GB of ram. And now I'm running... a core i7 with 16GB of ram. The only things in computers that have really gotten significantly faster are SSDs and GPUs
Re:Electron is flash for the desktop (2016) by user5994461 on Tuesday April 11, 2017 @03:54PM (#14091822)
I meant 1080p when I said full HD.

It takes a surprising amount of power to decode. The cheap CPU from netbooks have been struggling for a decade, especially in battery power saving mode.

Lately, they get hardware acceleration just for that. Special CPU instructions and drivers just to achieve that decently.

Re:Electron is flash for the desktop (2016) by voltagex_ on Tuesday April 11, 2017 @08:02PM (#14093622)
For Youtube in particular, they're sending VP9+opus where the browser supports it, without considering hardware acceleration. The rather anaemic Atom chips might have H264 decoding on-chip, but only Kabylake has VP9.
Re:Electron is flash for the desktop (2016) by shwouchk on Tuesday April 11, 2017 @07:01PM (#14093277)
'Where are the "Chrome is Flash for the desktop" posts?'

Ehhh, you're in one, I think?

Re:Electron is flash for the desktop (2016) by baddox on Tuesday April 11, 2017 @02:44PM (#14091121)
Different people have vastly different use cases. I haven't experienced a performance issue with desktop Slack or any other (non-game) application for many years. Sure, if I look at how much RAM Slack is using I'd probably conclude that it's more than it needs to be, but I haven't had an issue with RAM usage for, gee, probably ten years.

As for battery, again, my laptop battery has been little more than a UPS for at least five years.

Re:Electron is flash for the desktop (2016) by user5994461 on Tuesday April 11, 2017 @02:56PM (#14091250)
It's mostly CPU performances I experience. Rendering any video, gif, website takes sizeable CPU power (for a cheap CPU in power saving mode).

Never had issue with RAM. I can remember a few friends who bought netbooks with 2GB memory some years ago, they quickly realized that they simply cannot run their development environment in that. (I'm talking swap death where a click that should take 1 second to act takes 1 entire minute).

Re:Electron is flash for the desktop (2016) by nickpsecurity on Tuesday April 11, 2017 @11:05PM (#14094404)
Right now I'm using a backup laptop with Intel Celeron. It runs most apps fine. Web sites like Hacker News come up easily and snappily. The CPU fan kicks in when I watch a high-quality movie. It also kicks in on small, web apps. Kicks in big time on Youtube and Facebook. Everything on those is sluggish compared to my native apps. Even if non-technical, I'd know stuff was about to slow down when I go into my browser.

Just bad tools leading to waste users notice. Best to avoid them if possible. Not always possible...

Re:Electron is flash for the desktop (2016) by kalleboo on Tuesday April 11, 2017 @10:32PM (#14094272)
> I stop counting the 5+ years old laptops that have to be upgraded, they can't watch a youtube full HD video in good conditions.

Are they all netbooks? Because those were crap the day they came out and even more crap 5 years later. You can find terrible discount desktop machines that can't handle anything just as easy as you can find terrible laptops.

My laptop is 5 years old and the only time I feel a lack of performance is when the Swift compiler fires up. Your example link came up right away (OK it burns away 30% of a core, but I got 4 of those).

Re:Electron is flash for the desktop (2016) by user5994461 on Wednesday April 12, 2017 @09:21AM (#14097354)
They are not crap by any standard, they are simply low spec.

A core i3/i5 starts at 150$, most devices don't have these expensive CPU.

Even a 1000$ macbook from 5 years ago would have one of the first i3/i5. It would struggle to read 1080p video, unless plugged to a wall plug with the span spinning seriously.

Re:Electron is flash for the desktop (2016) by karolist on Wednesday April 12, 2017 @01:46AM (#14095082)
Just an anecdote, but my 2011 Lenovo x220 with i5 running macOS Sierra plays this site in Chrome with around 30% CPU use, everything is snappy still
Re:Electron is flash for the desktop (2016) by ori_b on Tuesday April 11, 2017 @04:52PM (#14092326)
> It's been a LOOOOOONG time since I worked on a laptop where I experienced noticeable performance problems.

This annoys me a lot, for one of two reasons. Either:

1. Some developers have no idea what performance means -- it's crazy that I have time to notice a spinner when a glorified IRC client starts up or switches tabs, let alone have time to watch it for tens of seconds.

or:

2. If these developers are claiming they have no performance problems, clearly the laptops that can handle modern applications are being hoarded, and I have no way to obtain one of these magical machines. All I can get are recent i7 processors.

Re:Electron is flash for the desktop (2016) by cgriswald on Wednesday April 12, 2017 @12:08AM (#14094677)
3. Battery life is excluded from "performance".
Re:Electron is flash for the desktop (2016) by btschaegg on Tuesday April 11, 2017 @06:25PM (#14093091)
On point 1: Also there's still the effect where your app does the same thing a native app would do in an equally reasonable time but uses twice as much power to do it.
Re:Electron is flash for the desktop (2016) by brokenmachine on Wednesday April 12, 2017 @02:07AM (#14095189)
I agree with both of these.

With the power that even average machines have now, it beggars belief that we ever see a spinner at all for normal desktop-related stuff.

Re:Electron is flash for the desktop (2016) by stiGGG on Tuesday April 11, 2017 @02:00PM (#14090699)
>It's especially true with a chat system where the most important feature is that everybody on the team can get access.

That's a complete other story... All that big open source movement for decades and in 2017 we are still depending on proprietary systems to provide a chat(!) for a company.

Re:Electron is flash for the desktop (2016) by seanp2k2 on Tuesday April 11, 2017 @02:23PM (#14090934)
Yep, and when the government doesn't properly tax those harm-to-public-good things like air pollution to balance the incentives and make it cheaper to do "the right thing" and pollute less, companies (which are made of real people and are not just unthinking machines) will do whatever they can to maximize profits. This is why it's so important to e.g. Increase the price of water to reflect the true cost in the Central Valley of CA instead of letting tons of farmers grow water-intensive crops in open-air, wasting tons of water just because it's cheap (then they complain about "is GROWING FOOD a waste of water?!?", completely un-ironically). Many businesses subsidize their operations using government funding, yet again ironically most of the rich white men running them are staunch opponents of public assistance programs despite owing most of their wealth to similar mechanisms, typically in conjunction with massive tax avoidance.
Re:Electron is flash for the desktop (2016) by pdabbadabba on Tuesday April 11, 2017 @10:31PM (#14094266)
Pretty funny that the only reply here is 'found the Marxist' (maybe it was supposed to be a joke?) when, in reality, all you're suggesting is that the government set the conditions for the proper functioning of the market, which is an idea straight our of Hayek.
Re:Electron is flash for the desktop (2016) by pharrington on Tuesday April 11, 2017 @01:25PM (#14090295)
I don't understand. The cost is mostly externalized into, quite literally, massively distributed increased electricity consumption. That an individual's power bill may be subsidized only emphasizes that problem.
Re:Electron is flash for the desktop (2016) by pdabbadabba on Tuesday April 11, 2017 @03:10PM (#14091383)
It sounds like we agree. To the extent we're just talking about electricity costs, then it's true that easily written, but inefficient code may indeed externalize these costs to the extent that users are unaware of the added power consumption, or that the user herself does not pay the full cost of that electricity.

But these electricity costs struck me as only a small part of the broader point I was responding to, which is what I framed the point the way I did.

Re:Electron is flash for the desktop (2016) by pharrington on Tuesday April 11, 2017 @03:33PM (#14091616)
I contend that squandering the work and infrastructure involved in converting natural resources into electricity is the main problem with modern consumer software development. Any user's (lack of) perception of waste is irrelevant. The scope of the problem is not any individual literally paying a couple dollars more on their electric bill, but rather it's that gigawatt hours are literally being burned away because software developers who know their code will be running on machines the world over can't be assed to spend a little more time learning to practice their craft correctly.

There is no broader point than converting natural resources into societal infrastructure. Be a responsible member of society. Don't obstinately ship wasteful code. I understand if you legitimately don't know any better, but if you're part of the community that's constantly writing blog posts about computers being so fast that its OK to burn the end users' CPU and storage just so you don't have to spend a couple more minutes thinking about what you're doing, you're adding harm to the world.

Re:Electron is flash for the desktop (2016) by pdabbadabba on Tuesday April 11, 2017 @07:08PM (#14093320)
Again. I think we agree. You're just making a different point than the one I was making. I was making a technical but hopefully still constructive point about what is an externality and what is not.

You seem more focused on making a case against shipping inefficient code. And you're point is a good one. It's just a little difficult to suss that out since you're framing it as standing in opposition to my related, but very different, observation about externalities.

Re:Electron is flash for the desktop (2016) by jliptzin on Tuesday April 11, 2017 @03:25PM (#14091527)
The vast majority of users (like >99%) don't have a clue why their computer isn't performing up to par. They literally have no idea how any of it works. They might just assume that it's slow because they haven't deleted spam emails in a while (even while they use gmail) or didn't pay extra to get that 3.2Ghz machine instead of the 3Ghz. They certainly don't have any idea how to open up top stats and check what resources a particular app is using, so until that happens and users punish developers for this kind of stuff, expect it to continue.
Re:Electron is flash for the desktop (2016) by wott on Tuesday April 11, 2017 @10:13PM (#14094197)
> The vast majority of users (like >99%) don't have a clue why their computer isn't performing up to par. They literally have no idea how any of it works.

Same thing for Web developers.

Re:Electron is flash for the desktop (2016) by flukus on Wednesday April 12, 2017 @12:15AM (#14094709)
Yes, you'll often hear things like "I think I have a virus" or "I think I need a new computer". They're computer is fine, they're just running slow apps.
Re:Electron is flash for the desktop (2016) by brokenmachine on Wednesday April 12, 2017 @02:17AM (#14095239)
They need a new computer because they don't know how to make their old one work properly.

Getting a new computer will fix the problem though. :-)

Re:Electron is flash for the desktop (2016) by Tenhundfeld on Tuesday April 11, 2017 @11:26AM (#14088794)
I don't disagree, but I'm hopeful that Electron will get better. When you choose an open source platform with a diverse group of major companies using it, part of what you are betting on is that the platform will a) survive for a reasonable amount of time and b) gradually improve.

GitHub, Slack, Spotify, Microsoft, etc., are all using Electron. As their developers gain experience with the platform and as they experience problems with resource usage, I would expect to see the platform improve. Maybe I'm wrong.

Re:Electron is flash for the desktop (2016) by bluejekyll on Tuesday April 11, 2017 @12:18PM (#14089565)
On top of that, webassembly could see some improvements across the board.
Re:Electron is flash for the desktop (2016) by sethc2 on Tuesday April 11, 2017 @01:56PM (#14090653)
I agree. I think it also has the potential to help motivate developers to write native UI rather than use electron.

Currently if for your market, your primary target platform is the web, but other platforms are still important, going electron might make sense because you really don't want to write your business logic natively for each platform.

Web assembly allows us to use the same native libraries for all our business logic and data models, which besides being more performant, means we only need to be willing to write the UI natively on top of those libraries. We've actually taken (very) old desktop C++ code, and compiled it to asm.js and ran it in our web app, and then rendered its outputs with webGL onto a canvas and have had surprisingly successful results. This makes the prospect of WASM becoming standard across the board very exciting.

Now let's hope we don't decide to replace our native desktop app, that uses this old C++ library, with an electron app of our web app, running the asm.js compiled library :).

Re:Electron is flash for the desktop (2016) by douche on Tuesday April 11, 2017 @01:19PM (#14090219)
The future, where we write in native languages, that are compiled to Javascript, run in a webbrowser VM, and power desktop applications. Jesus wept.
Re:Electron is flash for the desktop (2016) by m_fayer on Tuesday April 11, 2017 @03:13PM (#14091400)
Re:Electron is flash for the desktop (2016) by bluejekyll on Tuesday April 11, 2017 @08:54PM (#14093916)
It's not that they are native languages. They are languages with no overhead, GC is no longer necessary for example.
Re:Electron is flash for the desktop (2016) by pluma on Tuesday April 11, 2017 @01:12PM (#14090135)
I've switched from Sublime Text 3 (native) to VSCode (Electron) and I couldn't be happier. If I didn't know it's electron based I wouldn't have been able to tell as a user. YMMV so don't generalise.
Re:Electron is flash for the desktop (2016) by rayiner on Tuesday April 11, 2017 @03:33PM (#14091613)
It's halves my battery life compared to Emacs or BBEdit.
Re:Electron is flash for the desktop (2016) by fknop on Tuesday April 11, 2017 @04:37PM (#14092214)
If your battery is more important, just stick to Emacs.

What machine are you using ? I have a 2 year old thinkpad, it's still 10h+ in full brightness, vscode, compiling, etc. And it's the screen brightness that consumes the most battery.

It used to do 20h, but the main battery is external and can be replaced so it's a good thing. I would really recommand thinkpads to everyone instead of going for macbooks for example.

Re:Electron is flash for the desktop (2016) by pluma on Wednesday April 12, 2017 @03:50AM (#14095646)
VSCode doesn't compete with emacs and vim. VSCode competes with Sublime Text and Atom. Maybe even with WebStorm on the more full-featured end and Notepad++ on the leaner end.

I'm not even sure whether you're trolling. BBEdit provides a tiny subset of the features VSCode offers. VSCode is not a text editor, it's halfway between a text editor and a traditional IDE.

Re:Electron is flash for the desktop (2016) by kungtotte on Tuesday April 11, 2017 @01:19PM (#14090207)
When did you switch? Atom was damned near unusable around 1.0, and VSCode was only a little better.

The difference to now is night and day.

Re:Electron is flash for the desktop (2016) by infogulch on Tuesday April 11, 2017 @01:35PM (#14090422)
Atom and VSCode are in different leagues with respect to performance, and the difference is growing with time. If you think the reason that Atom is slow is because of Electron, VSCode is the counterexample.
Re:Electron is flash for the desktop (2016) by ori_b on Tuesday April 11, 2017 @10:01PM (#14094163)
If VSCode isn't slow because of electron, what's the reason it's slow?
Re:Electron is flash for the desktop (2016) by pluma on Wednesday April 12, 2017 @03:44AM (#14095618)
VSCode isn't slow. Atom is slow.

Since both are written with electron the difference must obviously be the actual implementation, not the platform itself.

Keep in mind VSCode was written by Microsoft who have decades of experience writing IDEs and text editors, whereas Atom was written by GitHub who are mostly working on the GitHub product.

Re:Electron is flash for the desktop (2016) by ori_b on Thursday April 13, 2017 @12:51AM (#14104253)
> VSCode isn't slow. Atom is slow.

Could have fooled me.

Re:Electron is flash for the desktop (2016) by iterateandgit on Friday April 21, 2017 @12:20AM (#14163071)
VScode runs like a dream on my hexacore/8GB/SSD desktop, but brings my atom/2GB/32GBeMMC based Asus Eeebook X205TA to its knees. Native programs for low power systems seems sound practice to me.
Re:Electron is flash for the desktop (2016) by pluma on Wednesday April 12, 2017 @03:39AM (#14095595)
I first tried switching to Atom around 1.0 and it was a horrible mess.

I just switched to VSCode last month and it's been as nice to use as ST3 (actually even nicer because ST3 didn't have any code intelligence).

I've also used IntelliJ (or rather WebStorm) several times over the years and it always felt too sluggish and obnoxious.

For the record: I'm on Linux and have 32 gigs of RAM. So maybe I have lower standards for memory use and performance.

Re:Electron is flash for the desktop (2016) by bobwaycott on Tuesday April 11, 2017 @11:03AM (#14088496)
Everything in the world of web-stack development has turned externalizing costs onto users as a core first principle.
Re:Electron is flash for the desktop (2016) by rpastuszak on Tuesday April 11, 2017 @11:39AM (#14088981)
How about PWA, Service Workers, WebAssembly? Thousands of developers are working hard on improving the UX, reduce battery usage, wasted CPU cycles, network traffic, latency.
Re:Electron is flash for the desktop (2016) by bobwaycott on Tuesday April 11, 2017 @01:53PM (#14090609)
All of this because they're externalizing costs onto users through SPAs and other go-to practices that force all the work onto users' devices.
Re:Electron is flash for the desktop (2016) by abiox on Tuesday April 11, 2017 @04:57PM (#14092367)
it's been that way since forever. if you're not employing expensive top-ranked brilliant engineers writing aggressively optimized, completely bespoke c applications tuned to every cpu model's feature set and performance characteristics... you just might be externalizing.

insofar as it benefits the budget, you should probably externalize as much as possible. consumers will provide the fitness function through deciding what products they prefer.

Re:Electron is flash for the desktop (2016) by bobwaycott on Tuesday April 11, 2017 @09:47PM (#14094120)
We're not even discussing aggressively optimized C vs web stack. We're talking about a massive segment of today's software developers not even bothering to learn competent C (or Obj-C, Swift, Java, whatever) to build a native application. Hell, it's about the very practice of calling Electron apps native to begin with. The same thing continues to hold across web stack everywhere—reach only for those things that don't require you to learn a new language/paradigm, letting you keep churning out the same thing you build in a browser and call it native for platform X, and let it be on the user to pony up the resources to use it.
Re:Electron is flash for the desktop (2016) by panic on Tuesday April 11, 2017 @05:51PM (#14092831)
consumers will provide the fitness function through deciding what products they prefer.

What about when your users don't have a choice?

Re:Electron is flash for the desktop (2016) by abiox on Tuesday April 11, 2017 @06:33PM (#14093133)
hm... performance metrics, possibly? it may be hard to measure.
Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @11:04AM (#14088503)
Well users/clients/bosses want everything, now, and for free so...
Re:Electron is flash for the desktop (2016) by tertius on Friday April 21, 2017 @05:49PM (#14169695)
Free things give continuous hassle. People on business don't want hassle. They pass on free except if they're very inexperienced.
Re:Electron is flash for the desktop (2016) by wickedlogic on Tuesday April 11, 2017 @11:02AM (#14088486)
Yes. You just described modern computing.
Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @11:06AM (#14088537)
Computing for ever. We use C to avoid writing assembly. Use Java to avoid writing C. Use Python to avoid writing Java.

The world is asking for more and more software, and the resources to provide it are not following so people are taking shortcuts.

Want something better ? Someone has to pay for it.

Re:Electron is flash for the desktop (2016) by vbezhenar on Tuesday April 11, 2017 @04:10PM (#14091996)
C is generally faster, than hand-written assembly, so it doesn't make sense to write software in assembler.

For macOS desktop applications are written with Objective C, which is C with fast message-passing, and doesn't trade much to speed. Swift is modern alternative, but it doesn't trade anything for speed either.

For Linux applications are traditionally written with C and Gtk or with C++ and Qt. Those options are both very performant.

For Windows main language for a long time was C++ and it remains supported language. There's movement to .NET, so Windows is an outlier here. But .NET is generally very performant language, it makes some tradeoffs for safety, but it has enough features to stay fast and its implementation is specifically tuned for desktop applications.

The only terrible platform with slow language is Android and it's well known for its lags.

There's very little desktop software written with Java and Python and usually those are specialized applications, when users don't really care about experience, but rather care about functionality.

So JavaScript invasion here is unexpected and not wanted. I won't use any JavaScript desktop application, if I have choice. I don't like this technology. JavaScript and V8 made for browser with advanced sandbox capabilities. That's fine. But for desktop it's just not needed. And there's no other advantages. UI is terrible and does not conform to any standards. Performance is not good. Memory consumption is abysmal. Energy consumption is abysmal as well.

If I'm about to buy application for macOS, I'm always carefully inspecting its bundle and trying to determine which technologies were used. Unless it's pure Objective C/Swift, I'm usually won't buy it. I hope, more users would do it.

Re:Electron is flash for the desktop (2016) by omginternets on Tuesday April 11, 2017 @04:24PM (#14092106)
>C is generally faster, than hand-written assembly, so it doesn't make sense to write software in assembler.

That's true now. It wasn't true then. The point still stands.

Re:Electron is flash for the desktop (2016) by ornitorrincos on Tuesday April 11, 2017 @05:19PM (#14092545)
and not even true now for certain workloads, each tool for its job
Re:Electron is flash for the desktop (2016) by cableshaft on Tuesday April 11, 2017 @12:21PM (#14089591)
Yeah, but Python still doesn't seem to have a great cross-platform desktop GUI, as far as I can find. I'd prefer to code entirely in Python if I could, but I haven't liked a single GUI library I've tried for Python.

Although to be fair I haven't really tried PyQT out still, but I don't like the idea of having to buy a commercial license for it.

Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @12:52PM (#14089917)
PyQT is alright. Kivy as well.

Or anything in any other language.

But none of them are close enough to the benefit of being able to use the tone of experience from the Web UI into the desktop.

Eventually all GUI app toolkit ends up with a custom MVC framework, a client/server architecture, some kind of db for persistence, their own implementation of asynchronous event and communication models and a declarative layer to create the UI without code. For the most advanced this layer separate structure and layout.

Well guess what, this is what the Web has natively being doing for ever.

Since the web is now the most popular platform, with millions of libs and tutorials on it, people just reused that. It just makes sense.

The problem is not the concept. The problem is we should have driven this effort with a standard to sanely close the gap between the desktop and the web so that you don't have to spawn a freaking browser-engine-os for every one of your app.

But no, the web is the only platform with a standard. And it flourished while all the big players created closes gardens with proprietary shitty API. And this is the result.

Have you not seen Jurassic Park for god sake ? Life finds a way.

Re:Electron is flash for the desktop (2016) by wott on Tuesday April 11, 2017 @10:19PM (#14094216)
> But none of them are close enough to the benefit of being able to use the tone of experience from the Web UI into the desktop.

Web UI is a gazillion shades of shit, please don't dump that rubbish on the desktop. Thank you.

Seriously, how can one take Web UIs, the most cumbersome, unreliable, inconsistent, unreactive UIs, as examples to be followed? That's beyond me.

Re:Electron is flash for the desktop (2016) by brokenmachine on Wednesday April 12, 2017 @02:26AM (#14095278)
Haha, "a gazillion shades of shit". So true.
Re:Electron is flash for the desktop (2016) by ornitorrincos on Tuesday April 11, 2017 @05:17PM (#14092533)
I do strongly disagree with the web having the only strong standard, specially since it switched to a living standard

I admit that for someone from the web electron is a godsend, but to be honest, responsiveness of the applications leave something to be desired

Re:Electron is flash for the desktop (2016) by tigershark on Wednesday April 12, 2017 @12:07AM (#14094670)
It's completely false. The web at the beginning was a huge mess of static pages, hacked CGI scripts and no interactivity at all with the need to submit a form to trigger a full reload of the page. Everything was absolutely synchronous and a lot of times the database was accessible directly from the public interface and some pages did actually have the connection string directly in the HTML for everyone to see. I'm really not sure in which alternate reality you have seen web apps doing all that forever.
Re:Electron is flash for the desktop (2016) by cableshaft on Tuesday April 11, 2017 @02:13PM (#14090842)
Yep, completely agree with everything you said. I'd love for their to be a standard on the desktop side, but until then, I'll keep using a hodge-podge of technologies depending on the project, I guess.
Re:Electron is flash for the desktop (2016) by Arizhel on Tuesday April 11, 2017 @03:54PM (#14091832)
They should have adopted Qt; it makes it easy to write native C++ code that compiles on different platforms, so you get the performance and RAM usage of C++ but still most of the benefits that web coding offers, without so many drawbacks. (It's also quite nice to work with IMO.)

It's too bad it wasn't more universally adopted, by any of the 3 major platforms (including Linux, where the all-C Gtk+ has become the standard for the most part). Instead, it seems to have found its greatest success in, ironically, small embedded devices. Devices like this simply cannot take the performance hit of something like Electron.

Re:Electron is flash for the desktop (2016) by lmm on Tuesday April 11, 2017 @08:44PM (#14093870)
> Python still doesn't seem to have a great cross-platform desktop GUI, as far as I can find.

PyQt is literally the best cross-platform desktop GUI going, in any language.

Re:Electron is flash for the desktop (2016) by tigershark on Wednesday April 12, 2017 @02:09AM (#14095197)
Last time that I tried QT was a huge pain compared to WPF or other solutions, admittedly something like 5-6 years ago. And it was proprietary and it needed a licence. With all my good will I find quite difficult to believe that now PyQT is the silver bullet to write all UIs. For sure it's not for me given that I find python a pretty average language with the huge handicap of duck typing (and before someone starts, yes, I'm aware of the 'type annotations')
Re:Electron is flash for the desktop (2016) by lmm on Wednesday April 12, 2017 @04:24AM (#14095797)
> Last time that I tried QT was a huge pain compared to WPF or other solutions, admittedly something like 5-6 years ago.

Shrug, I found it much nicer than anything else I'd used, but I've never used WPF (which is single-platform in any case).

> And it was proprietary and it needed a licence.

Neither Qt nor PyQt is proprietary in the usal sense of the word (nor were they 5-6 years ago). If you're using a non-standard definition it would probably be more productive to use a different word.

> For sure it's not for me given that I find python a pretty average language with the huge handicap of duck typing (and before someone starts, yes, I'm aware of the 'type annotations')

I'm a huge fan of type systems. I wish I could find a UI framework that's anywhere near as nice as PyQt for an ML-family language.

Re:Electron is flash for the desktop (2016) by skuzye on Tuesday April 11, 2017 @12:59PM (#14089991)
If you really want to use PyQT you may try PySide which is LGPL licensed. I'm not sure whether it restricts commercial use.
Re:Electron is flash for the desktop (2016) by kofejnik on Thursday April 13, 2017 @04:06AM (#14105061)
take a look at https://github.com/dddomodossola/remi, which transpiles python into html (kind of)
Re:Electron is flash for the desktop (2016) by wvenable on Tuesday April 11, 2017 @12:33PM (#14089719)
I can't help but think there's a different flavor to this than with higher-level languages. This is adding a platform on top of another platform. The same objections existed years ago with Java when Swing was released. Java is a cross-platform high-level language but Swing is basically an entirely new platform.

It's this platform on top of a platform that is objectionable from a performance, memory, storage, and integration perspective.

Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @12:44PM (#14089842)
We see the same thing with containers. Docker, flatpak, snap... It's just the right time for it.

Languages have evolve to change the way we handle constraints like memory, speed, readability, expressivity etc.

We are arriving at the pick of what languages can bring on the table. Sure we can improve things here and there, but the huge challenges now are integration, packaging, distribution, updates, communications, multi-tiers architectures and all that.

So we now tweak platforms to help us with that.

But because we didn't see that coming, it's not done in any structured way. It's done exactly the way we did everything since the beginning of computing, by stitching together stuff then hitting hard on it with a hammer until the job is done.

This is not new. IT is a joke of an engineering field. We hack everything, don't think about the future, and then end up using the status quote. It's always has been like that.

Re:Electron is flash for the desktop (2016) by wvenable on Tuesday April 11, 2017 @12:48PM (#14089877)
I agree. Containers should be unnecessary -- all that they could provide could be done at the process level with an operating system designed to isolate computing resources appropriately. But operating systems were not historically designed for that so another (somewhat ridiculous) layer is added on top.
Re:Electron is flash for the desktop (2016) by apexalpha on Wednesday April 12, 2017 @03:10AM (#14095460)
actually all containers do is utilise the very design in an OS like LXC in Linux to form containers. Containers are not a platform on top of Linux, they are a wrapper around different isolation tools build into the kernel.

https://en.wikipedia.org/wiki/LXC

Re:Electron is flash for the desktop (2016) by AlphaSite on Tuesday April 11, 2017 @02:19PM (#14090888)
Thats all containers are?

They are an abstraction over OS level isolation.

Re:Electron is flash for the desktop (2016) by tigershark on Wednesday April 12, 2017 @02:25AM (#14095277)
IT is a joke of engineering for non engineers. If a pull request doesn't follow some principles agreed a priori it doesn't get merged. If there are people that like to play the "IT cowboys" just hacking together stuff without any whatsoever process or unit test that certifies the behaviour of what they have written, jeopardising the entire team efforts, it is not a failure of software engineering, it's a failure of that specific team. And please bear in mind that I worked in such toxic environments, but I never thought for a moment that software engineering and software architecture are jokes. The joke was the team/organisation on which I was at the time.
Re:Electron is flash for the desktop (2016) by goatlover on Tuesday April 11, 2017 @01:22PM (#14090255)
Alan Kay might have something to say about all this.
Re:Electron is flash for the desktop (2016) by coldtea on Tuesday April 11, 2017 @01:02PM (#14090016)
>Computing for ever. We use C to avoid writing assembly. Use Java to avoid writing C. Use Python to avoid writing Java.

Yeah, but until Electron and they like, we seldom shipped desktop apps in anything than C, C++, Delphi etc even after all those decades. Which are all as close to the metal as can be. And in fact C/C++ can be as fast, or even faster than hand-rolled assembly most of the time (with few exception), so the whole premise is moot.

The few Java desktop apps that were around, people used to hate as memory hogs.

Re:Electron is flash for the desktop (2016) by mpweiher on Tuesday April 11, 2017 @01:15PM (#14090165)
Actually, I've been shipping desktop apps in Objective-C for roughly a quarter of a century.

Gets me the high-level, Smalltalk-ish productivity when I want it (most of the time) and the low-level C efficiency when I need it (sometimes).

Having my cake and eating it, that's me :-)

Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @01:37PM (#14090443)
But can you make a website with the same knowledge ? Can you make it portable to other OS ? Can you reuse 20 years of knowledge, resources and libs ? Can you hire tomorrow 10 experts to help you on it ?

Quality of the tech is NOT the drive for success here. You are missing the point.

Re:Electron is flash for the desktop (2016) by coldtea on Tuesday April 11, 2017 @01:46PM (#14090555)
>Quality of the tech is NOT the drive for success here. You are missing the point.

Well, maybe it's better to miss the point, than to succeed by selling crap to people who deserve better?

When are technies gonna stand up for quality of tech?

Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @02:17PM (#14090869)
Oh I do agree, it's just the debate is all about being a critic of electron instead of providing viable alternative.
Re:Electron is flash for the desktop (2016) by nilliams on Tuesday April 11, 2017 @03:22PM (#14091503)
> When are technies gonna stand up for quality of tech?

When the user notices a quality difference?

Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @05:01PM (#14092399)
People used crashy, buggy, slow software for years. Photoshop and Office lost you data on a regular basis in the 2000's. Windows BSD was a common occurrence then. We didn't see a massive exodus to Mac products because of that. The only reason people started to go crazy for Apple was after the iPod came out. And even then, it was still a small part of the market.

You can see everyday that people favor cheapness, easiness and convenience over quality. You would not have so much junk food otherwise.

Re:Electron is flash for the desktop (2016) by coldtea on Wednesday April 12, 2017 @06:39AM (#14096384)
>You can see everyday that people favor cheapness, easiness and convenience over quality.

What I'm saying is "it shouldn't matter" what people favor.

Professionals should still favor quality, even if their customers would just as well have crap (or are ok with crap when its all they can find).

Re:Electron is flash for the desktop (2016) by mpweiher on Tuesday April 11, 2017 @03:56PM (#14091849)
> But can you make a website with the same knowledge ?

One of my first commercial projects was a web-content management system written in Objective-C. Customers included Siemens and the German Bundestag.

Another couple of projects were written in WebObjects. If I wanted to, I could use Cappuccino, but I am not a big fan of web//client apps, so I don't.

> Can you make it portable to other OS ?

This product ran on: Solaris, AIX, NeXTStep, Linux, OS X. I think we also had a Windows port.

> Can you reuse 20 years of knowledge, resources and libs ?

In the sense you meant it: yes. Except it's more like 30 years. However, programming skills are (or should be) transportable. With virtually no previous experience, I became lead/architect on a Java project, which succeeded beyond anyone's imagination.

> Can you hire tomorrow 10 experts to help you on it ?

Is this a serious question?

Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @05:10PM (#14092477)
This is a bad faith answer.

>One of my first commercial projects was a web-content management system written in Objective-C

You certainly didn't use any of your cocoa widget for the UI there. It was HTML + CSS.

> This product ran on: Solaris, AIX, NeXTStep, Linux, OS X. I think we also had a Windows port.

Yeah, GNU steps for GUI on windows... This is what you think could be an argument for electron users ?

> In the sense you meant it: yes. Except it's more like 30 years.

Again bad faith. The world has way, way more code, snippets, tutorials and doc about any HTML + CSS + JS code than any tech based on Objective-C.

Programming knowledge is transferrable, but the knowledge of the ecosystem is not, and is always the most consumming.

> Is this a serious question?

Oh yes, it is. Because you see we are living an era where it's hard to find any good programmer at all for anything. They are all taken, and are very expensive.

So basically, on a tech limited to one ecosystem, finding them will be even harder, and even more expensive.

The simple fact that you are pretending it's no big deal (while any company will tell you otherwise, so much that the GAFAs are spending millions just in their recruitment process) illustrate how much a troll you are.

Re:Electron is flash for the desktop (2016) by mpweiher on Tuesday April 11, 2017 @09:32PM (#14094074)
> This is a bad faith answer.

It most certainly is not. You just don't know what you're talking about and keep making up new stuff when confronted with actual facts that contradict your fervently held beliefs.

Re:Electron is flash for the desktop (2016) by teyc on Tuesday April 11, 2017 @10:17PM (#14094211)
I'm curious how you get Smalltalk like productivity on objective C? I thought the productivity on Smalltalk comes from its live programming environment?
Re:Electron is flash for the desktop (2016) by coldtea on Wednesday April 12, 2017 @06:41AM (#14096395)
No, it also comes from it's expressiveness and flexibility (at runtime).

It's not like Smalltalk is a bad language that just happened to have a productive live programming environment.

It's one of the best languages out there, and conceptually stands alongside Lisp et al.

Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @01:11PM (#14090126)
You bet ? I have 3 software opened right now using Python for their GUI: my rss reader, my torrent downloader and dropbox. And I got many more installed on my machine.

But the thing is, even when I write something for myself, I first write a command line app, then a web service. Never a GUI, because it's such pain.

Re:Electron is flash for the desktop (2016) by weberc2 on Tuesday April 11, 2017 @02:35PM (#14091041)
To be fair, your "Python GUI apps" are a very thin wrapper around C/C++ libraries.
Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @02:43PM (#14091102)
Of course. Electron is just a layer around the chrome compiled engined as well. If you want anything to display a matrix of pixels changing rapidly, you need low level performances eventually.
Re:Electron is flash for the desktop (2016) by weberc2 on Tuesday April 11, 2017 @03:55PM (#14091838)
Of course, but in your case, the C/C++ libraries you're calling into aren't doing any heavy lifting, they're just making calls to an X server (or equivalent) or perhaps to a graphics card. There's no reason GTK (or the GUI portion of Qt) couldn't be implemented in Python, it's just a huge undertaking and it was started in C (or C++ as the case may be).
Re:Electron is flash for the desktop (2016) by Arizhel on Tuesday April 11, 2017 @03:47PM (#14091735)
>And in fact C/C++ can be as fast, or even faster than hand-rolled assembly most of the time (with few exception)

This is generally true, but to be fair the reason is because we design CPUs differently these days. Modern CPUs use instruction sets that are specifically designed to work well with compilers, and aren't meant to be programmed in hand-coded assembly except for a few critical bits deep within OS code. Older CPUs weren't like this.

It still might be possible to write hand-rolled assembly that beats modern compilers, but you probably need to have seriously super-human mental abilities to do it.

Re:Electron is flash for the desktop (2016) by gpderetta on Tuesday April 11, 2017 @08:12PM (#14093672)
> the reason is because we design CPUs differently these days. Modern CPUs use instruction sets that are specifically designed to work well with compilers

You got the causality wrong. Assembly programmer-friendly CPUs died because​ CPUs which weren't as friendly were faster and cheaper; those same CPUs were instead more amenable as compiler targets.

Re:Electron is flash for the desktop (2016) by douche on Tuesday April 11, 2017 @01:22PM (#14090248)
There's probably, line for line, more VB6 desktop apps in existence than any other language. And that's not just because of how verbose VB is...
Re:Electron is flash for the desktop (2016) by nickpsecurity on Tuesday April 11, 2017 @11:12PM (#14094441)
Hey, I used to use it! :P I came from BASIC background. VB6 was supposedly good for rapid prototyping of GUI apps (esp CRUD variety). I found it would boot up in 1 second, deploy new project in 1 second, and load new app in 1 second. It was also safer so no constant blue screens over common functionality. It also could wrap foreign code in less safe languages which I could still write in an industrial BASIC. One could also export the GUI to code in different language.

Became one of my favorite toys. I'd still use it for GUI prototyping if it was FOSS and kept getting extended. I found even lay people could learn it well enough to get stuff done. Long after, I learned what horrible things lay people did with it. Yet, they got work done and got paid without the IT budget and staff they would've preferred. (shrugs)

Re:Electron is flash for the desktop (2016) by Touche on Tuesday April 11, 2017 @01:20PM (#14090228)
C# has been the default way to write Windows apps since the early 2000s. It is no more "closer to the metal" than JavaScript.
Re:Electron is flash for the desktop (2016) by coldtea on Tuesday April 11, 2017 @01:31PM (#14090374)
>C# has been the default way to write Windows apps since the early 2000s.

No, it really hasn't. It was just the way Microsoft proposed businesses to write bloated internal enterprise apps, what they used to use VB for.

Those are not the same as desktop apps -- and no, or very very few, desktop apps, ever turned to C#. Not even MS own apps, like Office, and surely nothing like Abobe's or countless others.

>It is no more "closer to the metal" than JavaScript.

Actually it very much is: it is statically typed, it has scalar types and contiguous memory allocation that allow for much better speeds (hence the effort to add some of those things asm.js and the like for Javascript), and it even has AOT compilation.

Besides, it's not JS itself that's the problem (though it took millions and top notch teams to make it fast): it's the web stack on top of it. C# just runs on a thin CLR VM layer -- and the graphics are native.

Re:Electron is flash for the desktop (2016) by Touche on Tuesday April 11, 2017 @02:38PM (#14091062)
> Those are not the same as desktop apps

I mean, if you're going to say Windows Forms and WPF apps are not "desktop apps" then you're going to have to do a lot more than just declare that they aren't.

> Actually it very much is: it is statically typed, it has scalar types and contiguous memory allocation that allow for much better speeds (hence the effort to add some of those things asm.js and the like for Javascript), and it even has AOT compilation.

You're just listing ways that they are different. They both run in a virtual machine that abstracts away the actual machine. You know, the metal in the phrase "close to the metal."

Re:Electron is flash for the desktop (2016) by coldtea on Tuesday April 11, 2017 @02:56PM (#14091255)
>I mean, if you're going to say Windows Forms and WPF apps are not "desktop apps" then you're going to have to do a lot more than just declare that they aren't.

Windows Forms is a wrapper on top of MS Win32 API. And WPF is also based on native widgets wrapped (with some extended with managed code).

In any case, C# apps are not much represented in the majority of Windows desktop apps, most of which are written in C++ or similar, and surely all the succesful ones. Can you name your succesful C# desktop apps? (not in-house enterprise apps and no developer tools please. There where the users have no choice, even Java does well) I'll name the succesful C++/Delphi/native/etc ones and we can compare our lists.

>You're just listing ways that they are different. They both run in a virtual machine that abstracts away the actual machine. You know, the metal in the phrase "close to the metal."

A call to a native drawing lib that doesn't pass through 10 layers of abstractions and bizarro architectures is as good as a direct native call. Especially from something like C# that runs circles around JS performance.

But even so, few consider JS to be what makes e.g. Electron slow.

Re:Electron is flash for the desktop (2016) by tigershark on Wednesday April 12, 2017 @02:45AM (#14095353)
As far as I know there are plenty of XNA games running on both pc and Xbox in C#. And that is pretty much the worst applications you can use c# for because, you know, latency. I don't see any real blocker to have complex c# apps on the desktop, apart maybe the quite shitty clickonce and the continuous need to have an upgraded .net framework to use the new features. But now for UWP apps the default is c#, they can be installed directly from the store, and with Roslyn you basically need only to target .net 4.5 to have all the features of the last version of the language. And this is a huge win that admittedly JavaScript already had because of transpiling. If I had to write a commercially distributed desktop application nowadays I would use for sure c# or f#, not JavaScript.
Re:Electron is flash for the desktop (2016) by Touche on Tuesday April 11, 2017 @03:08PM (#14091365)
The comment I was responding to was:

> Yeah, but until Electron and they like, we seldom shipped desktop apps in anything than C, C++, Delphi etc even after all those decades.

So things aren't any different than before. We've just replaced non C/C++ abstractions that were written by the platform-owner company to non C/C++ abstractions that are written by open source projects.

This seems pretty much in line with the general industry trend towards the adoption of open-source software.

Re:Electron is flash for the desktop (2016) by coldtea on Wednesday April 12, 2017 @06:43AM (#14096409)
>So things aren't any different than before. We've just replaced non C/C++ abstractions that were written by the platform-owner company to non C/C++ abstractions that are written by open source projects.

This statement doesn't even parse.

Re:Electron is flash for the desktop (2016) by city41 on Tuesday April 11, 2017 @01:58PM (#14090686)
A large portion of Visual Studio is written in C#.
Re:Electron is flash for the desktop (2016) by LeoNatan25 on Tuesday April 11, 2017 @02:11PM (#14090821)
By "large", you mean some of the UI using WPF, the plugin system supporting C# and some of NuGet?. Not that those are small projects, but considering what is inside Visual Studio, they are hardly "large portions" of Visual Studio.
Re:Electron is flash for the desktop (2016) by user5994461 on Tuesday April 11, 2017 @11:38AM (#14088976)
We use Java because Python proved to be too slow.
Re:Electron is flash for the desktop (2016) by reitanqild on Tuesday April 11, 2017 @12:23PM (#14089610)
And because the IDE support (refactoring etc etc), compile time error checking and ease of use more than compensates for Java being a little bit verbose.
Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @01:41PM (#14090500)
Yeah, and they used C because the compilator could optimized stuff the JVM couldn't but now it can. And now Python get type hints so you can have the IDE tools you have with Java like with PyCharm. It's the circle of life.
Re:Electron is flash for the desktop (2016) by user5994461 on Tuesday April 11, 2017 @02:05PM (#14090757)
Not quite correct about type hint. They are only in python 3.

Everyone who adopted python 2 on sizeable codebase is likely stuck there forever, with zero annotations and none of the new tools available, and they'll never be ported back.

Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @02:48PM (#14091169)
You can use type hints with Python 2 in the form of special comments (http://mypy.readthedocs.io/en/latest/python2.html#type-check...). Guido has been working on the type hint project for dropbox specifically to help them to migrate 2.7 code to 3.

But let's be fair, type related tooling in Python are not close to the ones you have in Java yet. It's just that eventually, everything comes around. Java got faster. C++ easier. Python ...toolier ? Etc.

Re:Electron is flash for the desktop (2016) by user5994461 on Tuesday April 11, 2017 @03:01PM (#14091280)
Java got faster and got some functional features.

Python broke all retro compatibility and put all existing sizeable software in a miserable deprecated state with the breaking of python 3.

I don't recall C++ getting easier. The few tools and IDE still fail at decent refactoring and code completion. The C++11 movement is adding few stuff more or less useful, piling on top of the vast amount of already existing complexity.

Re:Electron is flash for the desktop (2016) by Arizhel on Tuesday April 11, 2017 @04:30PM (#14092157)
C++11 makes a LOT of things much, much easier. Yes, it does pile on top of existing complexity because they're loathe to eliminate any backwards compatibility, but the nice thing is that you don't have to use older features or methods of doing things. In fact, if you look multiple serious C++ codebases, it'll almost look like they're different languages, as every project basically chooses a subset of C++ they accept. Realtime embedded code doesn't look anything like desktop application code, for instance, but they're both technically C++.
Re:Electron is flash for the desktop (2016) by tigershark on Wednesday April 12, 2017 @02:54AM (#14095389)
And as far as I remember even google is only supporting python 2. Their python-go transpiler doesn't support python 3 for example (unless something changed in the last months and I missed it)
Re:Electron is flash for the desktop (2016) by petre on Tuesday April 11, 2017 @04:09PM (#14091978)
Most of the C++ annoyances have already been fixed by Dlang, which interfaces very nicely with C/C++ libraries and code.
Re:Electron is flash for the desktop (2016) by petre on Tuesday April 11, 2017 @04:02PM (#14091899)
And because packaging everything in a jar is easier than pulling 1e3 dependencies for every deployment. Not to mention drpendencies that also require a C/C++ compiler boost or other native libraries.
Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @11:45AM (#14089092)
Yeah and some use C because Java is too slow. The point is, there is nothing new here, the history of computing is repeating itself. It's just now we have better toys, a bigger market and the stakes are higher.
Re:Electron is flash for the desktop (2016) by goatlover on Tuesday April 11, 2017 @12:07PM (#14089415)
Mmmmm, steak.
Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @12:53PM (#14089926)
I'm french so my english is sometime funny. I didn't mean a piece of meat from a weed smoking cow obviously.
Re:Electron is flash for the desktop (2016) by roryisok on Tuesday April 11, 2017 @03:09PM (#14091367)
Your English was flawless there, he was just making a joke because stake sounds like steak, and he likes steak
Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @03:21PM (#14091489)
I wrote steak in the first version. I edited back to stake after his/her comment.
Re:Electron is flash for the desktop (2016) by Mz on Tuesday April 11, 2017 @03:22PM (#14091504)
FWIW, it is a mistake a native speaker could have made.
Re:Electron is flash for the desktop (2016) by roryisok on Wednesday April 12, 2017 @05:13AM (#14095997)
Mmmm... misteak
Re:Electron is flash for the desktop (2016) by mdpye on Tuesday April 11, 2017 @03:52PM (#14091791)
You were completely correct and idiomatic, goatlover just wanted to throw in the pun.
Re:Electron is flash for the desktop (2016) by bluejekyll on Tuesday April 11, 2017 @12:20PM (#14089586)
And this is the reason that I've become such a huge fan of Rust... back to the metal, high level interface like Java.
Re:Electron is flash for the desktop (2016) by vbezhenar on Tuesday April 11, 2017 @04:30PM (#14092156)
Rust doesn't bring much in that aspect. You could use C++ for performant high level abstraction for many years before Rust. Rust brings memory safety and that's huge. But it's not anything like Java, it's much harder.
Re:Electron is flash for the desktop (2016) by bluejekyll on Tuesday April 11, 2017 @08:51PM (#14093900)
Actually, I think it's very similar to Java in terms of what is being offered and at what layer of thought.

It does have a steep learning curve, but it's worth it. The number of concurrency bugs alone that I could have avoided if I had been able to use Rust years ago are sad to think about. Java has great concurrency tools, but doesn't do anything to make sure that your not shooting yourself in the foot.

Re:Electron is flash for the desktop (2016) by edko on Tuesday April 11, 2017 @01:15PM (#14090159)
Java also has JavaFX, which comes with an embedded Webkit browser. I can create my UI with React, or any other HTML/CSS/JS library, and make it interact with code written in Java, Scala, Groovy, Clojure, Kotlin, Ceylon, Frege, etc. very easily. I think this provides all the benefits of Electron, but is even more flexible and powerful.
Re:Electron is flash for the desktop (2016) by petre on Tuesday April 11, 2017 @04:15PM (#14092036)
Do you need to run N programs on N copies of Chrome with JavaFX or use a single VM like all JVM apps do? Because that's the problem with Electron mentioned in the article and that's exactly one place where JVM languages are better.
Re:Electron is flash for the desktop (2016) by ake1 on Tuesday April 11, 2017 @02:16PM (#14090860)
add nashorn so you have a spare javascript vm just in case...
Re:Electron is flash for the desktop (2016) by sametmax on Tuesday April 11, 2017 @01:39PM (#14090468)
Yet, this is not as popular as electron. Ask yourself why.
Re:Electron is flash for the desktop (2016) by michaelmrose on Tuesday April 11, 2017 @03:31PM (#14091599)
This is basically a terrible argument in and of itself you would do better to flesh out why yourself instead of expecting everyone to conclude your self evident correctness.
Re:Electron is flash for the desktop (2016) by petre on Tuesday April 11, 2017 @04:22PM (#14092083)
Too many JS/web programmers that's why. Plus JS/web programming is way easier and more popular than most of the JVM languages.
Re:Electron is flash for the desktop (2016) by abiox on Tuesday April 11, 2017 @04:46PM (#14092272)
i'd guess that there are a variety of things to consider. do you actually have anything to say?
Re:Electron is flash for the desktop (2016) by vorg on Tuesday April 11, 2017 @03:28PM (#14091557)
> code written in Java, Scala, Groovy, Clojure, Kotlin, Ceylon, Frege, etc

Your list of 7 JVM languages (both here and in your earlier comment on this submission) seems to be from most widely used to least. Yet in your HN comment from 2 days ago at https://news.ycombinator.com/item?id=14068664 you ordered that list differently, i.e. "Java, Scala, Clojure, Groovy, Kotlin, Ceylon, Frege, etc". Have you changed your mind about the relative adoption of Clojure and Apache Groovy in the last two days?

Re:Electron is flash for the desktop (2016) by edko on Tuesday April 11, 2017 @04:02PM (#14091898)
Not really. Actually, however, there is a recent survey that shows that Groovy is the second most popular language on the JVM, behind Java. Myself, I use Scala, and would like to learn Frege.
Re:Electron is flash for the desktop (2016) by tigershark on Wednesday April 12, 2017 @03:01AM (#14095418)
Groovy is a quite lovely dynamic language and it's actually the best solution for BDD using Spock. Sadly I still didn't find anything comparable for BDD in all the languages that I use.
Re:Electron is flash for the desktop (2016) by vorg on Wednesday April 12, 2017 @06:11PM (#14102209)
> Groovy is a quite lovely dynamic language and it's actually the best solution for BDD using Spock

There's something wrong when a testing framework hacks into a language parser to make the language statement labels have special meanings like function names do, and overload the `|` operator in expressions so data will appear as a table in the source code. "Lovely" isn't the word for that sort of thing.

Re:Electron is flash for the desktop (2016) by tigershark on Wednesday April 12, 2017 @07:57PM (#14102866)
It's a DSL. And it works very well also because of these operator overloads.
Re:Electron is flash for the desktop (2016) by pducks32 on Tuesday April 11, 2017 @12:28PM (#14089655)
We use some hipster language and act like we're doing it just to be ironic when actually it's a super cool language.
Re:Electron is flash for the desktop (2016) by faaq on Wednesday April 12, 2017 @02:48PM (#14100618)
hehe, you remember me, that crystal, nim and rust are invented to avoid write C

¯\_(ツ)_/¯

Re:Electron is flash for the desktop (2016) by greenhatman on Tuesday April 11, 2017 @08:04PM (#14093631)
>There are costs to developing desktop applications and developers don't want to pay them, so they make users pay for them

That is definitely not the whole story. Costs are shared between developers and users. If it's more expensive to develop an app, you can bet it's going to cost users more too.

Re:Electron is flash for the desktop (2016) by jrochkind1 on Tuesday April 11, 2017 @12:30PM (#14089682)
Well, why would any developer or organization doing development "want" to pay those costs, as you suggest they should?
Re:Electron is flash for the desktop (2016) by TeMPOraL on Wednesday April 12, 2017 @08:10AM (#14096825)
Because those costs grow orders of magnitude as they're externalized. $1000 spent during development can offset $1M in energy wasted by a million users. So they should want to pay those costs as responsible members of civilized society.

And if they don't want to, they should be forced to by said society.

Re:Electron is flash for the desktop (2016) by Arizhel on Tuesday April 11, 2017 @06:21PM (#14093062)
To make a quality product and offer a better user experience?

Users may not notice the slowness right away, but if they run a bunch of applications at once they probably will, and they're more likely to notice it while running on battery.

Re:Electron is flash for the desktop (2016) by shaan7 on Tuesday April 11, 2017 @01:32PM (#14090393)
THIS ^