TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Favouring tools is bad engineering (2018)

23 点作者 _samjarman将近 4 年前

13 条评论

laserbeam将近 4 年前
This is abstract enough to be mostly useless, but concrete enough to piss off everyone who has had success using certain tools. Even the mechanical engineering argument has the counterexample of equivalent but differebt pieces of CAD software used to design a bridge.<p>&quot;You shouldn&#x27;t like things&quot; is an absolutely horrible piece of advice. Especially when presented vaguely... Especially when becoming productive in software involves displaying the grit of constantly solving small problems that arise day to day within the tools everyone uses.<p>Having a preference is a perfectly natural shortcut to productivity, and not a sign of poor engineering. There are dozens of other things we can improve as a community of software engineers which would actually make software better, faster, easier to debug, more maintanable.
rualca将近 4 年前
&gt; I want to go even further than this. I want to say its bad engineering to even like a technology or tool.<p>This assertion is pure nonsense. To really believe in that, first you need to somehow believe that hard technical requirements like availability of technical features is something that does not exist.<p>Afterwards, it requires you to believe that different levels of proficiency with a tool has absolutely no impact on productivity.<p>I mean, what does the author think that &quot;favourite&quot; means in this context?<p>Even though it&#x27;s important to review technical choices, let&#x27;s not fool ourselves into believing that all tools are equivalent and that different levels of mastery and experience have zero impact on performance and turnaround time.
评论 #27947451 未加载
ahmedalsudani将近 4 年前
There is a kernel of truth in the post, but the mental rigidity makes it impossible to take seriously.<p>Sometimes you need to standardize on one tool, and sometimes you don&#x27;t want to do a study on what the best tool is--you just use what you know.<p>Choose your battles.
justin_oaks将近 4 年前
Hyperbole abounds. What the author means by &quot;bad&quot; engineering is that it&#x27;s &quot;not 100% optimal&quot; engineering.<p>It&#x27;s hard to take this article seriously. The message would be better without the exaggeration and strong tone.
quanticle将近 4 年前
The article may as well say, &quot;Being human is bad engineering.&quot; People are, for better or worse, going to have experiences with tools. These experiences will color their perceptions of the tool and their willingness to use the tool for future projects. Personally, I like Typescript. I&#x27;ve had nothing but good experiences with it. But I also know of other people who dislike Typescript because it was foisted upon them by a senior developer (who presumably also had good experiences), and it turned into a morass of build-time complexity.<p>Heck, it&#x27;s not just software tools. Some of my friends once got into a <i>heated</i> argument over whether adjustable crescent wrenches were ever acceptable to use. One side was saying, &quot;Crescent wrenches just round off the nut and ruin the part in the long run,&quot; while the other side was saying, &quot;Yeah, but we can&#x27;t haul a 100-piece mechanics tool set everywhere we go.&quot;<p>People are going to be people. They will have likes, dislikes and strongly held opinions about their tools. Saying, &quot;its bad engineering to even like a technology or tool&quot; is tantamount to saying, &quot;it&#x27;s bad engineering to be human&quot;.
fierro将近 4 年前
Eh. There&#x27;s nothing wrong with using tool or a stack you&#x27;re familiar with and know you can execute well on. It may not be optimal, but it&#x27;s certainly not always bad to reduce uncertainty.
tester756将近 4 年前
&gt;Sure, I find Swifts syntax pleasant, or readable, or maintainable. But at the end of the day, I’ll use it when it’s the best possible way to solve a problem.<p>Yea, I too know people who have tendency to pick random stack that 2 devs are &quot;proficent&quot; (including him&#x2F;her) when the rest of whole company has 0 experience in it<p>&gt;It’s fine to dive deep and master a technology, but the best engineers or developers don’t have a tool name in their title. Senior Java Developer sounds as ridiculous as Senior PVC Pipe Plumber. The best start with the problem and find the best solution for it.<p>the difference is that Java&#x27;s environment with all its quirks and stuff - jvm, GCs, graalvm (I don&#x27;t do Java, so idk) and stuff is 1000 times more complex than PVC Pipe<p>I do wonder if you&#x27;d say<p>&gt;Senior Linux Kernel maintainer sounds as ridiculous as Senior PVC Pipe Plumber<p>I do agree that the best people aren&#x27;t people of one stack.
rnantes将近 4 年前
Hard disagree. By this logic we’d still be writing COBOL. Yes, switching tools has an inherent cost associated but, you must calculate what makes sense for your team. Not everything is relative, some tools are simply better than others.
justicezyx将近 4 年前
Definitely agree with the spirit of the article. Favoring tool or anything without concrete reasoning is laziness in thinking. Note that this is different from choosing established convention for solving minor issues without much investigation. In cases of minor problems, the consensus is that they are simple enough to justify common tools, there is no process involving favoring tools or certain solutions in the process...
d3nj4l将近 4 年前
Others have already made great points about why this is a weird argument to make (and almost feels like it&#x27;s mean to rankle the crowd here and get us to react, but you got me, too, I guess), but I hate it for one very big reason: it makes engineers into robots who only do things to optimise, leaving no room for creativity or joy. Most poeple here may not like thinking about it that way (or even agree), but writing code is about lot more than just solving a bunch of constraints, it involves tons of creativity and passion. The best bits of code made me feel like I added something <i>beautiful</i> or <i>elegant</i> to the world, and on the flipside when I have no choice over <i>how</i> I&#x27;d do things I&#x27;m miserable writing code. We&#x27;re all humans, and we should do things we like, as much as possible.
throwawayswede将近 4 年前
This is possibly a perfect example of a faulty&#x2F;unwarranted generalization.<p>Everyone has a little bias. It&#x27;s not necessarily bad or wrong.
adrianN将近 4 年前
That kind of depends on the reasons for favoring some tools over others.
mem0r1将近 4 年前
I couldn&#x27;t disagree more. Liking and mastering a particular technology stack, tool or programming languague enables productivity and efficiency.