Slashdot Mirror


What Are the Genuinely Useful Ideas In Programming?

Hugh Pickens DOT Com writes "Computer Scientist Daniel Lemire has had an interesting discussion going on at his site about the ideas in software that are universally recognized as useful. 'Let me put it this way: if you were to meet a master of software programming, what are you absolutely sure he will recommend to a kid who wants to become a programmer?' Lemire's list currently includes structured programming; Unix and its corresponding philosophy; database transactions; the 'relational database;' the graphical user interface; software testing; the most basic data structures (the heap, the hash table, and trees) and a handful of basic algorithms such as quicksort; public-key encryption and cryptographic hashing; high-level programming and typing; and version control. 'Maybe you feel that functional and object-oriented programming are essential. Maybe you think that I should include complexity analysis, JavaScript, XML, or garbage collection. One can have endless debates but I am trying to narrow it down to an uncontroversial list.' Inspired by Lemire, Philip Reames has come up with his own list of 'Things every practicing software engineer should aim to know.'"

5 of 598 comments (clear)

  1. It's not just about the concepts by Krishnoid · · Score: 4, Informative

    if you were to meet a master of software programming, what are you absolutely sure he will recommend to a kid who wants to become a programmer?

    Make it clear that 'mastery' of programming involves wisdom and experience beyond knowledge of techniques. My go-to example for this is Code Complete.

  2. Regular Expressions by Kohath · · Score: 5, Informative

    are the most useful thing I learned in the last 5 years.

    1. Re:Regular Expressions by cold+fjord · · Score: 4, Informative

      And then they code those regular expressions in Perl. Now they have three problems.

      --
      much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
    2. Re:Regular Expressions by cold+fjord · · Score: 4, Informative

      That makes them a good companion to Unix, which has the nature of a chainsaw. In skilled hands it makes short work of difficult problems. But if your attention wanders, your leg is gone without warning.

      --
      much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
  3. Re:Code Comments by UnknownSoldier · · Score: 1, Informative

    Comments should comment WHY, as in "work-around X because commit #123 made assumption Y"
    If I want to know HOW the code works you should be able to read the code. (Barring "tricky" optimizations of course.)

    I would also _proper_ naming of variables, not everything abbreviated without any vowels that won't make any sense in 6 months.

    Take the time to do it RIGHT the first time. 90% of the time on a job you are maintaining code, not writing new code.