Live data from Hacker News

For Donald Knuth, good coding is synonymous with beautiful expression

quantamagazine.org

211–220 of 229 posts

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#211
post #67

Earlier quoted context omitted.

Interestingly a lot of the self-helpy books coming out recently say the opposite: that investing effort into improving strengths has a higher return than improving weaknesses.

I also heard that McKinsey adheres to that strategy when investing in training for their employees. Though that is only hearsay and it doesn't mean anything, they could also be wrong. But I think you are right when saying that the opposite approach also has a lot of followers right now.

I suspect what's best for an employer isn't necessarily the same as for an employee. Big employers want specialisation and obedience. That's fine while the demand is there but the narrower your specialisation the less the market needs to move to make you obsolete.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#212

> I write an average of five new programs every week. Poets have to write poems. I have to write computer programs. It seems more obvious now that I read it. A lot of programmers out there, including myself, are looking for ways to improve their skills and I never thought to myself to write more programs. And not just programs for the sake of programs, but programs that force you to explain to the computer that you u…

I have a folder named "proofs" on my machine which is just this. About 1500 and counting little programs that demonstrate or prove that something works some way or another. The class name expresses the proven fact. When I find out I am wrong, I change the name of the class to reflect the correct understanding. I read through the names in my IDE when I need to know some detail about something I've forgotten.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#213
post #57

Earlier quoted context omitted.

This is why it's important to identify your weaknesses. Once identified they are no longer weaknesses but areas to work on.

I've heard that it's better to leave weaknesses be and instead utilize your strengths. The reason is because if you just work on your weakness, you end up being just mediocre. What's your opinion on this?

It depends what they are. Early in my career I was told I was too introverted and I took that on board. Looking back I think should have told those people to fuck off.

That's a lot different from having a shallow understanding of some technology you use or not understanding your employers business that well.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#214
post #122

Earlier quoted context omitted.

You can write "meta" programs that help you maintain existing applications. Whenever I start at a new company, before I get thrown into the heart of things and become "too busy" to write these kinds of programs, I like to write things that automate the boring stuff. Some recent examples: - a cli for inspecting, adding comments to, and updating the status of JIRA tickets. because our hosted JIRA instance was god-awful…

> There are some companies full of engineers whose actual job is to write tools like this; I'm not sure what they would do for fun :P I think there are a lot of organizations that would be better served devoting more resources to the meta work given the labor and infrastructure costs. I would go out on a limb and say the capital expended on the majority of projects I've worked on in my career had a smaller ROI (becau…

I totally agree with you. I think that most corporations are in a state of suspended myopia.

We’d rather direct engineers to improve the effectiveness of a single system by 200% (even though it impacts 1% of revenue), than to impact all (or many) systems by 5%.

Yet, most of the impressive software we admire today was built in the environment you prescribe. C and UNIX, famously, but also git, Go, Rust. I imagine many others.

How much has C improved productivity, over Assembly and COBOL? How much has Borg or BigTable?

The issue, IMO, is that no ambitious manager wants to invest the social capital in defending and advocating for these teams, because they don’t look good until they look exceptionally good.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#215
post #71

> I write an average of five new programs every week. Poets have to write poems. I have to write computer programs. It seems more obvious now that I read it. A lot of programmers out there, including myself, are looking for ways to improve their skills and I never thought to myself to write more programs. And not just programs for the sake of programs, but programs that force you to explain to the computer that you u…

Something that I found useful is taking the concept of katas from martial arts. Writing the "same" program multiple times, but trying to refine the parts I didn't like in the previous iteration (e.g. try writing in less code, with smaller functions, with less libraries, in a more testable way, etc). It's specially rewarding to do this exercise with utility libraries, as it teaches you about the nuances one abstractio…

I think this is a really high value endeavor and efficient use of time. It's the same way great writers learn how to write and produce great works.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#216
post #166

Earlier quoted context omitted.

yes, its from Art & Fear. The Art of War is unrelated but also form an insightful fella. more focused on adversarial confrontations than Art & Fear though

So, I have now put /War of Art/ and /Art and Fear/ in my queue. I also have a physical of /Art of War/ somewhere. I'm assuming that is a different thing, though.

yes, it is. no idea why i read Art of War before :-)

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#217

Earlier quoted context omitted.

> is a program from December 2019 that "finds n-bit binary squares that are palindromic". No dis-respect for Donald Knuth (who of course I found orders and orders of magnitude above programmers such as myself) and no dis-respect to people that found those types of programs interesting, but there are also programmers (like me) for whom those programs are just simple riddles, with almost no interest whatsoever. They're…

Is this your way of saying you're a programmer not a computer scientist? Because his job is as a scientist. Calling his exercises simple riddles is disrespectful. It's like calling doing a 5km run every morning, simple walking. The proof is in the pudding, he has impacted the world in a profound way. But on a more positive note. Which non-cs programmer heroes exists today? I'm thinking John Carmack.

Yeah, of course I have never thought as myself as a computer scientist, I like my job/title as a programmer, I don't see any downside in that, manipulating data is fun.

I don't personally have "programmer heroes", maybe it's because I'm 39 years old and as such I haven't believed in cowboy-like programmers for almost a decade now. I did strongly believe though in what Aaron Swartz used to do and in what he used to believe, i.e. an open internet and open data for almost everyone, but that dream died in the late 2000s - early 2010s and I don't think we'll ever going to get close to anything like that ever again.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#218
post #166

Earlier quoted context omitted.

So, I have now put /War of Art/ and /Art and Fear/ in my queue. I also have a physical of /Art of War/ somewhere. I'm assuming that is a different thing, though.

yes, it is. no idea why i read Art of War before :-)

I don't think you were alone in that. I stared at it for a while making sure I had it right. :D

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#219
post #78

Earlier quoted context omitted.

What does it mean though? What programs? I can't write new programs at work where I maintain existing applications for the most part. What kind of programs, not for the sake of programs, can you actually write almost daily?

I find myself writing debugging tools all the time. For example, our logs are overwhelming because our developers use them for debugging and then never remove their logging statements. So finding anything in them is next to impossible, and it's often interleaved with a bunch of other junk that's meaningless to you. And fixing the logging system we use would to make this work better would also be a huge task. So a lit…

You might also try to get your QA process to require removal of debug print messages or at the very least an "off" flag as an environmental variable or config file element

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#220

> I write an average of five new programs every week. Poets have to write poems. I have to write computer programs. It seems more obvious now that I read it. A lot of programmers out there, including myself, are looking for ways to improve their skills and I never thought to myself to write more programs. And not just programs for the sake of programs, but programs that force you to explain to the computer that you u…

I have a folder named "proofs" on my machine which is just this. About 1500 and counting little programs that demonstrate or prove that something works some way or another. The class name expresses the proven fact. When I find out I am wrong, I change the name of the class to reflect the correct understanding. I read through the names in my IDE when I need to know some detail about something I've forgotten.

Could you give some examples? This sounds really interesting.
Post reply on HN