Where the fuck did we go so wrong with modern software? (Tantrum) -

Jack O'Neill

Fuck
kiwifarms.net
A big chunk of it is growing pains. HTML wasn't originally designed with app development in mind, and javascript wasn't originally designed for more than the most basic of scripting needs. Over the years, we've just added in enough duct tape to turn a car into a submarine.
You also have to deal with the fact that a lot of the "old guard" of web developers were really designers with very limited scripting knowledge, hence the current mindset of "just plug in another dependency and don't worry about it".
This mindset has infected all of the software industry. We now have morons who call themselves "programmers" that churn out piles of shit. They have no understanding how their program interacts with the CPU and RAM, and they most certainly don't understand why this knowledge is important in the first place. The truth is, they don't care. They want to call themselves "programmers" with minimal effort and have something to brag to their twitter followers. And now we have utter shit-stains, such as Electron JS and Node JS trying to bring web shitnologies to the desktop.

Imo, this is only going to get worse. We are now at a point where newer processors are being shipped with slight "performance increases", and it's most certainly nothing to write home about. The rate of poor software quality is much faster than the rate of newer and faster CPU's. I see nothing stopping this train right now. And to be completely honest, it will be fucking funny to watch some faggot-ass soy-chugging beta-male crying over the fact that his JS application is running slower than your grandmas mobility scooter, and has no way to fix it because he has NO control over what he is developing, and now at the mercy of incompetent retards to fix it. Which themselves, have no fucking clue how to fix.
 
Last edited:

Kosher Dill

Potato Chips
True & Honest Fan
kiwifarms.net
And to be completely honest, it will be fucking funny to watch some faggot-ass soy-chugging beta-male crying over the fact that his JS application is running slower than your grandmas mobility scooter, and has no way to fix it because he has NO control over what he is developing, and now at the mercy of incompetent retards to fix it.
It's worse than that, there's going to be one outright genius who will patch things just enough to keep the wheels from falling off.
For example it's an impressive accomplishment that JS is now translated directly to machine code on-the-fly, but we would have been much better off if JS had collapsed under its own weight a decade ago instead.
 

Razel

Give me the dust of my father.
kiwifarms.net
Broadband, resource scaling, and good old capitalism did this to us. Around the mid 2000s, broadband started to become very wide spread in the US, so there went the concern for keeping a web page lean in terms of file size. At the same time, RAM got cheap enough that OEMs were able to go hog wild and push the biggest numbers possible to make their offerings more attractive to consumers, so rendering pages bloated with script that saved devs time became a non issue as well.

In the same vein, new software could be developed more easily and in a shorter time frame using existing libraries and without caring so much about optimization. People were still used to not multitasking too much because they'd learned to use a computer on older systems, and so modern systems having > 1gb of RAM meant your application could be a bloated piece of shit and function without it feeling too different from what they were used to.

Aside from laziness and greed, there was also the need to create the illusion of "progress." Have you ever heard the expression "don't code yourself out of a job?" Well, that's exactly the point that web and software devs found themselves at around this same time.

Making a functional website that users would enjoy using was as easy as spending a weekend in DreamWeaver et al, so how do you make your website stand out among your competitors to generate sweet ad revenue? You start to implement new features, eye catching design, etc, that add nothing to the user experience but make your site feel like the modern and well built option.

By the same token, companies like Adobe and Microsoft had finally hit their stride on more or less perfecting the formula for their software offerings. Office, Photoshop, etc functioned perfectly at doing what they were meant to do, and of course users got a lifetime license to use their software when they bought it, so it looked like the well would dry up on them, so what could they do? Overhaul/update the UI, add features few would care about, move what would have been updates into new iterations, and try to get everybody hooked onto subscription licensing.

I dare anybody to name a single damned thing that Adobe or Microsoft has implemented in a "new version" of a product which existed in 2001 that legitimately adds value for the end user and couldn't have been included in an update or sold as an upgrade option for the 2001-era iteration instead.

Photoshop is more or less the same aside from some goofy UI fuckery with multiple times the memory footprint, Windows offers a few new kernel improvements/updates under a bloated bipolar mess of a UI, etc. It's so laughably transparent that they have to work to kill the older versions off to get more technical people to make the switch, by pushing new standards that obsolete those maintained by said older versions.

Shout out to bestmotherfucking.website, on this note.
 

Bill The Fucker

BOTH OF 'EM
kiwifarms.net
Modern web development makes me beg to have Visual Basic again.
Eh, I think modern web development is in a much better place than it was a decade ago. Node gets a lot of (deserved) shit for dependency hell, but I don't think web components or a proper import/export would have been introduced to the JS standard without it. Not to mention that it runs pretty damn fast (if not efficiently) for what it tries to do. Loosely typed event-based systems work extremely well for the kind of uncertainty you get from UI/UX focused programs.
 

Harvey Danger

getting tired of this whole internet thing
kiwifarms.net
Sadly, no one took away the right lesson about browser monoculture. Where Microsoft once owned the direction of web technologies, now it's Google.
People forget the Bad Old Days of compatibility testing between Netscape and IE. Stuff you coded would just work in IE, and break in Netscape, and it would be a big pain in the ass.

