7 ms·
It's wasted only if it's not traded for something else. But it is. A lot of system would simply not exist if we would have waited for people doing it properly
by sametmax 10y ago
It's wasted only if it's not traded for something else. But it is.
A lot of system would simply not exist if we would have waited for people doing it properly because there is a limited pool of very skilled experts and the demand for IT far exceed our ability to supply. Plus writing good code takes a lot of time and resources, but our society changes now so fast that it very well maybe rewritten next year.
Hence, we are trading computer power to compensate our limited human resource.
E.G: wondering why you see electron apps everywhere now ? Because until now making a beautiful, powerful and modern app with a portable GUI was something only a few people would be able to do. Now any web dev can do it, and they are able to solve problems that weren't solved before because nobody would be available to do it. At the price of performance, memory usage and the use of the ugliest programming language we ever made popular.
It's the same deal as before. When C arrived, Wordperfect died because they stick to assembly. For them, C was wasting resources.
When Java arrived, expert systems were turned to it because it was more productive than to write it in C. We didn't need it to be fast, but the companies wanted their tools to be produced quickly.
Then when the Web arrived, people were laughing about the quality of PHP (initially a Perl hack !). So many bad code, so many security fails, just a terrible, terrible stack of programming debt. But it created the web we have today because it was easy to use, and suddenly a lot of people could just write their web forum. Hell, I learned my job with EasyPhp.exe way before becoming a Python expert.
Nothing here is wasted. It's just implicitly and involuntarily invested.
- aschampion 10y ago> Because until now making a beautiful, powerful and modern app with a portable GUI was something only a few people would be able to do. Except it's none of these things: electron apps suffer the same presentation-before-content problems as most of the web, they inherit all of the state bugs of web apps, and they're painfully slow despite usually just being menus of nested lists and text boxes. It's passing a burden from developers to users, which considering the huge asymmetry between these two groups that's typical (at least 3 orders of magnitude, and often 6 or more) is an enormous inefficiency. I'm all for selecting tools and platforms to better optimize developer productivity, but it's not clear to me the web platform has actually accomplished that for all but a few types of applications, and pushing it to the desktop is resulting in cumbersome, unresponsive, needlessly fragmented interfaces. Put simply: Amazon Music Desktop has untold development investment and a complete visual redesign every 6 months, but WinAmp circa 2001 is somehow a thoroughly better way of searching and playing music.
- sametmax 10y agoLet's be clear, I dislike slow apps, I think current behemoth web pages size is a monstrosity and every time I start an electron app (minus the excellent vscode), I scream in my head. Yet. Most electron app I tried have a ratio result/effort far better than any other solutions for the dev.
- zeta0134 10y agoThis cannot be understated. It really can't. The programmer in me will always be drawn to small, lightweight code that gets the job done while using minimal resources. But that programmer is an algorithmic designer, which doesn't often need to deal with the realities of UI, graphics card drivers, or cross-platform compatability. Electron is popular precisely because it enables developers of nearly any skill level to solve real world problems without investing the additional time to become a systems engineer. And the truth of the matter is that there are many more real world problems that need solving. Computers are cheap, humans are expensive. When performance matters, by all means, hire the expensive programmers and code it from scratch. Do it "right." But doing it at all is often the only thing that needs doing, and for those problems, Electron is often, begrudgingly, the best choice.
- sametmax 10y agoHonestly I will be able to accept the resource consumption in the long run. But the use of JS everywhere is the real hard part for me.
- nashashmi 10y agoSo by making a complex task much much easier, we have traded efficiency for larger numbers of wasteful systems. The Crux of industrialization? The future of mankind? Make task easy. Get more people to do task.
- ori_b 10y agoI mostly do back end code. But when I look at electron and compare it to something like QT Quick, QT Quick looks much more pleasant and easy to use to me.
- sametmax 10y agoElectron targets front end dev and people with knowledge of JS + HTML + CSS.
- ori_b 10y agoSo, your claim is that using electron has got nothing to do with it being easier or simpler. It's just running off inertia?
- sametmax 10y agoHTLM + CSS is right now the easiest combo to create a really custom UI. Try to do something very custo with QT or Wx that is portable and you'll notice it's way, way more work. Combine that with the face web dev already know HTML + CSS and the related tooling, and you got the answer. Electron apps are slow, eats a lot of resources, weight a lot of Mo and don't have a native UI integrated with the OS. You really need a SUPER good reason to use it. And the reason is it's familiar, easier and more productive.
- ori_b 10y agoIs it? Looks pretty easy to me: http://doc.qt.io/qt-5/qtquick-canvas-example.html http://doc.qt.io/qt-5/qtquick-canvas-example.html You get a full scene graph to play with. What exactly do you think is missing? http://doc.qt.io/qt-5/qtquick-visualcanvas-scenegraph.html http://doc.qt.io/qt-5/qtquick-visualcanvas-scenegraph.html
- chii 10y agothe fact that you have to use a scene graph?
- danellis 10y ago> until now making a beautiful, powerful and modern app with a portable GUI was something only a few people would be able to do. Now any web dev can do it Anybody could do it before, including web developers, using, say, Qt with C++ or Python. Or are you suggesting that web developers are not capable of learning?
- sametmax 10y agoNo I'm suggesting the ratio result/effort between a QT app and a electron app is strongly in favor for electron for web dev. Actually I'm not suggesting. I'm witnessing.
- JustSomeNobody 10y ago> E.G: wondering why you see electron apps everywhere now ? Because until now making a beautiful, powerful and modern app with a portable GUI was something only a few people would be able to do. Take portable out and it gets so much easier.
- jerrysievert 10y agotake out beautiful and it gets so much easier too. I guess that gives us: * portable * beautiful * fast (choose 2)
- K0SM0S 10y agoThat was so acid. ;-) But besides my pun, "fast" code is a moving target relatively to the end result (see how performance considerations about Java running in a VM became moot because of hardware improvements notably on the CPU; see how today multithreading is making a comeback to rescue CPU-bound applications from stale improvements). Fast is also subjective, it's cultural in that it's a trained perception. I'm annoyed if Excel takes more than a couple seconds to launch, but most people are used to 10s at least, because that's our daily experience. Likewise, I remember a time when having pixelated thumbnails until images loaded completely over dozens of seconds was the best browsing experience; nowadays on fiber/LTE we expect a page to appear rather instantly. I guess what subconsciously annoys the hell out of "those who like as fast as possible applications" with Electron is that we know it will yet make fast a more distant concern overall, at least until hardware makes the Electron performance penalty moot, like Java VM. I'm pretty convinced 'fast' is indeed a clear third priority for most consumers though, seeing how it doesn't seem to bother most people in UX research (less so than many other concerns), or how Apple rides ever more financial success while releasing ever slower hardware and software (comparatively to the whole market, and sometimes astonishingly even to their own previous models). Facebook is bloated as hell too these days, but it's as popular as ever. Spotify is sluggish too, even Twitter. People just don't seem to care, the looks and simplicity of use seem more determinant.
- milesrout 10y ago>A lot of system would simply not exist if we would have waited for people doing it properly And we'd be better off. We'd be better off without Atom and VS Code.
- dotancohen 10y ago> E.G: wondering why you see electron apps everywhere now ? Because until now making a beautiful, powerful and modern app with a portable GUI was something only a few people would be able to do. You should really take a look at Python and Qt. Beautiful, easily maintained and well-performing cross-platform apps have been a possibility with this pair for the better part of a decade. Anki is my favorite example, but there are plenty of others.
- sametmax 10y agoI'm a python expert, I know. You are missing the point: electron apps target front end devs. They are more of them, a lot more, than any other type of dev and they don't want to learn a new tech. Hell they even ported js to the server, an awful language, to avoir using something else. Plus saying qt is easy to use to them is like saying java is productive to a python dev. You are not on the same scale.
- pjmlp 10y agoFront end web devs. There are still some of us that do actual native frontends.
- mr_overalls 10y ago"Everything is for the best in the best of all possible worlds." --Candide, Voltaire