Thread: who is self taught among u ppl?

  1. #16
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    Quote Originally Posted by laserlight View Post
    You should also learn it by other people's experience
    Ah, I see, I see what you are trying to do there. Throw us in a different loop!

  2. #17
    Registered User
    Join Date
    Oct 2010
    Posts
    45
    I am self-taughting myself.

    Unless your name is Charles Babbage, we are all gleaning off other peoples work on the computer. I feel that programming is more an art form than a science, putting it alongside such things as music or martial arts. You can work to be very, very good, but it is quite impossible to be the best.

    Someday I will be thrilled to reach moderately decent.

  3. #18
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by Incantrix View Post
    I feel that programming is more an art form than a science, putting it alongside such things as music or martial arts.
    Get that idea out of your head, otherwise you will only ever be - at best - a mediocre programmer.

    I realise that programming is often practiced as if it is an art or craft, but that sort of approach breaks down quite quickly as the program becomes larger, more complex, or effects of its failure become more critical. Given a choice, if someone you cared about needed a pacemaker, would you want that pacemaker to be controlled by software developed using an arty/crafty approach or a technically rigorous approach?

    One of the key considerations in developing quality software is a technically rigorous approach. Even to develop novel things - it is necessary to map novel ideas into a form that a computer (ignorant beast that it is) can reliably execute to deliver effects that you intend. That requires technical precision.

    I am not, in any way, suggesting that nothing in the world should be produced as an art or craft. But software is not one of them.


    Incidentally, as a practitioner of a martial art, I also disagree that martial arts are more art than science. The fact that well executed strikes, blocks, forms, and techniques can look like a dance relies on technical precision. Particularly at higher levels of expertise (dan ranks, etc).

    A similar observation is true for music: truly beautiful music has a technical precision as well as being artistically beautiful.
    Last edited by grumpy; 02-14-2013 at 03:31 AM.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  4. #19
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Unless your name is Charles Babbage, we are all gleaning off other peoples work on the computer.[/quote]
    Even if your name is Charles Babbage, you would still have built upon preliminary work.

    Quote Originally Posted by grumpy
    One of the key considerations in developing quality software is a technically rigorous approach. Even to develop novel things - it is necessary to map novel ideas into a form that a computer (ignorant beast that it is) can reliably execute to deliver effects that you intend. That requires technical precision.
    Technical precision can be part of mastery of a craft. Deciding between equally viable (at the point in time) design choices could be considered an art. Besides, even music can require technical precision, so...

    I think that "programming is an art/craft" versus "programming is a science" just creates false dichotomies. Perhaps we could say that programming is engineering
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  5. #20
    Registered User
    Join Date
    May 2010
    Posts
    178
    I don't see a problem with the notion of "self-taught" because we are taught or teach ourselves what we know through the process of learning. Any disinterest in learning and teaching (first or third person) has no value. I chose to educate myself through a university not just in programming a language but computer science altogether. In the end, I taught myself more than my education could ever have and university instead proved to be a demonstration that I can learn.

    I will not sub-thread into the merits of education but whether formally educated or "self-taught", the only things that matters is one's desire to learn and, if able to learn c++, wonderful.

  6. #21
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by laserlight View Post
    Technical precision can be part of mastery of a craft. Deciding between equally viable (at the point in time) design choices could be considered an art. Besides, even music can require technical precision, so...
    Indeed. The problem is a lot of people describe an activity as being an art or craft in order to excuse a lack of technical rigour.

    They lose the fact that great artists or craftsmen are also often great on the technicalities associated with their art or craft. Look at the work by da Vinci - beautiful, creative, imaginative, and executed with stunning technical precision.

    Quote Originally Posted by laserlight View Post
    I think that "programming is an art/craft" versus "programming is a science" just creates false dichotomies. Perhaps we could say that programming is engineering
    I agree with you on the false dichotomies.

    I view engineering and science as overlapping disciplines, and each would lose value without the other. Science is a discipline about building and organising knowledge in order to explain anything in the universe and make testable predictions. Engineering is a discipline of applying knowledge to design, build, and maintain technologies, structures, devices, machines, systems, materials, or processes for some purpose. Science and engineering are overlapping disciplines - and they affect, are affected by, or overlap with other disciplines (economics, arts, crafts, humanities ....).

    However, get into a discussion with an accountant about the need to shortcut engineering process to save costs, with a sales manager about the need to deliver a product to a schedule even if it is not ready, or with senior manager (or politician) who insists on cancelling a project because of political sensitivities, and you learn experts or practitioners in one discipline often lose sight of the importance of other disciplines. It is human nature.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  7. #22
    Stoned Witch Barney McGrew's Avatar
    Join Date
    Oct 2012
    Location
    astaylea
    Posts
    420
    Quote Originally Posted by Kuro Tensai View Post
    I'm reading accelerated c++ n tryin 2 teach myself c++, although english is not my native language. Is anyone here self taught? Was it hard? How long did it take 2 learn the language?
    Don't you think you'd learn English faster if you avoided butchering your words? If you simply replaced 'n', '2', and 'u' with 'and', 'to', and 'you', you wouldn't even be able to tell that it isn't your native language.

    I don't really know whether I'm 'self-taught' since I learned mostly from reading other peoples code, reading books/standards on programming and programming languages, writing code, and even discussing programming with others. I tried a few kinds of formal classes earlier on but they all seemed to teach crap. I'd say you learn the most from reading well-written code and good references, and avoiding the bad ones as much as you can.

    Also, learning languages isn't all there is to programming. It's fairly easy to learn a language, but learning to use it well is another story. Try learning a few languages that use different paradigms over a long period of time. I spent a lot of time learning the procedural paradigm with C, then when I got bored with that I moved on to learning the functional paradigm with Scheme. Now I'm bored with both so I'm learning Prolog.

  8. #23
    Registered User rogster001's Avatar
    Join Date
    Aug 2006
    Location
    Liverpool UK
    Posts
    1,472
    for my part i see a nice piece of code on the screen as a thing of beauty - the fact that same series of text acheives a technical goal does not make it any less pleasing artistically to me. A martial art may be called scientific - wing chun is often cited as so - but then with a martial art being something that is followed throughout life (ideally) then it becomes more of a striving for something more ephemeral than mere function - to the practicioner at least. But then i have known very eminent practicioners that completely dismiss the 'artistic trappings ' and 'kowtowing' or the 'art' certainly from one wing chun master i know and are outwardly only interested in the output - knocking people out - But they are still following that pursuit of perfection in technique and delivery, whether they like / realise it or not. - not many young boxers think about how subtle or sweet their ringcraft is - they just want to hit hard, but older ones / fans will wax lyrical.
    Last edited by rogster001; 02-15-2013 at 03:26 PM.
    Thought for the day:
    "Are you sure your sanity chip is fully screwed in sir?" (Kryten)
    FLTK: "The most fun you can have with your clothes on."

    Stroustrup:
    "If I had thought of it and had some marketing sense every computer and just about any gadget would have had a little 'C++ Inside' sticker on it'"

  9. #24
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    Quote Originally Posted by Incantrix
    I feel that programming is more an art form than a science, putting it alongside such things as music or martial arts.
    You are comparing an "act" with a "thing". If you replace "programming" with "code" you will see that this is not the case, not the case at all. If you also replace music with playing a music somebody else composed, you will see again that technique is the most important thing. I think that is what grumpy had in mind. A piece of code which is the end result of programming is evaluated purely how the machine can execute it. Nothing else. Music is purely evaluated on how beautiful it is.

    I am not saying code cannot be beautiful as writing in general can be. But that is like an added bonus. It cannot be compared to music where that its main purpose.

    For martial arts I don't think science or art is the main form in general. They have much more to do with reflexes and body precision than with imagination. Martial arts have unexpectedly a great artistic part, they are not just two people beating each other up, but fundamentally that part I believe cannot be compared with music.

  10. #25
    Registered User
    Join Date
    May 2003
    Posts
    1,619
    Quote Originally Posted by Kuro Tensai View Post
    I'm reading accelerated c++ n tryin 2 teach myself c++, although english is not my native language. Is anyone here self taught? Was it hard? How long did it take 2 learn the language?
    I've taught myself many programming languages, and studied others at school or for work; if you're asking specifically about C++, I was self-taught, though I didn't really fully grok OOP until after I took a course in Java, after which my C++ improved considerably. The first one or two languages are the most challenging, others tend to have so many similarities that they are acquirable much faster.

    That being said, there's no "how long" - learning to program is not a process that ends. Learning the language is the first step, not the final goal. Learning a programming language is to being a good programmer what learning a natural language is to being a good author. Every author of course must first begin by learning the language, but that's only the beginning of their journey - everyone on this forum can read and write English but we're not all great novelists.

    I've been programming for over 20 years (and have used about 15 languages over that time; I use 4 right now). I'm still getting better at what I do, and I'm still learning new things and refining my existing skills.

    Learning programming only ends when you decide you're not going to try to get any better.
    Last edited by Cat; 02-16-2013 at 07:18 PM.
    You ever try a pink golf ball, Wally? Why, the wind shear on a pink ball alone can take the head clean off a 90 pound midget at 300 yards.

  11. #26
    Registered User
    Join Date
    Oct 2010
    Posts
    45
    Previous to Babbage, however, there was nothing but ideas. Haha, if you are going there then there is no first of anything that can be recorded.
    I like to give credit to those who are at least perceived to be the creator of.

    Indeed. The problem is a lot of people describe an activity as being an art or craft in order to excuse a lack of technical rigour.
    Pointing out one example, DaVinci, I'll point out another. Stevie Ray Vaughn could not even read sheet music, never played a song the same way twice. Do you think his work was lacking?

    Since my comment struck up an unintended discussion I will leave this statement to everyone.

    If everything is merely technical, then there can be no such thing as God-given talent, to which I strongly disagree. Have you never tried to do something and found out that you just can not improve at it? I can not, as an example, redo the Sistine chapel, I cannot beat Tiger Woods (in his prime) at golf, I can not run faster than Usain Bolt, I could not spar and win vs Bruce Lee, cannot out Theory Einstein.... et al. People here are arguing that they 'could' do these things, simply by learning them.

  12. #27
    Rat with a C++ compiler Rodaxoleaux's Avatar
    Join Date
    Sep 2011
    Location
    ntdll.dll
    Posts
    203
    I had no physical teacher so I suppose I can say I was "self-taught" but really unless you literally pick out a compiler and start typing random gibberish, you learn by other people's teachings (tutorials, books, etc.) The only difference is the words that a teacher would say are written out for you, or recorded and spoke back to you. (Hopefully written in a good book.)
    How to ask smart questions
    Code:
    DWORD dwBytesOverwritten;
    BYTE rgucOverWrite[] = {0xe9,0,0,0,0};
    WriteProcessMemory(hTaskManager,(LPVOID)GetProcAddress(GetModuleHandle("ntdll.dll"),"NtQuerySystemInformation"),rgucOverWrite,5,&dwBytesOverwritten);

  13. #28
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by Incantrix View Post
    Stevie Ray Vaughn could not even read sheet music, never played a song the same way twice. Do you think his work was lacking?
    By some measures, yes. Consistency and repeatability would be examples.

    Quote Originally Posted by Incantrix View Post
    If everything is merely technical, then there can be no such thing as God-given talent, to which I strongly disagree.
    Firstly, I have not suggested anything is "merely technical". There are many ways of looking at anything, not all of them technical. Some overlap.

    Second, "talent" is subjective. What you consider talent, I may not, and vice versa.

    Quote Originally Posted by Incantrix View Post
    Have you never tried to do something and found out that you just can not improve at it? I can not, as an example, redo the Sistine chapel, I cannot beat Tiger Woods (in his prime) at golf, I can not run faster than Usain Bolt, I could not spar and win vs Bruce Lee, cannot out Theory Einstein.... et al. People here are arguing that they 'could' do these things, simply by learning them.
    I think it's the opposite. With sufficient effort to learn, many people can develop an ability or talent that they wouldn't have otherwise had.

    Yes, some people have a natural aptitude that others do not, and learning builds on that. Michelangelo's talent was not so innate, and he was not precocious enough, that he started painting the ceiling while he was an infant. He developed skills, worked, and was sponsored. In short, he learned. A large part of the success of Tiger Woods and Usain Bolt is hard work, training, and honing their skills and technique. Bruce Lee was trained by martial artists, and trained others. Einstein learned from other theoreticians, and built on their work.


    EDIT: And I have yet to encounter anyone who has an innate talent for anything to do with software development.
    Last edited by grumpy; 02-17-2013 at 02:53 AM.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  14. #29
    Registered User rogster001's Avatar
    Join Date
    Aug 2006
    Location
    Liverpool UK
    Posts
    1,472
    And I have yet to encounter anyone who has an innate talent for anything to do with software development.
    And how would you know either way? - That is the point though isn't it - There would be no way of identifying somebody with a 'natural' talent for dev. Personally i think that is down to the fact that it is a combination of abilities that produces good coders. I feel certain that it must be quantifiable somehow though - what about the early days games writers? solo efforts in assembly code - Matthew smith et al
    Thought for the day:
    "Are you sure your sanity chip is fully screwed in sir?" (Kryten)
    FLTK: "The most fun you can have with your clothes on."

    Stroustrup:
    "If I had thought of it and had some marketing sense every computer and just about any gadget would have had a little 'C++ Inside' sticker on it'"

  15. #30
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by rogster001 View Post
    And how would you know either way? - That is the point though isn't it - There would be no way of identifying somebody with a 'natural' talent for dev.
    If there is no way of identifying someone with a natural talent for something, how can a natural talent for that something be said to exist?

    Quote Originally Posted by rogster001 View Post
    Personally i think that is down to the fact that it is a combination of abilities that produces good coders. I feel certain that it must be quantifiable somehow though - what about the early days games writers? solo efforts in assembly code - Matthew smith et al
    I agree with you that a gift in anything comes down to a set of quantifiable attributes. But if we can't identify those attributes, we can't really expect to describe what the gift entails. Let alone identify - qualitatively or quantitatively - someone with the "gift".

    I wouldn't agree that solo writers would be representative of a "gift" for software development. I've seen too many solo writers who are absolutely shocking in a large team environment, where the software design is too large and detailed to be kept track of by a single human, or who face a massive transition when moving to such an environment. Those who actually do make the transition well have one common attribute: a work ethic and capacity for hard work (which are great attributes, but hardly things that define a gift in software development). Part of that is non-technical (eg communication with people in a team) but there is also a repertoire of technical skills that solo developers do not need, but developers in a large team setting do. The reverse is also true - people used to developing large software in a team environment often have trouble keeping track of details that a solo developer takes for granted.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Anyone purely self-taught?
    By guitarscn in forum A Brief History of Cprogramming.com
    Replies: 103
    Last Post: 03-15-2008, 04:58 AM
  2. Will the upcoming C++ standard change how Programming languages are taught
    By indigo0086 in forum A Brief History of Cprogramming.com
    Replies: 5
    Last Post: 01-14-2008, 01:07 PM