"But that was because IE was playing fast and loose with the W3C standards! Netscape forced you to do proper HTML coding, standards-compliant!" - Yeah, and it still sucked. Everyone's job got much easier when Netscape finally died, and you secretly felt relieved when you only had to code for 1 browser.

Then everybody bitched at Microsoft for a decade to deflect the guilt and make themselves feel righteous about it.

I'm not saying standards-breaking is a good thing, but standards can suck just as often as they help. IT is just like any other job: most workers follow the path of least resistance to get a job done. It worked out in the end. And Google eventually became king by doing the same things Microsoft did: giving developers something they wanted, and establishing new standards by throwing its weight around.

Of course I'd prefer to burn down Web 2.0 and ban use of JavaScript on pain of death, rather than mess around with modern web development. But I'm just cranky.
 

Razel

Give me the dust of my father.
kiwifarms.net
It seems to me that open source releases of things like Chromium have become an effective way to neuter the FOSS movement. As an example, take a look at nearly any open source project on Github that requires a web engine, and you'll almost always see it's using Chromium in some way.

We're going to get to a point where it's almost impossible for hobbyist devs to create software that doesn't involve large coroporations' code, or to create integral parts of their own software at all, because the knowledge pool has shrunk drastically from multiple generations of developers being able to just call on solutions build by our benevolent corporate overlords. I get why people use these tools, but at the same time I worry that the spirit of FOSS is slowly dying off, with the popular mindset of "I'll build a better version myself and stick it to The Man by sharing it with others for free, because I'm not in this for the money" being replaced with resume builders, quickly-dropped passion projects, and weird "look at how good I am at programming" humblebrag projects.
 

ditto

kiwifarms.net
Eh, I think modern web development is in a much better place than it was a decade ago. Node gets a lot of (deserved) shit for dependency hell, but I don't think web components or a proper import/export would have been introduced to the JS standard without it. Not to mention that it runs pretty damn fast (if not efficiently) for what it tries to do. Loosely typed event-based systems work extremely well for the kind of uncertainty you get from UI/UX focused programs.
The problem I have is that web technologies are eating the world. In the 90s plenty of internal tools were built with RAD tools and did their job pretty well. Nowdays instead of dragging a grid control onto a form and hooking it up to a database it takes a year of web-dev work with 500MB of NPM dependencies to do the same thing.
 

Pissmaster

True & Honest Fan
kiwifarms.net
Software and coding went downhill when QuickBASIC became popular. What kind of fuckery is BASIC without line numbers?
hahaha, I checked the Wikipedia article on QuickBASIC and lo and behold, even their example code is needlessly confusing:

99, my girlfriend just sucked 99 bottles.GIF


Why not just use the words "singular" and "plural" as your variables? Even that simple bit of code is a bitch to read
 

Goldman

PROTECKING THE LYFE CYCLE
kiwifarms.net
I dare anybody to name a single damned thing that Adobe or Microsoft has implemented in a "new version" of a product which existed in 2001 that legitimately adds value for the end user and couldn't have been included in an update or sold as an upgrade option for the 2001-era iteration instead.
I'm reaching here, but the Ribbon is really nice to use, but it's not anything new you can do from Office 2007 onwards that you couldn't before.

It seems to me that open source releases of things like Chromium have become an effective way to neuter the FOSS movement. As an example, take a look at nearly any open source project on Github that requires a web engine, and you'll almost always see it's using Chromium in some way.

We're going to get to a point where it's almost impossible for hobbyist devs to create software that doesn't involve large coroporations' code, or to create integral parts of their own software at all, because the knowledge pool has shrunk drastically from multiple generations of developers being able to just call on solutions build by our benevolent corporate overlords. I get why people use these tools, but at the same time I worry that the spirit of FOSS is slowly dying off, with the popular mindset of "I'll build a better version myself and stick it to The Man by sharing it with others for free, because I'm not in this for the money" being replaced with resume builders, quickly-dropped passion projects, and weird "look at how good I am at programming" humblebrag projects.
The fact that we're getting to where hobbyist devs can't create software independently is by design. Most people who use computers will be shuttled so consumption boxes, while those who show coding aptitude will be pushed to use libraries and code from those corporations, almost like a slightly more advanced consumer. Nothing will be done without the consent of the corporations. Unfortunately, coding will be more and more abstracted, and most devs will forget about code that isn't super high level or isn't just using existing stuff that will just create more dependencies.
 

Ledj

kiwifarms.net
The fact that we're getting to where hobbyist devs can't create software independently is by design. Most people who use computers will be shuttled so consumption boxes, while those who show coding aptitude will be pushed to use libraries and code from those corporations, almost like a slightly more advanced consumer.
While I completely agree with your sentiment that corporations and monocultures would love to eradicate programming independence, what is happening right now is absolutely the fault of programmers (hobbyist or otherwise) trading control and independence for immediacy. It has never been easier to get the information and build the skills required to develop a project of any level at any depth. The fact that FOSS and software in general is in a state of decline is because programmers are actively refusing to care about the art of programming. I'm not talking about the scripting dilettantes who exclusively use glue languages and argue about the legitimacy of dynamic madness writ large -- this is a problem that extends all the way down to systems programmers. Look at all the new languages: monocultures with a single compiler and a common mantra: pointers are dangerous, you can't outsmart the compiler, and don't reinvent the wheel (NIH is the devil!) because you can't make an implementation better than X because X was made with Y authority figures. It's absolute horseshit, but the seduction of immediacy coupled with laziness gets you with things like Electron ubiquity or std::function usage.

