I don't think the issue is usually too many libraries for a given design (barring extreme cases like NPM). Rather, it's that including libraries is so easy now and covers such a vast range of features that it enables bad design. I'm thinking in particular of Internet features, from HTTP connections on up to infinity.I'll give you a hint, though: the common culprit across all software types is off-the-shelf libraries.
Memory-bound problems are the actual demons that are everywhere. We are now reaping the benefits of 20+ years of well defined algorithms / data structures that were designed to alleviate CPU-bound problems. (Sure, the true bottleneck has always been the system bus but the CPU-bound stuff was more salient (or actually just easier to solve!) early on.) I've never been through a single book on algorithms where their abstract model against which O notation is leveraged has a pragmatic notion of memory. O notation is rarely helpful for a variety of reasons but it's primarily useless because it's predicated on counting instructions. We'll need to wait quite some time before we have an array of algorithms and data structures that are more hardware oriented. In the meantime, the majority of software will be built upon dated, antipatterns that are doomed to slog even when properly executed. Now, add in the fact that the majority of the people building the designs don't have a good handle on math, computer hardware, or even the language they're using and the result is our glorious browser experience. Let's be fair, though, desktop applications and OSs in general have been reduced to sludge as well.
The hope that compilers and Moore's law could just offset bad programmers is not working out. Also, all these clever hardware tricks are working against us. In the bowels of systems programming now you have to work against the hardware as much as you have to work with it. Branch prediction is not your friend. Caches demand simple and contiguous memory. It is hilarious to watch the new hardware oriented style emerge in languages like C++ because it turns almost every de facto "solution" into an antipattern. Don't use unordered_map, use two synchronized vectors and brute force linear search; linked lists are a distant vestige (just shift a vector); whenever possible, favor array. And keep in mind at all times: the heap is your greatest enemy.
One thing I would like to mention is people think object orientated programming is good, when it's clearly not. My programming is data oriented to take advantage of the CPU cache, and not hog up memory like OOP does.
I absolutely DESPISE functional programming. It's just stupid. I have trouble understanding why functional programming is "so good". It would be nice if programmers wrote their code to work well with the hardware they are working with. Not invent a new language every fucking year to solve a "problem" that no one can give a straight answer to.Traditional OOP gets a lot of flak (and it's deserved), but I'd like to also point out that FP is equally mad and for whatever reason the programming community likes to pretend it isn't.
Half of its meme status comes from academia because of its close relationship to lambda calculus.I have trouble understanding why functional programming is "so good".
I absolutely DESPISE functional programming. It's just stupid. I have trouble understanding why functional programming is "so good"."An idiot admires complexity. A genius admires simplicity." - Terry Davis.
I actually didn't think of this. I have one rub with this, most of the really useful stuff tends to have an open source counterpart. It's all available usually free to change and free to download sans hardware. The micro computers today are insanely juiced and not unaffordable in most cases. I've been miffed that all these faggots whining about shit just don't actually read anything. Like 80% of the time, the information is out there. There are classes to teach you. They just don't want to work to make what they want, they want to push an agenda and leave the implementation to someone else.All you engineers need to ask the black pilled liberal arts major what happened. I can tell you exactly what happened. Your problem is you assume the goal of the powers that be is to create ever better, ever more efficient systems. That the fact something works better and longer being a clearly mathematically provable good somehow means it should and will be universally adopted.
Ignoring of course the simple truth that these things are too useful. Especially if given to the peasants. And the last thing the people in power want is for the peasants to have access to the same tools they do. Or a system that removes them from their control for extended periods of time. Why make a crap operating system that needs to be replaced every two years? Because you will have to buy the new one every two years. Why build apps and programs that deliberately overclock your CPU and run up your data plans? Because you will be forced to buy new computers and new data plans. Why put glaring security flaws in these systems? So you have no defense if they want to spy on you.
What modern tech companies are doing is no different then what Napoleon II did in France when he built all those nice wide avenues in French cities. He didnt build his systems that way to make things better and more efficient. He built them that way so his soldiers would have a clear line of sight for shooting peasants who got uppity.
I actually didn't think of this. I have one rub with this, most of the really useful stuff tends to have an open source counterpart. It's all available usually free to change and free to download sans hardware. The micro computers today are insanely juiced and not unaffordable in most cases. I've been miffed that all these faggots whining about shit just don't actually read anything. Like 80% of the time, the information is out there. There are classes to teach you. They just don't want to work to make what they want, they want to push an agenda and leave the implementation to someone else.
I'm miffed because they keep forcing themselves into the spaces and shitting on everything. They aren't illiterate. If they are worried about getting arrested don't slap a purpose on it. These are tools. Can I do a bunch of really shitty things with wireshark, nmap and aircrack? Absolutely. They don't have a specific purpose, they are tools. Doing grey area work is always general purpose. I've made faraday cages to demo, completely legal.These things are much like the rogue printing presses of renaissance europe. They blasted out truly useful information, but were useless without people capable of reading them. You say you are miffed about people who just dont read an educate themselves. Many politically active individuals in Europe with a printing press felt the same way. Even as the powers that be moved in to arrest them, smash their presses while simultaneously extolling the virtues of the presses they controlled.
What is happening now is nothing new. The tools have changed but human nature has not.
I have like 8 tabs open and somehow this requires 2 GIGABYTES of ram. Why???
They are like 7 tabs mostly text and 1 youtube tab.