6 Replies - 1663 Views - Last Post: 29 November 2011 - 03:45 PM

#1 Invisibledeath  Icon User is offline

  • D.I.C Head

Reputation: 7
  • View blog
  • Posts: 79
  • Joined: 13-March 10

Learning from documentation versus learning from tutorial

Posted 26 November 2011 - 05:07 PM

I made a long break from SDL. Period of 3 months. I picked it up again. In the past I learned from lazyfoo tutorials, however this time I am writing code by looking at documentation and using lazyfoo's code only to set up the compiler. This got me wondering:

What are PROS and CONS of learning from documentation?
and
What are PROS and CONS of learning from tutorial?
Is This A Good Question/Topic? 0
  • +

Replies To: Learning from documentation versus learning from tutorial

#2 Nikitin  Icon User is offline

  • D.I.C Regular

Reputation: 56
  • View blog
  • Posts: 264
  • Joined: 02-August 10

Re: Learning from documentation versus learning from tutorial

Posted 26 November 2011 - 09:46 PM

Documentation is usually written by the creators, and is very exhaustive and technical. It makes for a nice reference, once you're somewhat familiar with the product.

Tutorials usually more specific and break stuff down for you step by step. They're easier to follow and will get you up and running quicker. But you might not get the whole technical picture with them.

In any case, reading and understanding documentation is a skill, and I would suggest that you learn it well. Because when you're working at a company, many times you will be using an internal technology which does not have *any* tutorials for it. Some times, even the documentation will be very sparse. So knowing how to read a very technical document and turn it into your own "tutorial" is essential.
Was This Post Helpful? 0
  • +
  • -

#3 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5681
  • View blog
  • Posts: 12,223
  • Joined: 02-June 10

Re: Learning from documentation versus learning from tutorial

Posted 27 November 2011 - 07:25 AM

I think it depends on what you mean by 'documentation'. Is it reference material or self-teaching books.

Think of a coding language like any other foreign language...
Would it be easier to learn Russian from a reference book like a Russian dictionary, or from a proper language self-teaching course? In those terms it becomes pretty obvious that a C# dictionary or just trolling the MSDN isn't going to give you the lessons and structure that a course does; whether that course is a on-line tutorial or a printed set of tutorials (self-teaching book)

Don't try to create a useful working program to fit a need of yours (or a for-pay contract) as your introduction to coding project. When you are learning to code you don't know enough to code a program, let alone know how to engineer the architecture of a program. It would be like saying "I don't know how to read sheet music, or play an instrument. I think I'll write a 3 act opera as my first learning experience."

I don't say this to be mean. We've seen lots of new coders take this approach and we know it doesn't work. Trying to design your own programs before you understand the basics of the code language you've chosen just leads to problems, frustrations, and 'swiss-cheese' education (lots of holes).


Resources, references and suggestions for new programmers. - Updated Nov 2011
Spoiler

Was This Post Helpful? 0
  • +
  • -

#4 Lemur  Icon User is offline

  • Pragmatism over Dogma
  • member icon


Reputation: 1383
  • View blog
  • Posts: 3,515
  • Joined: 28-November 09

Re: Learning from documentation versus learning from tutorial

Posted 27 November 2011 - 08:31 PM

To be fair, if you already know a similar language in terms of programming you just need a quick syntax and features layout if you're good enough instead of tutorials. That's at least what I think on programming documentation.

As far as the unix environment and man pages, you need to learn those and how they work. Tutorials won't cut it.

Really it depends on what you're trying to learn.
Was This Post Helpful? 0
  • +
  • -

#5 lordofduct  Icon User is offline

  • I'm a cheeseburger
  • member icon


Reputation: 2538
  • View blog
  • Posts: 4,641
  • Joined: 24-September 10

Re: Learning from documentation versus learning from tutorial

Posted 28 November 2011 - 07:49 AM

I think it takes it all.

Documentation - first as I know documentation, we're talking about stuff like MSDN, like how Nikitin described it. This is your reference material, if you have an unsolvable question about the specific workings or semantics of a framework or language, you first look here to get an understanding of how it was intended to be shaped. I compare this to looking it up in an encyclopedia at a library, the entire text is massive... but it really isn't exhaustive for each part, it gives you an intended representation of a specific, but doesn't detail heavily any of its uses.

Text/Books - here we find over-all lessons. They don't break open every part of a language or framework, they give a working understanding and a plan of attack for consuming the entire subject. They may also act as reference material for concepts and design techniques.

Tutorials - tutorials to me are the bottom of the barrel. Something you may find used as part of a text-book. A hand holding experience where a narrow view of the subject is shown to you so that way you can actually see some result and feel a little more productive. It may give you that rush of emotion that comes from feeling like you accomplished something, but they tend to be short lived when you realize down the road how little of the subject it actually taught you. Instead of teaching you to program, it taught you how to program for a specific problem, and rarely do they even explain why. Tutorials are nice as being part of a lesson plan, most text/books include tutorials in every chapter to give you a feel of it... then they usually have assignments/questions at the end for you to try and pull off the same ideas and concepts with out the hand-holding.

