Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Am I mad, or is there a need? - opinions?

Am I mad, or is there a need? - opinions?

Scheduled Pinned Locked Moved The Lounge
questiondata-structuresbusinesshelptutorial
23 Posts 12 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Danny Martin

    Hi Guys, I've replied to a few posts on here, but never started my own thread - so please be gentle... I'm at a loose end at the moment, and had an idea to fill my spare time: I'll write a book. I'm sure a few of you at least have had a similar idea, and some have probably gone on to actually do something about it, so I thought that for my first post I'd throw this one out there to get chewed on... I'm going to write a book about how to program (allows suitable pause for laughter / groans to die down). Not a "How to write better X", or "Y for halfwits" or other such bobbins, but something that will attempt to explain what a general programmer does on a day to day basis, and how the reader can learn some of these key skills. I've read a good few books on various languages in my twenty odd years in the business, and most of these books state in the prologue that the book is aimed at someone who doesn't know the language in question (understandably) but has a basic understanding of programming. Some very basic (or should that be BASIC) ones tell the reader that a variable is "a box you can store stuff in" and provide other, equally inane, analogies, but these introductory steps are usually geared towards the language the book is preaching / teaching. I don't want to teach a language, I'd like to teach the skill / art / craft (don't hate me!) of programming in general. As I see it, in order to do this I need to explain how computers work, what binary is, where data is held and how it's accessed, how the stack / program counter (showing my age) work, basic boolean logic and so on. I need to explain the breakdown of a problem, what a program looks like from a programmer's point of view compared to the computer's, how loops work (hence the PC above), how functions work (hence stack) and so on... Don't worry, I'm not going to be posting again in ten minutes asking "How do computers work?" So, my question is: Do you think this is viable? Can you teach someone how to program without actually teaching them a specific language (with the exception of pseudo, which I will need for "listings")? Are there things you think I should include, or omit, and why? I look forward to your replies... Danny

    D Offline
    D Offline
    David1987
    wrote on last edited by
    #21

    Danny Martin wrote:

    Do you think this is viable?

    TAOCP does this, well, a bit.. it contains a lot of stuff that definitely isn't day to day programming :) I think it could be done, programming is not about the language but about what you do with it.

    Danny Martin wrote:

    Are there things you think I should include, or omit, and why?

    I think you should definitely include bitwise math, not all the tricks of course (there are other books for that), but the basics. Bitwise math is a significant part of programming, and having extra "tools" to work with never hurts (as long as you know when to use them, anyway). And if you decide to write a bit about floating point, please don't tell people they represent Reals because that just isn't true. I've seen oversimplifications like that far too often (even some of my CS teachers said it), and they leave people wondering why they're getting "wrong" results, when it's really their expectations that are wrong. To properly explain loops, you need, IMO, some (pseudo) assembly. Something like if(cond) goto doesn't "solve" the problem because then you can't explain how if works. Feel free to disregard my advice though :)

    1 Reply Last reply
    0
    • D Danny Martin

      Hi Guys, I've replied to a few posts on here, but never started my own thread - so please be gentle... I'm at a loose end at the moment, and had an idea to fill my spare time: I'll write a book. I'm sure a few of you at least have had a similar idea, and some have probably gone on to actually do something about it, so I thought that for my first post I'd throw this one out there to get chewed on... I'm going to write a book about how to program (allows suitable pause for laughter / groans to die down). Not a "How to write better X", or "Y for halfwits" or other such bobbins, but something that will attempt to explain what a general programmer does on a day to day basis, and how the reader can learn some of these key skills. I've read a good few books on various languages in my twenty odd years in the business, and most of these books state in the prologue that the book is aimed at someone who doesn't know the language in question (understandably) but has a basic understanding of programming. Some very basic (or should that be BASIC) ones tell the reader that a variable is "a box you can store stuff in" and provide other, equally inane, analogies, but these introductory steps are usually geared towards the language the book is preaching / teaching. I don't want to teach a language, I'd like to teach the skill / art / craft (don't hate me!) of programming in general. As I see it, in order to do this I need to explain how computers work, what binary is, where data is held and how it's accessed, how the stack / program counter (showing my age) work, basic boolean logic and so on. I need to explain the breakdown of a problem, what a program looks like from a programmer's point of view compared to the computer's, how loops work (hence the PC above), how functions work (hence stack) and so on... Don't worry, I'm not going to be posting again in ten minutes asking "How do computers work?" So, my question is: Do you think this is viable? Can you teach someone how to program without actually teaching them a specific language (with the exception of pseudo, which I will need for "listings")? Are there things you think I should include, or omit, and why? I look forward to your replies... Danny

      D Offline
      D Offline
      DaveAuld
      wrote on last edited by
      #22

      Why don't you right something like this; Don't Tell Mum I Work on the Rigs: (She Thinks I'm a Piano Player in a Whorehouse)[^], a spin off based on being a computer programmer. (Maybe: Don't Tell Mum I'm a Computer Programmer she thinks I'm an unemployed burger flipper)

      Dave Find Me On: Web|Facebook|Twitter|LinkedIn


      Folding Stats: Team CodeProject

      1 Reply Last reply
      0
      • D Danny Martin

        Hi Guys, I've replied to a few posts on here, but never started my own thread - so please be gentle... I'm at a loose end at the moment, and had an idea to fill my spare time: I'll write a book. I'm sure a few of you at least have had a similar idea, and some have probably gone on to actually do something about it, so I thought that for my first post I'd throw this one out there to get chewed on... I'm going to write a book about how to program (allows suitable pause for laughter / groans to die down). Not a "How to write better X", or "Y for halfwits" or other such bobbins, but something that will attempt to explain what a general programmer does on a day to day basis, and how the reader can learn some of these key skills. I've read a good few books on various languages in my twenty odd years in the business, and most of these books state in the prologue that the book is aimed at someone who doesn't know the language in question (understandably) but has a basic understanding of programming. Some very basic (or should that be BASIC) ones tell the reader that a variable is "a box you can store stuff in" and provide other, equally inane, analogies, but these introductory steps are usually geared towards the language the book is preaching / teaching. I don't want to teach a language, I'd like to teach the skill / art / craft (don't hate me!) of programming in general. As I see it, in order to do this I need to explain how computers work, what binary is, where data is held and how it's accessed, how the stack / program counter (showing my age) work, basic boolean logic and so on. I need to explain the breakdown of a problem, what a program looks like from a programmer's point of view compared to the computer's, how loops work (hence the PC above), how functions work (hence stack) and so on... Don't worry, I'm not going to be posting again in ten minutes asking "How do computers work?" So, my question is: Do you think this is viable? Can you teach someone how to program without actually teaching them a specific language (with the exception of pseudo, which I will need for "listings")? Are there things you think I should include, or omit, and why? I look forward to your replies... Danny

        J Offline
        J Offline
        Johnny J
        wrote on last edited by
        #23

        ...as a hatter! :laugh: But I think you should go ahead anyway. If nothing else, getting your book ready will give you a personal satisfaction even if it's not the big hit you'd think it ought to be. I know that from experience...

        Beidh ceol, caint agus craic againn - Seán Bán Breathnach
        -----
        Don't tell my folks I'm a computer programmer - They think I'm a piano player in a cat house...
        -----
        Da mihi sis crustum Etruscum cum omnibus in eo!
        -----
        Everybody is ignorant, only on different subjects - Will Rogers, 1924

        modified on Saturday, April 2, 2011 12:31 PM

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups