|
I guess it was for two reasons. Looong post ahead but it describes in a fair amount of detail why I eventually was turned off of C programming, and it was not necessarily the language itself. 1) I opted to try and self-teach using tutorials which were highly inconsistent with one-anothers practices instead of learning at an accredited college or doing some type of course. It's also possible the tutorials I used were not that brilliant. I did find some fantastic ones later on around the time I stopped (as I started working full time). 2) I believe my folly also lies in jumping the gun, a lot. With BASIC I was able to just skip around in the commands list and experiment with each command in an afternoon, figure out how it worked and see if it was what I needed. If so, I had learnt what I needed, if not, I had learnt something for use in another day, and another code. It mightn't be the most optimal way to learn, but for me it allowed me to create -exactly- what I had intended, even if the mechanics inside were smoking and banging around, they still did what they needed to. C was just not quite the same, and I wouldn't expect it to be. It's a much more powerful language from what I've observed. One of the issues I frequently stumbled into, would be a tutorial that would state to use an external library/header that was never explained nor included on the tutorial page. One might state that I needed to include SDL.H but at no point in the tutorial, did it describe what the contents of it were, or of its purpose / where to get it. Now sure enough, you can google it and find that it refers to the Simple DirectMedia Library but am I wrong to think it's not professional to write in references and sources in a tutorial intended for beginners? "Figure it out / google it" doesn't always strike me as the best way to teach someone, but instead writing down a clear explanation of what is required and where it can be obtained etc. I also had stumbled upon tutorials where the author had written their own custom headers for use with the code, but the headers themselves were not included for download or reference in that tutorial, nor the contents of them explained, so I'd often have no idea of what to substitute in place of that header or how to recreate that header accordingly. I also became frequently discouraged by the responses I got when asking for help. It seemed that if I (as well as a LOT of other people, I saw this happen to a tonne of others) was stuck or unsure and made threads anywhere asking for a bit of advice or critique as to where I've gone wrong, I was constantly met with replies of either "If you don't even know the answer then you shouldn't be programming." or "The answer is obvious, programming is not for you." etc. I made a post at one point asking for a bit of advice on building a simple calculator once as one of my first few applications, and was met with responses of "This is a HUGE waste of time, there's already calculator sources out there available for download." which sort of missed the point; I was trying to make one, rather than plagurize someone elses. Getting questioned as to why you're learning to code when you can just steal someone elses seems the wrong way to go. Perhaps I was in the wrong communities for me, although interestingly enough there was a tech journal article that I had read not too long ago where a senior programmer slammed the sadly all-too-frequent types of these responses due to the fact that it discourages a lot of potentially good novice programmers, with people arguing for and against negative reinforcement. Personally, being told "your code is shit, you're definitely not made to be a coder" isn't really inspiration to me. Being told "You've made an error here, this is what's wrong, this is why it's not working and this is how you fix it. Have another go at it." seems more appropriate. Sure a few people react to being told they're not good enough by thinking "Well fine, I'm going to beat you at that statement and do the BEST DAMN APPLICATION EVER", but to me, I don't like to think of programming as a boot camp, but as learning just as you would if it were photoshop or 3dsmax, and I sure as hell didn't hear people in any 3dsmax class I've attended saying "You're really bad at modeling, you should quit before you waste too much time on this.". |