Tutorials designed for showing you concepts and design techniques I think are useful in limiting manners and work better as part of an over-all lesson plan. But a tutorial designed to teach you how to create a reflection in Flash, or a calculator in C#... unless you JUST want to learn how to make a reflection in flash, or calculator; well that's what it's going to teach you. It's not going to teach you to program (even though it uses a programming language).




Practice is the big one in my opinion. Take all of the above and stir them together and practice on them. Create your own practice problems after you feel you've read enough and are ready to take those challenges. Just accept that you are going to fail, and you're going to fail many times.

I do NOT agree with tlhIn'toq opinions about trying to write a program to solve your own problems is a bad idea. I will agree taking on a for-pay contract IS a bad idea. The reason I think this is because you're going to fail. If you fail on a for-pay contract... well you just fucked over your client. BUT if you fail on your own, well big-whoop, you failed. What did you think you were going to be the best programmer in the world your first day!? No sir, and you better get used to this feeling now... because if you can't handle failing occassionally, well you are going to be in for a world of hurt down the line when you fail, fail, fail, and fail again in front of your peers.

Failure is a part of learning. Failure is where a lot of knew knowledge can be found. When you're laying beaten on the ground what you'll be thinking to yourself is (well what you should be thinking, not that self-pity bullshit only wimps think about):

"OK, NOW I know why everyone said that was a bad idea!"

And that knowledge, that's useful knowledge. Now when you see new concepts and ideas, and you ask yourself, "why the fuck do we do it THIS way and not some other way?" You'll have that on your face experience to reflect on and maybe go, "OK, maybe as a community we all have fallen on our face because of other designs." And you can use that in investigating and breaking apart the problem in an attempt to solve why things are done the way they are.


Those people tlhIn'toq used as an example for why taking on your own project, that is destined to fail, as why you shouldn't. Those people are not a good example, they're the wimps. If you find yourself doing that, the minute you recognize it, you need to smack yourself across the face, put your damn big-boy pants back on, and get the fuck back out there and try again. Otherwise give up now ya pussy! Be a REAL pussy, you know... that magical design of nature that snaps back to being amazing even after shoving objects the size of watermelons through it.

This post has been edited by lordofduct: 28 November 2011 - 07:57 AM

Was This Post Helpful? 1
  • +
  • -

#6 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 8037
  • View blog
  • Posts: 13,755
  • Joined: 19-March 11

Re: Learning from documentation versus learning from tutorial

Posted 29 November 2011 - 09:31 AM

From my excursions into it, MSDN should not be confused with serious documentation. It's a mess, it's horribly organized, and the material in it is quite variable in quality and depth. I gave up and got what I needed by searching blogs and forums.

However, if you want to understand Java, the tutorials and language spec produced by Sun and maintained by Oracle are quite useful, and their API reference is excellent.

If the language has a well-written spec, this is the best way to know exactly how things work. Unfortunately, this is relatively rare. Specs exist for standardized languages, but they're usually not very readable. See specs for C# and Scheme for some reasonable ones, along with Java's. I haven't looked at the C spec in a while, but as I recall it's a bit of a mess, due to the spec being retrofitted to cover different versions of the language. Reference manuals can be a good next option. There are good ones for Common Lisp and C (both by Guy Steele, if I remember right) and probably others that I don't know about.

Next-best is a very good language manual written by a third party. Programming Perl and Learning Perl (both from O'Reilly) are probably the best examples here. Both are very good, and the overlap in coverage is extensive. "Learning Perl" is pretty close to a solid reference manual, with more attention to introductory concepts, and "Programming" is a pretty complete reference manual with a more compressed introductory section. The main difference is in the style of presentation.

Following this, there are some excellent books that take a tutorial approach to languages or concepts. Sedgewick's textbook on algorthims is a good example for concepts, and Barsky's Land of Lisp is a good tutorial for common lisp. The Little Schemer is an interesting hybrid: it'll learn you well in a subset of Scheme, and it'll also make you well aware of how recursion works and how it's used in lisp-y languages.

Steer clear of anything labelled "for Morons" or "for the complete Turd-brain" or anything like that. If you're a moron and a turd-brain, you shouldn't be programming, and if you're not, you shouldn't read books aimed at them, they'll only waste your time.



Advantages and disadvantages? Both are useful. Most people need to be led by the nose through example programs while they're getting the hang of the language, but anyone who's going to write anything serious needs to know the basics of the language - and anyone who isn't interested in understanding some of the basics of the language probably isn't going to write anything serious.

Be an information glutton. Learn more than you need to, and write lots of code. Then come to the DIC forums and explain stuff. That's the best way to really make sure you know something.
Was This Post Helpful? 1
  • +
  • -

#7 MATTtheSEAHAWK  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 137
  • View blog
  • Posts: 782
  • Joined: 11-September 10

Re: Learning from documentation versus learning from tutorial

Posted 29 November 2011 - 03:45 PM

Agreeing with jon.kiparsky. I have hardly ever had luck with MSDN. Most of the reference I find on C# is just random sites on google. A lot of stackoverflow or other forums. But if I can't find it by searching I'll just post on DIC.

More related to the topic, tutorial is much better for just learning the language or picking it back up again.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1