Being Slow to Criticise

栏目: IT技术 · 发布时间: 4年前

内容简介:that deliberately killed the servers was an interesting idea. The programmer/engineer involved wasn't able to fix the underlying problem, so an overlay solution was devised that (a) worked, and (b) was feasible. The story I read had the details, and it was

This page has been

Tagged As Software and

Tagged As Story.
Monitoring software

that deliberately killed the servers was an interesting idea. The programmer/engineer involved wasn't able to fix the underlying problem, so an overlay solution was devised that (a) worked, and (b) was feasible. The story I read had the details, and it was an intriguing read.

But this post is not about that story. This post is about the comment made by one of the readers in the forum where I saw it. The comment was:

"You should just fix the real problem:
thesoftware is garbage."

I've met this before, both the situation of havingsoftware we can see is not up to current standards, and the attitude of those who look at it with the benefit not only of hindsight, but of 20 years of advances insoftware, toolkits, libraries, and hardware.

Related:

Although it's also seen and quoted in other contexts, there's a saying insoftware circles. People often come across code that looks overly complicated for the task it's doing, or the effect it's trying to achieve. But sometimes there's a reason for it to be that complex. Sometimes there are unexpected edge-cases and the code needs to be able to deal with it.

So the saying is:

"Don't ever take a fence down until you know the reason why it was put up," -- John F Kennedy, paraphrasing G.K.Chesterton.

This isn't a reason to leave things alone, and it should never be a thought-terminating cliché. It's a call to put in the time to understand something properly.

Sometimes there genuinely is no longer a reason for something, and sometimes there never was. What's important is understanding.

But I try to be slow to jump to that conclusion, that thesoftware is garbage. So often there are reasons for things to be the way they are. Thesoftware tools and the hardware capabilities were very, very different in the aughties, and many people currently writing software

don't really seem to appreciate by just how much. Additionally, there might be time pressures, political pressures, engineering constraints, access problems, and more.

It may be the case that things could have been done differently, perhaps better, but then again, once you know the full story and the full context, maybe not.

Some time ago I wrote up a war story from the mid-nineties and had some currentsoftware people crap all over it. When I started to explain about the machine limitations of the time, the bluster increased, and among the replies I got was "Thesoftware was crap".

Ever since then I've been interested in the contexts for these stories. So often I hear "Well you shouldn't have done it like that!" rather than an enquiring:

"OK, let's assume some clever people wrote
this. I wonder what the pressures were that
made them come out with that solution."

I've learned a lot by approaching things that way, instead of assuming the people involved were ignorant, unskilled, idiots, or otherwise incompetent, and simply declaring:

Thesoftware was garbage.

You might be right, but equally, it may be that you haven't put in enough time to understand the realities.


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

动手玩转Scratch2.0编程

动手玩转Scratch2.0编程

马吉德·马吉 (Majed Marji) / 电子工业出版社 / 2015-10-1 / CNY 69.00

Scratch 是可视化的编程语言,其丰富的学习环境适合所有年龄阶段的人。利用它可以制作交互式程序、富媒体项目,包括动画故事、读书报告、科学实验、游戏和模拟程序等。《动手玩转Scratch2.0编程—STEAM创新教育指南》的目标是将Scratch 作为工具,教会读者最基本的编程概念,同时揭示Scratch 在教学上的强大能力。 《动手玩转Scratch2.0编程—STEAM创新教育指南》共......一起来看看 《动手玩转Scratch2.0编程》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具