Skye07 said:
Because it's true! Compare coding done by someone with a programming degree to coding by someone who learnt it by themselves and you'll see who's got the cleanest most extensible code. I'm not saying they can't code at all and some are more gifted than others but learning to code on your own won't be enough if you want to design high quality code. See
http://education.internet.com/articles/sel...the-difference/
I believe the truth is somewhere in the middle. Compare it to learning to drive. You can learn to drive by taking driving lessons, or you can learn by practicing with our dad or whoever is willing to risk his car for you to get a driving licence. If you learn the first way you'll get all the details right from the beginning, and yes, you will probably learn more in a shorter timespan since your driving teacher knows how to put you in many of the situations you learn from, but you'll have to spend a fortune on it if you want the experience you get from all the different traffic situations you get into by simply spending time behind the steering wheel. The same goes for programming, a teacher can give you the basics, teach you good practices, and in general point you in the right direction, but he can't give you all the experience you need to become a skillful programmer. To get that you have to use your own brain, you can't have it spoon fed by a teacher.
Personally I believe that the best way to learn programming is to combine lessons with learning on your own, but if I had to choose between have someone teach me or learning on my own, I'd go with the latter
Mazor said:
kaputnik said:
Content
Great post, this beats every attempt I've ever made to promote C++ as my language of choice.
I actually also used two of the three sites you mention and a tried a few books until I found one that I liked. That book was good mainly because it had good exercises after each chapter which is a really nice concept. After spending a few months making text-based RPGs and similar and another few months of small GUI applications that didn't really do much I realized I had actually learned quite a lot and felt very rewarded for the time spent.
Now, after a few years of developing applications that can actually be used for something, I feel extremely glad that I opted for C++ whenever I experience the lag of a VB/C#/Python/Java application. The joy of knowing that your application doesn't prompt users to bloat their PC with .NETs or JREs and can generally just be run without external dependencies is also great.
Out of curiosity, have you published any applications you've made?
QUOTE(Rydian @ Feb 2 2011, 11:15 PM)
I agree that somebody who's never done any coding at all should start with some HTML and CSS just so they understand the concept of code-to-result and syntax.
I disagree with this. If you're interested in developing applications (but never did any coding) and at the same time not at all interested in developing webpages, you should really just start with the former. I was also recommended to start with HTML but found it very boring and felt that I was doing something entirely different than what I wanted. Most people willing to learn will be able to understand the concept of code generating a result by experiencing it first hand in any hello world-likes they make.
Well, bottom line is that which approach will work best is highly subjective. Some good general advice is to be patient and really keep going when you've started learning though.
EDIT: Typo.
Thanks
Seems we started out pretty much the same way. I used the book the way you did, mostly for in depth reading on different subjects, and exercises. The online tuts gave me the basics in a condensed way, and also left room for some brainwork when trying to figure out the parts that the tutorials left out. And thats where the references came in, they were great for filling in those holes.
Most of my programs are quite specialized, and hardly of any interest for anyone else. My current project is an application to parse alarm, event and manoeuver (spelling?) logs from the alarm/control system on the ship where I work. I don't think anyone else would be interested in having a program to find out exactly how many times the bilge wells were stripped the last month, how much lube oil the main engines have consumed, or what the current specific fuel consumption of the ship is. So no, I haven't published anything, and I'm not at that level that I want others to see my code anyways
Once I get into homebrew for DS and Wii I guess I'll release whatever I code though, since there aren't already programs to do anything you can think of for those platforms, even the simpler programs I'm able to write might be interesting for others
I agree with your opinions about installing loads of bloated libraries and runtime environments. Being able to write something that compiles into native code is so much more elegant and beautiful.
Also, I agree with your disagreement to Rydian's post. To learn another simpler language before learning the real deal is a waste of time in my opinion, it's like ..well.. let's say think that you have to learn to ride a bicycle before you learn to drive a car, based on that both are vehicles, and the bike is the easier one to learn to use. Sure, there are a few similarities, and learning to ride a bike at least won't make you a worse car driver, but in the end most of the aspects are different, and you haven't learned a lot from biking that you can transfer to car driving. Personally I think that opinion come from the oldschool programmers that learned some other language back in the days, and yes, their experience has probably helped them a lot, but on the other hand they probably fail to realize how much time they actually spent learning those other languages.
Learning something easier might help you grasp the basic concepts, but it's definitely not worth the time spent, and you'll have to learn most of what you've learned from the beginning anyways. Imo it's better to just take the bull by the horns and go for the real deal from the start.
Oh, and if you have to learn something easy first, at least go for something where you can produce executable code. HTML or CSS might give you an idea of the concepts of API calling and such, but not programming in the sense of writing machine executable code.