Real Programmers

Discussion in 'Off Topic' started by ChatIndia, Nov 2, 2011.

  1. ChatIndia

    ChatIndia Community Advocate Community Support

    Likes Received:
    Trophy Points:
    Is it ture? :confused::wink:
  2. essellar

    essellar Community Advocate Community Support

    Likes Received:
    Trophy Points:
    "Real programmers" are Mel.

    Most of what's listed in your posting is what we'd consider "antipatterns" of programming (things one does that are antithetical to good practice). The problem, of course, is that there have been so many different versions of "best practices" in different environments over the years that almost every real "real programmer" can find one or two things on the list to agree with (and a few more that are deeply and personally insulting).

    For instance, I prefer dynamically and weakly typed languages that permit a good deal of functional programming. That is to say that I want the code that I write to be as versatile as possible -- a variable will contain precisely what I put into it, and that may mean a number at one point, a string at another, or an object representing the sum total of all of the data I have about a particular user, and the same bit of code ought to be able to handle it ("the same code" being a rather superficial grammar which hides away some rather hairy abstractions at a much lower level). And I want my code to be able to write its own code when it has to. (Lisp, as it happens, is one of the best languages for writing code of that sort, even if it does mean dangerously depleting the world's supply of parentheses. JavaScript, and to a lesser extent, PHP and VBScript, also allow such shenanigans, but since they're often used by novice programmers, a lot of the example code you'll find in the wild is, um, less than admirable.) There are severe dangers attached to that mode of programming, though, and it's not something I can hand over to a complete novice for maintenance.

    For that reason, other people prefer statically and strongly typed languages (a variable can only ever contain a value type that it was specifically declared to contain somewhere in the code). There are no surprises, and it's easy to catch potential mistakes in the compiler or editor -- but for a system that going to be large and complex, it means there will be a lot more moving parts to keep track of. So you gain safety and provability at the expense of (programmer-facing) complexity.

    There is one universal truth in the list, though -- real "real programmers" don't trust floating point numbers as far as you can toss a bull elephant left-handed.

Share This Page