Slashdot Mirror


How Should a Non-Techie Learn Programming?

CurtMonash writes "Nontechnical people — for example marketers or small business owners — increasingly get the feeling they should know more about technology. And they're right. If you can throw up a small website or do some real number-crunching, chances are those skills will help you feed your family. But how should they get started? I started a thread with the question on DBMS2, and some consistent themes emerged, including: Learn HTML + CSS early on; Learn a bit of SQL, but you needn't make that your focus; Have your first real programming language be one of the modern ones, such as PHP or Python; MySQL is a good vehicle to learn SQL; It's a great idea to start with a project you actually want to accomplish, and that can be done by modifying a starter set of sample code (e.g., a WordPress blog); Microsoft's technology stack is an interesting alternative to some of the other technology ideas. A variety of books and websites were suggested, most notably MIT's Scratch. But, frankly, it would really help to get more suggestions for sites and books that help one get started with HTML/CSS, or with MySQL, or with PHP. And so, techie studs and studdettes, I ask you — how should a non-techie go about learning some basic technological skills?"

2 of 346 comments (clear)

  1. The tao of programming by Radres · · Score: 5, Funny

    Give someone a program, frustrate them for a day. Teach someone to program, frustrate them for a lifetime.

  2. Re:learn the standard way by interval1066 · · Score: 5, Funny

    High School/Jr.High

                    10 PRINT "HELLO WORLD"
                    20 END

    First year in College

                      program Hello(input, output)
                        begin
                              writeln('Hello World')
                        end.

    Senior year in College

                      (defun hello
                        (print
                          (cons 'Hello (list 'World))))

    New professional

                      #include
                    void main(void)
                      {
                        char *message[] = {"Hello ", "World"};
                          int i;

                          for(i = 0; i = 0) {
          while(defined($arg=shift(@ARGV))) {
              $outfilename = $arg;
              open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
              print (FILE $msg);
              close(FILE) || die "Can't close $arg: $!\n";
          }
      } else {
          print ($msg);
      }
      1;

    Experienced Hacker

      #include
      #define S "Hello, World\n"
      main(){exit(printf(S) strlen(S) ? 0 : 1);}

    Seasoned Hacker

      % cc -o a.out ~/src/misc/hw/hw.c
      % a.out

    Guru Hacker

      % cat
      Hello, world.
      ^D

    New Manager

      10 PRINT "HELLO WORLD"
      20 END

    Middle Manager

      mail -s "Hello, world." bob@b12
      Bob, could you please write me a program that prints "Hello, world."?
      I need it by tomorrow.
      ^D

    Senior Manager

      % zmail jim
      I need a "Hello, world." program by this afternoon.

    Chief Executive

      % letter
      letter: Command not found.
      % mail
      To: ^X ^F ^C
      % help mail
      help: Command not found.
      % damn!
      !: Event unrecognized
      % logout

    --
    Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'