Live data from Hacker News

Discipline Doesn’t Scale

sicpers.info

81–90 of 173 posts

Re: Discipline Doesn’t Scale

#81
post #66
post #61

Earlier quoted context omitted.

The key is that hardware has marketpreassure to become faster and faster. Software gets faster if there is market preassure (see gaming & financial). When the feature backlog is more important than performance that is obviously what is prioritized. You obviously can't work on everything.

The feature backlog is rarely more important than performance but you often see it being pushed ahead of nonfunctional concerns for presentational reasons.

That’s... something.

For the most part users or companies buy features, not performance. You can have the fastest software ever but if it doesn’t have the features I actually need to use it then, sorry, no dice.

If performance is one of your features then fair enough, but it’s not for a lot of software.

Re: Discipline Doesn’t Scale

#82
post #73
post #15

>but I do occasionally still hear people telling less-experienced developers that they should learn C to learn more about how their computer works. Your computer is not a fast PDP-11, all you will learn is how the C virtual machine works. Yes, this is wrong in that sense, but by learning C you learn how C works, and therefore how your computing systems, which are going to be C at some level because we live in Unix's…

Although I think learning C opens up your accessible domains of programming widely. I mean, if you know C it doesnt even take a weekend to learn (the basics of) CUDA. Or you can just buy an simple embedded system and do data aquisition easily. Also there is a reason C is often under the hood of other programming languages like Python, Tcl, and (I read on the internet) Julia, Ruby and Perl. I dont mean you can then wr…

> if you know C it doesnt even take a weekend to learn (the basics of) CUDA.

You mean, of CUDA kernel programming. The basics of CUDA as an ecosystem are not that much about a particular language and there are bindings for many languages.

Re: Discipline Doesn’t Scale

#84
Personally, I think Discipline is one of the things that separate “coders” from “engineers.”

This sounds like it’s really a treatise on “learning to build a house by making your own nails.”

Of course that won’t scale. Especially if most houses, these days, are prefab, and don’t use too many nails.

But learning how to stay out of flood plains, and selecting good prefab sources, is vital to being a builder. The first one is a fundamental discipline, that also applied to “make your own nails” building, while the second is unique to the new way we do things.

I like to write code that has a future. I want people to be able to take it over, so I use header documentation, and a consistent coding style.

I originally learned Machine Code (I started as an EE). I’ve written embedded operating systems and drivers.

A lot of what I learned, doesn’t apply to writing high-level application code in Swift (what I do nowadays), but it did give me the discipline to power through the “boring” stuff that is vital to writing good, maintainable, extensible code.

I think maybe there is a confusion between “discipline” (the type that manifests as patience, consistency, and craftsmanship), and “experienced inflexibility,” which is not always applicable (and sometimes, downright destructive, like old-fashioned C++ programmers refusing to use smart pointers).

Re: Discipline Doesn’t Scale

#85
> The performant is often not talked about in the same sentences as its usual companion species, the irrelevant.

What I find is that programmers I've worked with who have been the most preoccupied with performance always seems to have focused their optimizations in the least valuable areas. It's as if performance mania is directly correlated with a kind of architecture blindness.

Re: Discipline Doesn’t Scale

#86
post #66
post #61

Earlier quoted context omitted.

The key is that hardware has marketpreassure to become faster and faster. Software gets faster if there is market preassure (see gaming & financial). When the feature backlog is more important than performance that is obviously what is prioritized. You obviously can't work on everything.

The feature backlog is rarely more important than performance but you often see it being pushed ahead of nonfunctional concerns for presentational reasons.

I am actually interested in your context. Usually the return on investment analysis favors features over performance especially in a B2B environment.

Re: Discipline Doesn’t Scale

#87
post #83

> Back in my day, everybody knew “no Markdown around town” and “don’t code in an IDE after Labour Day” what the heck do those phrases mean?

No idea. According to Google these phrases only appear in this blog post. A strange kind of common knowledge.

Re: Discipline Doesn’t Scale

#88
post #73

Earlier quoted context omitted.

Although I think learning C opens up your accessible domains of programming widely. I mean, if you know C it doesnt even take a weekend to learn (the basics of) CUDA. Or you can just buy an simple embedded system and do data aquisition easily. Also there is a reason C is often under the hood of other programming languages like Python, Tcl, and (I read on the internet) Julia, Ruby and Perl. I dont mean you can then wr…

> if you know C it doesnt even take a weekend to learn (the basics of) CUDA. You mean, of CUDA kernel programming. The basics of CUDA as an ecosystem are not that much about a particular language and there are bindings for many languages.

Yes.

Re: Discipline Doesn’t Scale

#89

Personally, I think Discipline is one of the things that separate “coders” from “engineers.” This sounds like it’s really a treatise on “learning to build a house by making your own nails.” Of course that won’t scale. Especially if most houses, these days, are prefab, and don’t use too many nails. But learning how to stay out of flood plains, and selecting good prefab sources, is vital to being a builder. The first o…

Our contemporary corporate and social culture doesn't encourage or reward discipline. We produce mostly throwaway stuff that has to be released as soon as possible on the market, or else the company goes out of business. The incentives for craftsmanship and diligence are just not there.

Re: Discipline Doesn’t Scale

#90

Personally, I think Discipline is one of the things that separate “coders” from “engineers.” This sounds like it’s really a treatise on “learning to build a house by making your own nails.” Of course that won’t scale. Especially if most houses, these days, are prefab, and don’t use too many nails. But learning how to stay out of flood plains, and selecting good prefab sources, is vital to being a builder. The first o…

I don't think your worldview is inconsistent with the authors.

Software is one of the few areas where we can easily and rapidly change our tools and the medium we work with. To be professional in this field you must use that ability to systematically remove issues where possible.

To fall back on the mindset that being a good engineer means eschewing those safeguards and relying on discipline is more about image that outcome.

Post reply on HN