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.
  • J Jason Hooper

    I was initially excited reading the first few lines of your post, thinking this would be a book about an average day in the life of a professional programmer. Nothing to do with syntax or algorithms or design patterns but the actual life of a professional programmer. I have been doing it professionally for years but only see through my own eyes and work with members on my own team, which is "geographically dispersed". It would be nice to know what the profession looks like through someone else's eyes, what experiences you go through on a day-to-day basis, the trials and tribulations of working on your team, etc. When it turned out to be just another book about what programming is and how to do it, I lost interest... way too many of those already. Now I feel like writing a book... thanks a lot :)

    Jason

    D Offline
    D Offline
    Danny Martin
    wrote on last edited by
    #7

    Glad I inspired you - and when you go to print, send me a copy ;P I don't want to write a stuffy "how to program" book, I do want to inspire people to write software, I want them to know what it's like to be able to get a computer to do what "you" want it to do, it's what got me going back in the late eighties. I don't want to talk about "Cubical Size Envy" or proximity to the coffee machine (which is where your book could come in ;)), but knowing how a guy breaks down a problem (as I said in my original post) and how they move on from there is a key topic that needs to be addressed. Thanks for your post, and I wish you luck... Danny

    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

      G Offline
      G Offline
      gavindon
      wrote on last edited by
      #8

      my one suggestion as a newbie, I have recently read LOTS of books of various levels of difficulty. The one thing I think for beginners is relevance. By this I mean chapter one covers variables, chapter two covers arrays and chapter three covers classes. How does a variable fit in a class for a total beginner? The books I have like the best are ones that instead of doing random examples for each chapter.. will take one project for the entire book for the most part.. and work it in stages. That way chapter one is directly relevant to chapter 7. The arrays built in chapter two fit directly into the class in chapter three etc... Make it an interesting project. Not another piece of software that crunches numbers but instead one that does something totally useless, but interesting and cool to a beginner to say "hey look what I did". Something a kid can show his parents or friends, or an older guy(like me) can show his wife and say "LOOK I accomplished something that's visible and cool". Even if it ends up a simple jeep rolling across the screen graphics program or some crud, its something that's visible and can be seen in action rather than "look I put in this number and got out this one" The point is not to show them how to make a specific high level program but to show them the basics of programming in a fun way.

      Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning.

      D 1 Reply Last reply
      0
      • D Danny Martin

        Thanks Henry, and I agree that they probably don't want to know, that's not "what it says on the box". But to understand software development (and again this in general, not a specific language) it helps to know the basics. Binary is necessary for basic logic, how would you explain the concept of 'AND' without binary? I know what you are saying, and agree that you can't teach hardware architecture to a wanabe softy, but a basic understanding of how a box stores and manipulates data is sort of important. It's a tricky balance to explain the relationship between the underlying hardware and the human readable text that ultimately controls it. I know it will be a challenge, but isn't that what us softies thrive on? Danny

        H Offline
        H Offline
        Henry Minute
        wrote on last edited by
        #9

        Danny Martin wrote:

        I know it will be a challenge, but isn't that what us softies thrive on?

        That's why I said I think you should write it anyway. Logical operators can be explained with analogies but that will not really do it for bitwise ones, so binary has to be there somewhere. I shudder at the thought of trying to explain one's and two's compliment in a 'fun' way. Good luck if you think you can though. :)

        Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.” I wouldn't let CG touch my Abacus! When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.

        D 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

          Mike HankeyM Offline
          Mike HankeyM Offline
          Mike Hankey
          wrote on last edited by
          #10

          There's a certain portion of the programming community that only needs to learn 2 things; 1) How to do a google search 2) How to spell "Send Code Please" and not text speak it.

          Semper Fi http://www.hq4thmarinescomm.com[^]
          www.jaxcoder.com[^] WinHeist

          D 1 Reply Last reply
          0
          • G gavindon

            my one suggestion as a newbie, I have recently read LOTS of books of various levels of difficulty. The one thing I think for beginners is relevance. By this I mean chapter one covers variables, chapter two covers arrays and chapter three covers classes. How does a variable fit in a class for a total beginner? The books I have like the best are ones that instead of doing random examples for each chapter.. will take one project for the entire book for the most part.. and work it in stages. That way chapter one is directly relevant to chapter 7. The arrays built in chapter two fit directly into the class in chapter three etc... Make it an interesting project. Not another piece of software that crunches numbers but instead one that does something totally useless, but interesting and cool to a beginner to say "hey look what I did". Something a kid can show his parents or friends, or an older guy(like me) can show his wife and say "LOOK I accomplished something that's visible and cool". Even if it ends up a simple jeep rolling across the screen graphics program or some crud, its something that's visible and can be seen in action rather than "look I put in this number and got out this one" The point is not to show them how to make a specific high level program but to show them the basics of programming in a fun way.

            Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning.

            D Offline
            D Offline
            Danny Martin
            wrote on last edited by
            #11

            A very good point, and one of the main reasons I posted on here. With the proposed format (ie general programming savvy and not a specific language / project), the reader would only gain knowledge from the book - not experience or, if you like, a 'result'. There would be no 'certificate' at the end it, nothing to "show off". I've though long and hard about this, I've thought about HTML / Javascript (purely because you can do this with a text editor and browser, which everyone has without installing other software, or compiling, or going through a CLI), but this is not a good introduction to programming languages. You are right that it would be a lot easier to keep the reader's attention if they were working towards a goal and could demonstrate their new found skills, but what language do you pick? It's a tricky problem... A thought provoking post, and thanks for your input. This is not going to be a walk in the park! Danny

            G 1 Reply Last reply
            0
            • Mike HankeyM Mike Hankey

              There's a certain portion of the programming community that only needs to learn 2 things; 1) How to do a google search 2) How to spell "Send Code Please" and not text speak it.

              Semper Fi http://www.hq4thmarinescomm.com[^]
              www.jaxcoder.com[^] WinHeist

              D Offline
              D Offline
              Danny Martin
              wrote on last edited by
              #12

              I will put 1) on the cover, and bury 2) in an appendix... Possibly in Arabic. Danny

              Mike HankeyM 1 Reply Last reply
              0
              • H Henry Minute

                Danny Martin wrote:

                I know it will be a challenge, but isn't that what us softies thrive on?

                That's why I said I think you should write it anyway. Logical operators can be explained with analogies but that will not really do it for bitwise ones, so binary has to be there somewhere. I shudder at the thought of trying to explain one's and two's compliment in a 'fun' way. Good luck if you think you can though. :)

                Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.” I wouldn't let CG touch my Abacus! When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.

                D Offline
                D Offline
                Danny Martin
                wrote on last edited by
                #13

                Hell, I'm up for it! (that is until the next 6 month floating spec comes along)

                1 Reply Last reply
                0
                • D Danny Martin

                  I will put 1) on the cover, and bury 2) in an appendix... Possibly in Arabic. Danny

                  Mike HankeyM Offline
                  Mike HankeyM Offline
                  Mike Hankey
                  wrote on last edited by
                  #14

                  :laugh: :laugh: I think you'll do alright.

                  Semper Fi http://www.hq4thmarinescomm.com[^]
                  www.jaxcoder.com[^] WinHeist

                  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

                    G Offline
                    G Offline
                    GenJerDan
                    wrote on last edited by
                    #15

                    And do concurrent videos of the process. Sell the book, but have the videos freely available (enclosed DVD + YouTube).

                    There is water at the bottom of the ocean. My Mu[sic] My Films My Windows Programs, etc.

                    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

                      RaviBeeR Offline
                      RaviBeeR Offline
                      RaviBee
                      wrote on last edited by
                      #16

                      Danny Martin wrote:

                      Can you teach someone how to program without actually teaching them a specific language

                      Yes.  Imho, this is the best way to teach someone how to program, because it forces them to learn how to think like a CPU.  Imho, all you need are a few basic mathematical instructions, a few control structures, and the ability to input and output a number.  I used this technique with much success (and enjoyment by my students) when I taught freshman CS 101 in the early 80s. /ravi

                      My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                      1 Reply Last reply
                      0
                      • D Danny Martin

                        A very good point, and one of the main reasons I posted on here. With the proposed format (ie general programming savvy and not a specific language / project), the reader would only gain knowledge from the book - not experience or, if you like, a 'result'. There would be no 'certificate' at the end it, nothing to "show off". I've though long and hard about this, I've thought about HTML / Javascript (purely because you can do this with a text editor and browser, which everyone has without installing other software, or compiling, or going through a CLI), but this is not a good introduction to programming languages. You are right that it would be a lot easier to keep the reader's attention if they were working towards a goal and could demonstrate their new found skills, but what language do you pick? It's a tricky problem... A thought provoking post, and thanks for your input. This is not going to be a walk in the park! Danny

                        G Offline
                        G Offline
                        gavindon
                        wrote on last edited by
                        #17

                        well, again this is personal opinion not one stinking fact to back it up, but I think it would be difficult to do a general knowledge book for beginners without just picking a language and walking through it. otherwise the beginner who has no clue what is going on, will not be able to have that visual aid in putting 2+2 or variable into a class. Now a general book that is more advanced for say..just out of beginner stage or so programmers or programmers that just graduated but have almost no real world programming, that I could see being without a language but more into good practices, logic, algorithms. etc.. In fact I wouldn't mind one of those myself.. lol stuff like that was seriously lacking in my education and I'm learning it here and in practice.

                        Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning.

                        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
                          Dr Walt Fair PE
                          wrote on last edited by
                          #18

                          Danny Martin wrote:

                          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")?

                          In the first programming course I took back in about 1967, our first project was to write an algorithm for a person to sharpen a pencil. (Remember, those wooden sticks with graphite in the middle?) Then, each person had to read their algorithm while a classmate executed exactly what was said, no more, no less. It required no programming language and drove home the point about designs, paying attention to details, and lots more!

                          CQ de W5ALT

                          Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software

                          G 1 Reply Last reply
                          0
                          • D Dr Walt Fair PE

                            Danny Martin wrote:

                            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")?

                            In the first programming course I took back in about 1967, our first project was to write an algorithm for a person to sharpen a pencil. (Remember, those wooden sticks with graphite in the middle?) Then, each person had to read their algorithm while a classmate executed exactly what was said, no more, no less. It required no programming language and drove home the point about designs, paying attention to details, and lots more!

                            CQ de W5ALT

                            Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software

                            G Offline
                            G Offline
                            gavindon
                            wrote on last edited by
                            #19

                            I have seen a similar one with bringing somebody a cup of coffee. from boiling the water to delivering the finished cup with cream and sugar. surprising enough to a lot of people, its quite a long process to describe compared to what most people first come up with.

                            Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning.

                            D 1 Reply Last reply
                            0
                            • G gavindon

                              I have seen a similar one with bringing somebody a cup of coffee. from boiling the water to delivering the finished cup with cream and sugar. surprising enough to a lot of people, its quite a long process to describe compared to what most people first come up with.

                              Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning.

                              D Offline
                              D Offline
                              Dr Walt Fair PE
                              wrote on last edited by
                              #20

                              gavindon wrote:

                              surprising enough to a lot of people, its quite a long process to describe compared to what most people first come up with.

                              Which leads right into a nice discussion of top-down design, bottom-up implementation.

                              CQ de W5ALT

                              Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software

                              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
                                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