In the future it's highly possible that the monocultures / corps will start to actively hide information, but for now the onus is entirely on the programmers to stop making deals with the devil for some fast action and get back to the "tedium of implementation" (viz., the art of programming). C/C++ are the only ideological bastions left wherein the programmer is trusted and free to go as low as they wish, and aren't monocultures (if there are any other languages, please let me know) so I'll use them as the example. Systems documentation for any major OS is a few search engine queries away; compilers are well documented and often OPEN SOURCE; tools like Compiler Explorer allow you to easily disassemble source code on any relevant compiler and on any sane hardware target; Intel supplies you with the entire set of x86-x64 for free (I don't know about AMD but I'm sure they do something like that); there are many open source graphics libraries available if you don't want to write your own; there are countless books on math for applications / game programming (usually with actual C++ examples) that teach you the core set of LinAlg / Calc you'll need to navigate through most situations (they'll even skip over those "nasty" proofs in case you were having trouble concentrating!); You can always start with a bit more abstraction via some framework like SFML, and then you can even make quick and dirty prototypes or tools with Dear ImGui at a speed that would make Electron blush (and they'll look a hell of lot better than base QT). The amount that a single, untrained person can achieve is insane provided they care enough to spend a bit of time developing skills. Learning the fundamentals might be a bit tedious or boring, but they're not hard. You don't have to have the IEEE 754 memorized before you get a general sense about floating point representation and the various challenges and pitfalls.

The knowledge is not only out there to support any project idea at any scale, but it's practically begging people to read it and yet no one seems interested; the only thing left they could do is pay you to care. Safety nets are everywhere with places like stackoverflow. Any person with a pulse can download an entire, active professional game engine like Unreal and dissect the thing at their leisure to find out all sorts of tricks. Unreal has fantastic internal documentation in most areas and is a wonderful educational resource even if you never use it; you can also do the same with graphics libraries like OpenGL or even the framework wrappers like SFML. There has never been a time when so much information has been so easily accessible and just available for any programmer with a drive to take advantage of. You can even tear apart clang and LLVM and see how modern compilers are made. The mystery is no longer hidden behind closed source, proprietary fog. Talks from professionals sharing valuable developments in all fields from conventions like CPPCON are free and readily available. Now think of how easy it is to find other programmers with similar interests; it should be common for small groups of all skill levels to form to create elegant, fantastic, interesting, or strange FOSS competition everywhere. We should be in the middle of a software renaissance, yet instead we're mired in the sludge of glue languages and kernels that exist primarily to fulfill the insatiable malloc demands of browser tabs. At some point in the distant future, it really might be the fault of some shadow corporation; for now, though, the only reason programmers "can't" develop software independently is because they don't have the willpower to sit down and read some useful text in their ubiquitous browser.
 
Last edited:

Glad I couldn't help

Ohai!
kiwifarms.net
The hope that compilers and Moore's law could just offset bad programmers is not working out.
Isn't Moore's Law what is causing the problems in the first place? The exponential growth in various computing metrics* meant programmers could just let computers become more powerful while they did nothing at all. In fact, the exponential growth in those computing resources meant the exponential growth in demands and expectations, which require abstracting away details of the hardware in order to do that in a reasonable amount of time.
It seems to me that open source releases of things like Chromium have become an effective way to neuter the FOSS movement. As an example, take a look at nearly any open source project on Github that requires a web engine, and you'll almost always see it's using Chromium in some way.
Well, they designed it to be that way, if I am not mistaken. And as the link that I posted earlier noted, as this point is probably impossible for even a large group of hackers to code a new web engine that would, again, meet the needs and expectations of the general public. Probably only a project sponsored by a major power (e.g. the US, China, Russia, maybe the EU) could do it, and I guess it would come with a lot of strings attached.
 

Kosher Dill

Potato Chips
True & Honest Fan
kiwifarms.net
and don't reinvent the wheel (NIH is the devil!) because you can't make an implementation better than X because X was made with Y authority figures
I blame the internet and internet-centered architectures for making this necessary. If your local code has a bug, it might crash and make you look like a retard. But if that code's facing the internet, that bug is going to turn into an RCE exploit and immediately get automated by script kiddies and spammed out to every IP address in existence. That naturally leads to a certain degree of risk-aversion: better to glue in some battle-tested library than to implement something yourself. Plus, if someone does find an exploit, you won't be the only one affected so it's not your fault!
Automated code metrics are a secondary culprit: replacing your own code with a library call is always rewarded.

Compounding this is the fact that most protocols and standards these days are so complicated that there will be bugs if you sit down and implement them from scratch. Even if your programmers are geniuses who only make a mistake once in a million lines, that still means there will be dozens.
 
Tags
None