Live data from Hacker News

What is “good taste” in software engineering?

seangoedecke.com

191–200 of 245 posts

Re: What is “good taste” in software engineering?

#191
Principled engineering should be taken for granted. You can exercise it whether you are dealing with good taste or bad taste.

The reverse is not true; you cannot really exercise good taste whether you have good engineering or shitty engineering.

Bad taste can hamper engineering but not make it impossible; bad engineering renders taste moot.

Engineering serves taste, mainly.

Consider that something well-engineered can be entirely unnecessary and unwelcome.

Re: What is “good taste” in software engineering?

#192
post #86

> In other words, immature engineers are too inflexible about their taste. They know what they like, but they mistake that liking for a principled engineering position. I have come across this although I think quite experienced engineers can suffer from this kind of immaturity. Aeons ago I used to help friends with their Computer Science assignments. I remember the temptation to rewrite their code because I didn't li…

It helps to remember that all code is bad, including your own code, and that includes your best code. You can make it a bit better, but it's still bad, and one should feel bad if they judge someone else based on their code.

Re: What is “good taste” in software engineering?

#193

Earlier quoted context omitted.

I have another example. I have a '72 Dodge Challenger. I've taken the thing apart, and put it back together. I never cease to be surprised at how well-engineered it is in its simple, direct, and inexpensive solutions to making an amazing car. For example, consider the instruments. They run off of 5 volts, while the system voltage of the car is anywhere from 10-18 volts. How to get 5 volts? It has a sort of buzzer whi…

I think you've actually buried a much broader commentary on tolerances and complexity and interoperability in here, too. The mechanical-averaging voltage regulator worked for the design because it only had to work in the context of the specific model of car it was going into. It didn't have to produce 5v for any application that needs 5v; it just had to produce "5v" for the instruments in the '72 Dodge Challenger. Th…

You make a great point. With the Dodge regulator, I seriously doubt it was just for the Dodge Challenger. It was probably used across the entire Chrysler line, for years. Enough cars were built to totally justify its design. I don't know when semiconductor voltage regulators appeared in a single package.

In 1972, the electro-mechanical regulator was also likely far cheaper than a solid state one. The car didn't have a single transistor in it outside of the (rather expensive) radio. (There was an upgrade available for the ignition to make it "electronic" - it had one transistor!) The alternator of course had diodes in it.

The rough 5V also enabled the instruments to be made cheaper.

Re: What is “good taste” in software engineering?

#194

Earlier quoted context omitted.

I think you've actually buried a much broader commentary on tolerances and complexity and interoperability in here, too. The mechanical-averaging voltage regulator worked for the design because it only had to work in the context of the specific model of car it was going into. It didn't have to produce 5v for any application that needs 5v; it just had to produce "5v" for the instruments in the '72 Dodge Challenger. Th…

You make a great point. With the Dodge regulator, I seriously doubt it was just for the Dodge Challenger. It was probably used across the entire Chrysler line, for years. Enough cars were built to totally justify its design. I don't know when semiconductor voltage regulators appeared in a single package. In 1972, the electro-mechanical regulator was also likely far cheaper than a solid state one. The car didn't have…

I thought by 72 they were using the electronic ignition module instead of points? I thought MY72 was the year it was introduced even?

Re: What is “good taste” in software engineering?

#195
Names: Alan Kay, Ted Nelson, Douglas Engelbart, Dan Ingalls, Jef Raskin, Larry Tesler, Brenda Laurel, Bret Victor

Technologies: Erlang, Smalltalk(s), Lisp, Clojure, Query By Example, Programming By Demonstration, Logo

Hardware: Canon Cat, Xerox Alto/Star, Sketchpad, PDP-11, PERQ Workstation, SGI workstations, OLPC

Books: Computers As Theatre Second Edition, Computer Lib, "As We May Think" by Bush, Engelbart's 62' paper, Mindstorms by Seymour Papert.

Links:

https://worrydream.com/refs/Papert_1980_-_Mindstorms,_1st_ed...

https://archive.org/details/humaneinterfacen00rask

https://www.dougengelbart.org/mousesite/EngelbartPapers/Cont...

https://courses.cs.umbc.edu/471/papers/turing.pdf (for the AGI fuckheads)

Re: What is “good taste” in software engineering?

#196
I find a lot of these articles conflate two issues, which I have seen mentioned in some of the other comments.

1) There are objectively bad decisions that you can make regardless of "taste" or principles. If you search a list in O(n) for an items key, it is objectively worse than using a dictionary with O(1) search in most cases. It is not about taste or readability, there is a right way and a wrong way (or multiple right ways and multiple wrong ones).

2) Everything else is a matter of trade-offs. Map reduce or a loop? It depends entirely on performance requirements, what reads better in a specific scenario, maybe browser compatability or whatever but as long as the trade-offs are considered, I won't get bitchy to another Dev who decides that one is better than the other although I might disagree.

If something is wrong or the trade-offs haven't been considered though, that is a question of maintenance: do we care enough, is the performance bad enough, is the code visited enough to change it? In a lot of cases, the app will be deleted before it becomes a problem but it is still a question of trade-offs.

As someone said below, as long as someone has considered the "why" then its all fair game. I'm not sure that any of this is "taste" though.

Re: What is “good taste” in software engineering?

#198

>> Languages like Golang don’t contain map and filter at all, for principled reasons. Go is nice when working with other languages at the same time as there are few language specific things to remember. However, they really should add common things that exist in almost every other language (I'd argue map / filter would be good to have for instance). It isn't really easier if it is "simple" but unique to the language.

[dead]

Re: What is “good taste” in software engineering?

#199
post #86

> In other words, immature engineers are too inflexible about their taste. They know what they like, but they mistake that liking for a principled engineering position. I have come across this although I think quite experienced engineers can suffer from this kind of immaturity. Aeons ago I used to help friends with their Computer Science assignments. I remember the temptation to rewrite their code because I didn't li…

I think a big part of it is also moving your value system from the code to people and you'll make this migration naturally.

Any code can be made perfect, but what could you help the person across the table with to make it good enough and also improve their understanding given their priors. Making the code perfect will simply be a bridge too far for them (and generally just means coding it up to your level of incompetence anyway.)

Re: What is “good taste” in software engineering?

#200
post #194

Earlier quoted context omitted.

You make a great point. With the Dodge regulator, I seriously doubt it was just for the Dodge Challenger. It was probably used across the entire Chrysler line, for years. Enough cars were built to totally justify its design. I don't know when semiconductor voltage regulators appeared in a single package. In 1972, the electro-mechanical regulator was also likely far cheaper than a solid state one. The car didn't have…

I thought by 72 they were using the electronic ignition module instead of points? I thought MY72 was the year it was introduced even?

The electronic ignition was an option at the time.
Post reply on HN