Author Topic: "Software disenchantment"  (Read 2357 times)

0 Members and 1 Guest are viewing this topic.

Mark

  • Custom Title
  • Seagull
  • Posts: 28762
"Software disenchantment"
« on: September 25, 2018, 10:28:33 AM »
Quote
Only in software, it’s fine if a program runs at 1% or even 0.01% of the possible performance. Everybody just seems to be ok with it. People are often even proud about how much inefficient it is, as in “why should we worry, computers are fast enough”:
http://tonsky.me/blog/disenchantment/
TheSwamp.org  (serving the CAD community since 2003)

MickD

  • King Gator
  • Posts: 3636
  • (x-in)->[process]->(y-out) ... simples!
Re: "Software disenchantment"
« Reply #1 on: September 25, 2018, 05:17:11 PM »
I wholeheartedly agree, I think the main problem stems from frameworks, no one writes 'algorithms' or routines anymore. Instead of building a routine with a hand built or standard library stack or dictionary they will troll the web looking for a package or framework that says it fits the bill.
Sure, you save yourself a few hundred lines of code but you injected 1000's more that you will never use and is possibly full of bugs! Not to mention the time to learn the framework and doc's, there's added maintenance of dependencies and updates/upgrades.

"Programming is really just the mundane aspect of expressing a solution to a problem."
- John Carmack

"Short cuts make long delays,' argued Pippin.”
- J.R.R. Tolkien

Lee Mac

  • Seagull
  • Posts: 12912
  • London, England
Re: "Software disenchantment"
« Reply #2 on: September 25, 2018, 05:42:46 PM »
^^ I couldn't agree more...

This comes to mind:
https://media.giphy.com/media/8fjedJmOkkcTu/giphy.gif

JohnK

  • Administrator
  • Seagull
  • Posts: 10626
Re: "Software disenchantment"
« Reply #3 on: September 26, 2018, 08:12:39 AM »
Yep, agree. I got a kick out of the text editor rant.

I'm reminded of a slew of Theo de Raadt's quotes but I suppose this one would be a good summary.
Quote from: Theo de Raadt
Our solutions provide something that is 100% right, all the time. That is the idea. The cobbled together gunk never does [...] It's unfortunate the application-level people are all caught up in cobble, cobble, cobble and just never learn how to evolve.

https://en.wikiquote.org/wiki/Theo_de_Raadt
TheSwamp.org (serving the CAD community since 2003)
Member location map - Add yourself

Donate to TheSwamp.org

rkmcswain

  • Swamp Rat
  • Posts: 978
Re: "Software disenchantment"
« Reply #4 on: September 27, 2018, 09:18:06 AM »
Quote from: Lee Mac
^^ I couldn't agree more...

This comes to mind:
https://media.giphy.com/media/8fjedJmOkkcTu/giphy.gif

That GIF is missing some frames at the end. You know, the part where the plug explodes and the whole thing burns.....

dgorsman

  • Water Moccasin
  • Posts: 2437
Re: "Software disenchantment"
« Reply #5 on: September 27, 2018, 10:12:11 AM »
Hmmm... dissenting opinion here.  Had to stop reading after a quick browse.  Too much expectation of everything being perfect (or at least, perfect according to the poster), and some selective analysis.  Yes, "frameworks" might be considered lazy, and give a lot more than is normally used.  However, something purpose built from the ground up will more than likely need updating or maintenance; for complicated ones that leads to abandonware.  If every programmer takes the time to make their own "framework" they'll not only have much less time to work on the *actual* program, but there will be huge variances between program operation (right-click vs. left-click, for example).  There *is* a valid reason why frameworks like DirectX came to be.

That's not an argument for programmers being lazy though.  Hack'n'slash/copy-paste code writing should be avoided.  Those writing code should understand what they are trying to achieve, rather than getting others to do the legwork for them then proclaiming how awesome they are.
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}