Live data from Hacker News

Torvalds' quote about good programmers

programmers.stackexchange.com

71–80 of 108 posts

Re: Torvalds' quote about good programmers

#71
This article was posted here a while ago:

http://www.dodgycoder.net/2012/07/old-school-developers-achi...

It mentions that Ken Thompson "starts his projects by designing the data structures and then works bottom up".

Adapting this approach solved several problems I was having during development.

Re: Torvalds' quote about good programmers

#72
post #40
post #35

Earlier quoted context omitted.

"This is approximately the same reason as why I start out writing most of my programs by creating a bunch of types, and why I find dynamic programming languages uncomfortable to use." Classes. There are your types. Python has them. Ruby has them. Javascript has them. . . .

If you can't see see the qualitative difference between algebraic data types and Javascript classes, there's no point discussing things.

Precisely. If you think that classes are all that you are ever going to need then you should read up on the Expression Problem

http://c2.com/cgi/wiki?ExpressionProblem

Re: Torvalds' quote about good programmers

#73
post #30

Algorithms + Data Structures = Programs A 1976 book written by Niklaus Wirth, designer of Pascal http://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_...

... and then there is user interface, debugging, support for various formats, documentation, and other mostly boring stuff.

Re: Torvalds' quote about good programmers

#74

This brings up a burning question that I have been pondering for a while. I still don't get how to properly design good APIs. I have been programming but as a scientific research not as a professional developer, and I have found I cannot remember how to use my code a day after writing that code. Take my current project as an example. I have some samples, each of which are observations along a sequence of non-overlapp…

How do you name things? From your text ("I have a segment defined as a pair of start and end position plus its observation, a sample as a vector of segments, and all samples as a dictionary of samples") it seems you have a lot of different names for different things. Decide what names are important and which ones aren't (the "vector" and "dictionary" probably aren't).

Eric Evans wrote a big book called Domain-Driven Design about these things, but his advice basically boils down to this.

Re: Torvalds' quote about good programmers

#75

Absolutely right. I was lucky enough to learn this in college. Although, I did not learn it from the CS professors but rather my physics prof. He was a champion for a language called APL and he actually cut a deal with the CS department to accept credits for taking an APL class he was teaching as a substitute for the FORTRAN class. APL was an amazing mind-opening experience. Throughout the APL 101 and 102 courses he…

Thank you, and you have just reminded me why I am liking the explosion of no-SQL stores - we have for a very long time been storing all our data in one factory design, with one, really flexible and powerful layout.

Being able to have a red black factory is rather nice. Although it does mean we now need to think carefully about what factory we shall need before even starting. And accepting occasionally moving the while factory three blocks over, during prodction

Re: Torvalds' quote about good programmers

#76

Absolutely right. I was lucky enough to learn this in college. Although, I did not learn it from the CS professors but rather my physics prof. He was a champion for a language called APL and he actually cut a deal with the CS department to accept credits for taking an APL class he was teaching as a substitute for the FORTRAN class. APL was an amazing mind-opening experience. Throughout the APL 101 and 102 courses he…

Thank you, and you have just reminded me why I am liking the explosion of no-SQL stores - we have for a very long time been storing all our data in one factory design, with one, really flexible and powerful layout.

Being able to have a red black factory is rather nice. Although it does mean we now need to think carefully about what factory we shall need before even starting. And accepting occasionally moving the while factory three blocks over, during prodction

Re: Torvalds' quote about good programmers

#77

Absolutely right. I was lucky enough to learn this in college. Although, I did not learn it from the CS professors but rather my physics prof. He was a champion for a language called APL and he actually cut a deal with the CS department to accept credits for taking an APL class he was teaching as a substitute for the FORTRAN class. APL was an amazing mind-opening experience. Throughout the APL 101 and 102 courses he…

Your prof was onto something that seems to be very in the zeitgeist today. To "understood how to represent your data" you have to understand what it is you're trying to represent. Eric Evans popularized this notion with Domain-Driven Design.

If you follow this line of thinking far enough, you realize that computer programming is just applied analytic philosophy. You have your metamodel (logic/programming language) and then you build your model (ontology/software).

I really like your assembly line metaphor. Knowing that a "customer" has a name and email address is almost of no importance compared to understanding how the "customer" information arrives, the actions around the "customer," and the end result of the actions. That's the assembly line.

Re: Torvalds' quote about good programmers

#78

I believe Rich Hickey believes in keeping data really simple and writing the code around that. Could someone explain this philosophy to me?

Watch "Simple made Easy" or something like that. I think there is no contradiction, Rich Hickey probably just thinks the least complex efficient data organization is the simple one. I don't think Rich Hickey is saying that you can't use AMQ's or other "fancy" stuff :)

Re: Torvalds' quote about good programmers

#79

This brings up a burning question that I have been pondering for a while. I still don't get how to properly design good APIs. I have been programming but as a scientific research not as a professional developer, and I have found I cannot remember how to use my code a day after writing that code. Take my current project as an example. I have some samples, each of which are observations along a sequence of non-overlapp…

Hi, I used to have a similar problem: seeing that when I do architectures they become difficult to maintain. Or difficult to talk about, to be honest, I don't understand your second paragraph :) What really helped me is the approach to program API-driven. Don't start with your algorithms but start with what kind of functions you probably need and what would be the easiest way to use them. (In fact this is not so far…

All good advice. Right now I only write out major tasks and outlines of procedures to achieve them. Maybe I first should abstract out core data structures and operations on them. I will try that.

Re: Torvalds' quote about good programmers

#80
post #74

This brings up a burning question that I have been pondering for a while. I still don't get how to properly design good APIs. I have been programming but as a scientific research not as a professional developer, and I have found I cannot remember how to use my code a day after writing that code. Take my current project as an example. I have some samples, each of which are observations along a sequence of non-overlapp…

How do you name things? From your text ("I have a segment defined as a pair of start and end position plus its observation , a sample as a vector of segments, and all samples as a dictionary of samples") it seems you have a lot of different names for different things. Decide what names are important and which ones aren't (the "vector" and "dictionary" probably aren't). Eric Evans wrote a big book called Domain-Driven…

I won't have time to read big books in foreseeable future, especially if they are not related to my core research areas. But I will try this and see what I can get out of it.
Post reply on HN