61
Condor
6y

Modern software has gotten so bad that it even gets sluggish at times on late 2018 flagship devices. Slow, cheap hardware like is usually developers' and fanboys' excuse, particularly when it comes to Windows stuff? Like hell it is.

Software "engineering" has become so.. terribly inefficient. I'd dare any developer worth their salt to rewrite their program to make it work on an early 2000's machine. After all, those can run pretty advanced GUI's, have a reasonable amount of hardware (just think about how large a gigabyte of RAM really is) yet should be able to make for a reasonable limitation set.

Hardware limitations are the mother of optimization. Not every person on the planet has a 32-core Xeon workstation with 64GB of DDR4 RAM and a GTX Titan in it. Whether your application performs reasonably well on your machine shouldn't be the metric. Try deploying it on that laptop you tucked into a shelf years ago and reevaluate.. please.

And definitely you Slack!! Slacking off, is that what inspired the name of that pile of junk?! 😡

Comments
  • 21
    You could have just said, "javascript is bullshit."
  • 2
    I find that the electron apps I use really only choke up in windows. On linux(with 2013 hardware) and mac, I don't experience performance-affecting resource issues at all.
  • 6
    Yeah exactly, I bought myself Sony Xperia Z and flashed it stock android 4.2 for testing.
    Optimization is hard but worth it if you want to target pretty much all devices.
  • 5
    That is because of the enormous turtle towers people use.

    I call this High-Tower-Languages. Where the program is sky-high away from the hardware.

    Oh, and throwing a full set of design patterns on every simple data collection helps a lot, too, with pressing simple programs into a crawl...
  • 6
    @just-basic-user the world needs more people like you 🤗
  • 5
    @just-basic-user

    The Xperia Z3 Compact I had with 4.4 kitkat on it was probably the best phone I ever used.
  • 2
    @bahua I love every inch of it and the design is super slick, Sony knew how to make good phones
  • 2
    @Condor thank you 😊
  • 8
    I agrre, we got spoiled by cheap resources. Hence we've shifted our main focus from performance to other criteria: readability/extensibility, portability, freedom to implement shit with tools completely not suitable for the task, low TTM,.. And most importantly [imo] nowdays everyone needs sw so fast that market is unable to provide demand with qualified programmers. If you can write a hello-world - you a programmer good enough for the market.

    That's wrong. But that's how it is
  • 5
    At work, we use the least performant VPS available on DO. Inevitably it locks up at the least favorable times, but after a reset, we (I...) know what's hanging and we (I...) fix the culprit. I'm worth my salt, and I'm salty about their worth. xD
  • 1
    @irene Age of electron - I couldn't fucking agree more.
  • 3
    @bahua Performance is not an issue but it's hogging a hell of a lot resources. Combine it with Chrome and you basically fucked your hardware.
  • 3
    @Yamakuzure Isn't it like design patterns are use to avoid bugs and make code easier to read/maintain which leads to less bury software?

    Currently I write small software for my almost ex uni and decide to implement MVC architecture for learning mostly, but my code is also way more clear and easier to modify, but also way longer 😃 I am newbie and code as hobby so could be wrong.

    Also high-tower-languages are great to get shit done even if you don't know how computers work and how to benefit from lower languages. For me Python is lovely language (I code for Windows 2000 so also efficient enough) for this little project and to focus on another aspects of programming, but I am looking at Rust as next step.
  • 1
    @irene But it is like everything, salt make your food tastier but overuse of salt makes your food uneatable 😃 I get it, but sounds so obvious to know, maybe not so obvious to apply, but it isn`t fault of patterns but bad programmers
  • 5
    @Omnisus just to give an example, if you don't know what strings REALLY are and use a programming language that abstracts them away so you can treat them like, say, integers, then the consequence is that you will code O(n^2) algorithms left and right, and you won't even notice.

    This is e.g. why Git as userland application was done in C - because Linus felt that the primary objective of speed could only be entrusted to people who understand how computers work on raw byte level.

    Yes, people can get shit done if they don't know how computers work. But it will suck.
  • 1
    @Fast-Nop It`s absolutly true and my point is that sometimes is better to have not best software rather than have concept of great one or don't even have that concept.

    Programming language is just a language and not only super specialists use languages. There is place for masterminds which know why 'big bad wolf' is correct but 'old good times' is not. It is okay, but this people shouldn't be chosen for same kind of tasks.

    C is great, C++ also and Rust sounds like hard love, but still love. Any of them could be great for little scraping from text file, but Python require less time to learn and difference in speed isn't that significant. It is problem when you don't chose right tool for your job and don't want to progress in your job and it is true for each profession.
  • 6
    @Omnisus C is easy enough precisely because it doesn't have tons of features. In my last rant, I encountered an example where some text data processing done in PHP crashed after 1.5 hours without delivering the result. I was able to speed up the data processing by FIVE ORDERS of magnitude in C, down to 40 milliseconds - without crash.

    Most of that wasn't PHP vs. C, but PHP programmer vs. C programmer. I think it should have been possible to do that in PHP in under 10 seconds, but the PHP programmer would have needed to understand what's actually going on under the hood. Which he didn't.
  • 2
    @Fast-Nop True that. Even if you start as PHP programmer you should express desire to learn what is under hood. You could still program in PHP but unleash its full potential by knowing what you do 😃
  • 2
    Quality rant 👌
  • 3
    @Omnisus @irene exactly!

    In my previous job I had to clean up after such a design patterns lover.

    There were classes for simple things like the primary key in a PostrgreSQL table. Plus Visitor and Factory.
    I substituted that bunch with a simple size_t.

    Design Patterns are great as a starting point to have an idea of how to solve very complex problems with clean and maintainable code.
    But if you use them for everything, more or less copy&paste from the book, you achieve the opposite.
  • 3
    @Yamakuzure High-Tower-Languages can go surprisingly fast if you know what's under the hood and can use that information well, though. I'm sure you would call Python a High-Tower-Language, I recently helped someone speed up her data processing in Python by orders of magnitude and have much better asymptotic performance guarantees by the simple method of replacing lists with dictionaries (hashtables) in a critical bottleneck. O(n) vs sort-of-O(1) searching. Now it's so damn fast that it makes no sense to gain a tiny bit of extra speed by redoing it in C++.

    Edit: @Fast-Nop we seem to have similar stories xD
    I suspect your PHP programmer was also doing something similar (bad algorithm/DS)?

    Of course this is heavily situation and language dependent, but I'll still say that high-level languages can be quite fast in the hands of those willing to (or having the time to) optimize.

    Again, situation dependent and in general I agree with you.
  • 2
    @Fast-Nop sorry, just read your rant and couldn't edit my comment because it went over the time limit.

    Similar, yes.
  • 3
    @RememberMe nope, Python is just interpreted.
    "High-Tower" is, when you use a Framework, that itself uses abstraction Layers on several other Frameworks.
  • 3
    https://tonsky.me/blog/...
    Here is something really insightful.
  • 2
    @themissingbrace wow, just wow! Couldn't agree more!
    Great link, thank you very much!
  • 0
    Thank you for sharing!
Add Comment