Live data from Hacker News

Principles are products of practice, not the reverse

alsado.ca

21–30 of 42 posts

Re: Principles are products of practice, not the reverse

#21

In software engineering, “principles” constitute a delicate and evolving synthesis of theoretical constructs and empirical lessons. They transcend the mere aftermath of triumphs, as posited by the author, to encapsulate the intricate tapestry woven by both successes and failures. The author posits that principles are the byproduct of success, but that’s simply not the whole truth. Principles, far from being dichotomo…

And then, there are the deeper principles, which are broadly applicable across diverse fields.

Examples:

- Permaculture design principle #1 - "Observe and Interact"

- Kanban principles, "Make work visible", "Everything in its place"

Re: Principles are products of practice, not the reverse

#22
post #7

The core thesis is "I believe principles should not stifle progress". It turns out that people can have very different kind of principles in mind. Some principles are primarily ethical, such as "Make our product work for people with disabilities, because it's the right thing to do". Some principles are primarily legal, such as "Encrypt data at rest and in motion, because we don't want compliance problems". Some princ…

I interpreted this post completely differently. I think it is talking specifically about design principles for code/systems. The core thesis appears to be "principles should be based on what works in practice, not what sounds good in theory."

Re: Principles are products of practice, not the reverse

#23

Well, if the phrase on the title is true for you, you are working with some really unprincipled principles. They shouldn't. Principles are something that guides practice. Like the principles of aerodynamics guided the evolution of the airplane even if they weren't fully known at the time. (And this example on the article is just wrong.) If you use the same word for something that is derived from practice (like best p…

This whole post could be a distinction without a difference. Like others say, it's a loop. The same could be better expressed as do what's pragmatic. Have principles that are formed from experience and apply them judiciously. Then we don't have to argue definitions or which is more important, etc.

Re: Principles are products of practice, not the reverse

#24

It is a moral principle that websites should mostly use HTML. This is not because it's the easiest way to build websites and certainly not because it's the best way to make lots of money. It's because it ensures everyone can use the same web and gives the user agent as much power as possible to act on the user's behalf.

> It's because it ensures everyone can use the same web and gives the user agent as much power as possible to act on the user's behalf.

Those aren't the principles underlying HTML, and I doubt Tim Berners-Lee was thinking about that at all when he designed HTML. Instead, he was trying to design a format which could be read by both machines and humans, which is why "semantic" HTML elements were introduced. In the end, LLMs were what allowed machines to understand web pages, not semantic HTML elements.

If we do want to make this about accessibility, anyone who has worked with screen readers knows that semantic HTML has failed on that front too. Screen readers rarely understand fancy elements. Instead we often have to create obscene DOM structures to get the reader to say something reasonable, which is at complete odds with the ideals of the semantic web.

Re: Principles are products of practice, not the reverse

#25
My ad hoc response would be that this is a question of maturity. In an unexplored area you have to experiment to find the principles that work. Once you have found them, you should use them, everyone rediscovering them on their own is probably a waste of time. On the other hand discovering something on your own can aid a deeper understanding, so maybe it is not too bad after all. And it provides an opportunity to reevaluate, maybe the environment has changed in such a way that the principles also have to change.

Re: Principles are products of practice, not the reverse

#26

The blog post would benefit greatly if it had some examples from the world of web dev. It's not very clear what kind of principles they are talking about.

The example given in the post was using s rather than semantic HTML elements. The motivation for the principle of using "semantic HTML elements" comes from the lofty ideals of the Semantic Web[0]. However, these principles didn't come from best practice. Instead, someone (Tim Berners-Lee) thought that it was a cool idea and tried to convince everyone of it without demonstrating that it could actually deliver on any o…

Thanks, I really didn’t get what they meant with the example they were using.

Out of curiosity why is writing everything as a single element type more ergonomic? I’ve not done frontend web dev in a while and using

and so on seems like it would be more ergonomic to express intent.

Re: Principles are products of practice, not the reverse

#27

I started off, from Day One, heavily structuring and documenting my code. These days, I don't even think about it, and my productivity is pretty much as good as you can get. Plus, I am the one that usually has to go back into my code, and maintain it, so I'm glad of that habit. "We are what we repeatedly do. Excellence, then, is not an act, but a habit." - Mis-attributed to Aristotle.

> These days, I don't even think about it When I read this, I assumed you meant "I don't even think about heavily structuring and documenting my code". And my intuition (after 14 yoe or so) is that this is correct. Heavy structure for a greenfield area is a premature optimization. And comments are only for expressing what can't be expressed using code or other tools. I'd say if you need _heavy_ comments you've chosen…

He is saying he developed structuring and documenting as a habit and now it is second nature and doesn't cost extra effort. And since he is the one maintaining the code and coming back to it he is the primary beneficiary and is doing his future self a favor with the extra details.

Re: Principles are products of practice, not the reverse

#28
I think the author's examples/analogies are strange and don't really fit with or support the author's point:

> The Wright brothers achieved flight before fully understanding the physics behind the airfoil,

> James Dyson learned what makes a great double cyclone vacuum only after building them,

> The bicycle was invented without an understanding of the mechanisms which maintain its balance.

The principles in question are physical, immutable laws of nature, and they are in fact the cause of success, not the byproduct of success. You can be ignorant of physics, but you can't ignore it, otherwise you'll end up injured or dead.

On the other hand, the principles of HTML semantics were just an invention of Tim Berners-Lee, not God. There's nothing stopping you from ignoring those principles. This follows from the quoted tweet: "they are often disregarded by developers and tools when producing markup and styling".

Re: Principles are products of practice, not the reverse

#29

Earlier quoted context omitted.

The example given in the post was using s rather than semantic HTML elements. The motivation for the principle of using "semantic HTML elements" comes from the lofty ideals of the Semantic Web[0]. However, these principles didn't come from best practice. Instead, someone (Tim Berners-Lee) thought that it was a cool idea and tried to convince everyone of it without demonstrating that it could actually deliver on any o…

Thanks, I really didn’t get what they meant with the example they were using. Out of curiosity why is writing everything as a single element type more ergonomic? I’ve not done frontend web dev in a while and using and so on seems like it would be more ergonomic to express intent.

The reason why it's so tempting to just use `` everywhere is that `` elements have very simple and predictable behaviour with regards to styling, composition and event handling.

Same cannot be said for a lot of other HTML elements, which often have bizarre and inconvenient rules when it comes to style-ability, or nest-ability.

Re: Principles are products of practice, not the reverse

#30
post #25

My ad hoc response would be that this is a question of maturity. In an unexplored area you have to experiment to find the principles that work. Once you have found them, you should use them, everyone rediscovering them on their own is probably a waste of time. On the other hand discovering something on your own can aid a deeper understanding, so maybe it is not too bad after all. And it provides an opportunity to ree…

> On the other hand discovering something on your own can aid a deeper understanding, so maybe it is not too bad after all

That is the take we globally landed on I think.

For instance students will be asked to prove known theorems, solve classic problems, literally reinvent the wheel. And sometimes realize it's all wrong and there's better approaches or more accurate theories.

Post reply on HN