Live data from Hacker News

Is the madness ever going to end?

unixsheikh.com

101–110 of 629 posts

Re: Is the madness ever going to end?

#101
It's a good rant. Basically, our computing foundation is from the 70s and we keep stacking crap on top. Given hardware advancements, it's embarrassing how we're making the user experience worse, not better.

What happened is speed. You need to ship fast or you're dead. The need for speed is not just because of commercial dynamics, also because of another major industry failure: programmer productivity did not scale up.

2 decades ago it was expected that by now we would be on 5G languages. Where you basically are modelling applications instead of coding them. This never actually happened, we're mostly at 3G still. Which is relatively low level grunt coding, error prone, repetitive, etc.

In fact, sometimes we even sink below 3G. Recently Chrome shipped a feature that allows a developer to tell whether the internal layout engine should regularly update a section of an HTML document or not. Whilst performance optimization is admirable, it really is kind of ridiculous that a developer has to involve himself in paint cycles and GPU stuff. There's even articles telling you how to write JavaScript in such a way that the bytecode compiler runs slightly faster.

What??

I'll continue with another example, to show my age. In the 90s, I used Borland Delphi quite a lot. It's basically drag and drop UI building and then you connect code with events. Incredibly intuitive and productive. An the app would be lightning fast, much faster than today's "desktop" software running on hardware a 100 times more powerful.

30 years later, and we're hand coding for the web. There's no robust layout builder. No standard library. Not even a standard development environment, we have to cherry pick it together.

With productivity this low, and needing to ship fast, the only solution is to build another crappy abstraction on top of the pile of garbage.

Importantly, this often fails. It doesn't actually lead to higher productivity, rather even more complexity. Nor does it typically improve the user experience.

Why does it continue anyway? Because the person suggesting that framework never pays the price. When the choice starts to hurt, they are long gone. Some other poor sucker will be maintaining that ancient Angular project.

Which brings me to my final point: the profession of software architect seems to be dead entirely. It's just coders now, making seemingly random short term choices. But I guess that is the modern state of the world: extremely short term. Nobody does anything proper or fundamental anymore.

I should start a blog too.

Re: Is the madness ever going to end?

#102
post #18

It will end when people like the author drop their victim mentality and start putting their own ideas into practice. It seems that this person is content with yelling on the sidelines about how good and efficient things used to be. Meanwhile, the shitty tech is winning. According to this author, bad code and bad tools and bad frameworks are reigning supreme over real engineering. Why? "The situation is really bad for…

>Meanwhile, the shitty tech is winning. According to this author, bad code and bad tools and bad frameworks are reigning supreme over real engineering. Why? Because in the time that OP spends tracking down segfaults and getting a dozen native libraries to compile for his native app, the JS dev has already finished XYZ feature. And because the environment is so high level, he can use the extra brain capacity for thing…

> HTML/CSS/JS is literally a 10x improvement in iteration speed versus native.

When you need to release your application across multiple platforms? Yes. Not much else even begins to compare on that front.

Compared to native development on a single platform? Not even close. HTML/CSS/JS development is painfully slow in comparison.

Re: Is the madness ever going to end?

#103
Where is that xkcd about real men use a magnifying glass and butterfly effect to program.

Abstraction is indeed getting heavy but I don’t think it is a problem. Witness the recent enthusiasm for static sites and serverless. Sure that has its own complexities but the desire for clean minimal design is still there in some quarters without reverting to full html only

Re: Is the madness ever going to end?

#104

> Programming is engineering Is it? Genuine question that I've been asking myself for the past several years: In what senses is software engineering actually an engineering discipline? If you make a project trade-off for the sake of code maintainability, is that based on empirically tested knowledge or following a design pattern guided by an artisan's intuition about how code will be interpreted?

I truly think it's more craft than engineering, and even that's somewhat generous. It's mostly guesswork, hacks, inter-team politics, and trend chasing.

Imagine an engineering team designing a toaster. They have real constraints to consider, like physically fitting all of the components inside a single package and selecting materials that won't melt during operation. They have to ensure that product won't injure the user or light their house on fire. They have to carefully consider the lifespan of each component and design the product to last for a minimum number of years. The consequences of failing to do these things could potentially result in lawsuits, recalls, injuries, or even death.

Now take the average web product. There are no real constraints whatsoever - almost everything comes down to opinions over aesthetics. Even the speed and reliability of the application is somewhat unimportant. Planning ahead is explicitly discouraged. Instead, software "engineers" are encouraged to be agile, move fast and break things, iterate based on feedback/complaints, and push out hotfixes when bugs occur. Software is expected to rot and be rewritten every 3-5 years in the latest language du jour. I could go on and on, but anyone who's been in this industry for more than a few years knows what I'm talking about.

Re: Is the madness ever going to end?

#105
post #16

ITT: lots of people who have promoted one trivial web technology or another who feel personally attacked by the post.

The one who feels personally attacked is the article's writer IMO. From this article and others from his website you can see he clearly has a problem with new developers, especially those from JavaScript. A lot of resentment can be read between lines.

