[ Date Index ][
Thread Index ]
[ <= Previous by date /
thread ]
[ Next by date /
thread => ]
I'm not an educationalist so maybe someone else can describe what I am trying to say a little better, but I think the question is about reward. If you are trying to learn something then it helps if your learning is rewarded by results - feedback loops start occurring. The problem with C, is that you have to learn so much before you can start writing code which will give you some really interesting results. I admit that this opinion is open to question but personally, as an amataur, I have never found the write code - get reward/result cycle to be anything like fast enough for my limited brain.
To learn anything in programming it is much much better if you have a realistic task you wish to achieve. If you just attempt to learn a language for the sake of learning it you probably won't achieve anything and just confuse your self. I have done this myself and my biggest acheievements have been when i have had a target and had to fight my way through the problem to get results. I would not say that you need to learn that much in C to start achieving things. The key to C and many other languages is to have a good feel for the basic language then know what libraries are available and where to find documentation on those libraries. The libraries contain all the real power especially under Linux/GNU where there are more that you can count available for every possible task.
I tried Visual Basic long ago. With that you can get rewarded without having to write any code at all. Drag and drop and - "cool, I have a user interface" - but then you have to start actually writing code and things get a lot harder (insert fav. vb hate story here).
Yes it is true, you can program with VB with zero experience and achieve something and well it may look impressive for a first time programmer to create a window with lots of buttons and text boxes etc you haven't really achieved anything. I will admit i do a lot of programming on the "Dark Side" (BUT we are heading down the GNU open source code route :-)) and I will use VB for quick and dirty tasks. If i need to to anything serious I do it it C/C++.
After that, I gave up on GUI stuff and tried Python. The tutorial that came with it was excellent, although I got a bit lost about 3/4 the way through, but then it was intended as a tutorial to the whole language and not a beginners guide.
Don't get caught up in the "it has a GUI so it is better". Linux has some amazing console based applications that are far more efficient and to the point than the GUI stuff. The thing about GUI programming is you waste more time programming the GUI checking things can't be pressed at the wrong time, updating displays etc than you do doing any serious programming and I find it the most boring part. My advise would be get some console apps working first, you may even wish to look at the ncurses library for fancy console stuff. Once you have programs running and doing stuff then try adding some "front ends" to those programs then you can concentrate on the GUI side knowing you have some working code to use. The other tip is planning, don't do zero planning of what you want to acheive (thats my technique!) and don't over plan! Regards and appoligies for bad quoting Robin
Attachment:
pgp00023.pgp
Description: signature