> I'm just about to start teaching my boy, PC, to code. We will be starting with VB.Net. > If he has any interest in coding, we'll back up and do assembler, then C.
(Excuse me but Object Pascal is still my fav language.)
VB is good for the basics but doesn't teach any good habits. And good habits are not complex, they are just better than bad habits.
I hit Pascal very early, barely did anything in Basic before it. When I discovered VB 3.0, I found it allowed me to do all kind of dirty stuff. It was fun for a while, I think I got tired at VB 6.0 or so. Then when hitting Delphi, I discovered that pretty much I learned with VB was in the lazyness/bad habits section.
Pascal has all the advantages of VB, and then probably the only disadvantage is that you have loads of code and components for VB where the selection is meager for Pascal. It's simple, straightforward, and the way flow control and syntax is laid feels very natural. IMHO it's a much better option for a first contact with coding. Plus if you want to move him to ASM and C, pretty much everything learnt from Pascal can be applied to C. The only thing I really like from C is the 'for' loop. For the rest, my bitch is Object Pascal.
I also think that it's better to understand procedural programming before moving into objects and GUI stuff. With Pascal you can easily create simple or complex console applications without using classes/objects, something that VB.NET can't do AFAIK.
Currently Lazarus + FPC is a very solid combination with lots of compatibility with Delphi, and since it's GPL'ed you are guaranteed a better price/quality relationship than Delphi itself. It's also the largest Pascal flavour IDE/RAD project out there, with lots of maintainers and many tutorials, components and resources.
If you want something more basic than Pascal, I'd recommend LOGO or similar for the real basics of coding, instead of VB.
Wound up, can't sleep, can't do anything right, little honey / Oh, since I set my eyes on you. / I tell you the truth. I can't get it right / Get it right / Since I met you...
|