In general HN tends to express resentment towards web developers, especially those who make use of JavaScript frameworks. You can find people ranting about web development on this site at least once a week. I mainly chalk it up to those people having no fucking clue what they're talking about because they don't have the relevant experience, like a physicist talking about politics. They are smart and knowledgeable about things I will never understand, but they don't know anything about this and should probably shut up instead.

Whether they are right or not, complaining about the modern web development practices on this website is a waste of keystrokes, because no one is listening.

Re: Is the madness ever going to end?

#106

Earlier quoted context omitted.

I’m very critical when a company like Slack cannot find the time and resources to make native clients. I’m so #%^*ing tired of it taking three Mississippis to show a channel I click on. But on the whole, I don’t think the armchair critics truly appreciate how Electron reduces the cost by at least an order of magnitude. It’s a brilliant tool for shipping early and fast. My only criticism with these start-up use cases…

Usually they are websites. That's kinda the whole point... Spotify's desktop app is the same as open.spotify.com, Discord's is the same as discord.com, VS Code's is the same as vscode.dev, Slack is the same as.. something. But yeah, instead of those companies all needing 5 separate engineering teams (Web, Mac, Windows, iOS, Android, and you're joking if you think they'll make a Linux native app), they just make a web…

I think it's a huge pity that we're so reliant on platforms instead of protocols - there would be native Slack clients for every platform. Few companies even allow proper API access.

Spotify buck the trend, Spot is a fantastic app

https://github.com/xou816/spot

Re: Is the madness ever going to end?

#107
post #75

Earlier quoted context omitted.

I can’t think of any reason not to use Slack exclusively as a website. I’ve been doing it for years now, and it’s a better experience IMO. For Teams, the only disadvantage is you can’t share your screen and video simultaneously when running as a tab; but I find the screen sharing experience to be better otherwise when running as a browser tab. Also: all of these “shitty” Electron apps work just as well on Linux as th…

Ii run Slack outside of a tab and in its app format because it's easier to navigate to using keyboard shortcuts and OS level features. That may not be enough for you, but it's plenty reason for me, and I imagine many others.

Slack in browser tab user here. Got sick of the app and how slow it was pretty fast. It's just not worth it.

Re: Is the madness ever going to end?

#108
post #18

It will end when people like the author drop their victim mentality and start putting their own ideas into practice. It seems that this person is content with yelling on the sidelines about how good and efficient things used to be. Meanwhile, the shitty tech is winning. According to this author, bad code and bad tools and bad frameworks are reigning supreme over real engineering. Why? "The situation is really bad for…

> bad code and bad tools and bad frameworks are reigning supreme over real engineering. Why? Why? The (ultimately unsuccessful) quest for the silver bullet. Nobody wants programming, they want programs - so anything that promises to deliver programs faster looks like a holy grail. Inevitably, though, the promise boils down to a pre-packaged implementation of an existing approach that does something relatively specifi…

Which is why we ought to be building webs with Assembly.

Seriously though, there is an equilibrium somewhere, and on top of that a lot of stuff that is more about business and work than programming.

I may be getting out of my depth here but, am I wrong to say that a good deal as to why webdev in Java is even a thing is because there were people around who knew Java to begin with? That a good deal of people learning PHP did it just because Wordpress is a thing? That react native for desktop is about people with expertise in react native being able to develop for desktop?

Workers want paychecks. Society wants products. Workers will learn to make products so they earn paychecks and if they can spend less time learning they will, obviously, do so.

Re: Is the madness ever going to end?

#109
post #18

It will end when people like the author drop their victim mentality and start putting their own ideas into practice. It seems that this person is content with yelling on the sidelines about how good and efficient things used to be. Meanwhile, the shitty tech is winning. According to this author, bad code and bad tools and bad frameworks are reigning supreme over real engineering. Why? "The situation is really bad for…

Yep. When I saw the tired "Electron = bad" rant I immediately went to look for a tab entitled "Projects" to see if the author had created a native desktop app with "value"[1] equal to or greater than what a good Electron app provides (Slack, Spotify, Discord, VS Code). But lo and behold, no such tab. [1]: [Electron apps] constantly crash and has no value over a native desktop application what so ever

> Slack, Spotify, Discord

All those examples could or do work just as well as web apps, right? I don't think that's the authors message, but I'd rather have those type of apps be web-based instead of electron-based or native.

Re: Is the madness ever going to end?

#110

"They constantly crash..." Putting aside the downsides and reasons not to use Electron, this statement is just false. They are not "constantly crashing." I currently use at least Figma, Insomnia, Slack, Spotify, and VS Code and these apps rarely crash, if ever.

The memory arguments are valid, but I don't think I've ever once had an Electron application crash on me. Contrasted with older native applications that would crash on a weekly basis.

Every well written app has multiple processes that can offload work to them and simply restart that single process if it crashes. Even Slack is running a number of processes so even if one does crash it simply restarts without affecting the main UI process.
Post reply on HN