What language must a newbie choose?
-
Hello Dear Members, I have a nephew, 15 years old. He is interested in software development. I am unable to decide what language/platform he must choose as his hobby (and later as his career). I myself, have been only developing in C++ for about 10 years. I love C++ because of its power & flexibility. I want to let my nephew: 1. Choose a language/platform that will not die for several years (like C++) 2. Ability to develop software for any purpose (Application Development, System Tools, Drivers, Games etc). C++ has that power. My questions are: 1. Should I encourage my nephew to explore .Net directly? 2. Should I encourage him to do C++.Net or C#.Net?
Regards, Gautam Jain
C++ might be dying in the Microsoft world but not elsewhere. There is a psychological advantage of doing .NET because it is faster to get a GUI and stuff happening on the screen, so an impatient kid will get more immediate feedback on his efforts. But... if the kid is of a bit sturdier psyche, and is willing to put more effort and getting less back, _in the short ter_m, the C++ is absolutely my suggestion. Also as you know C++ much better, you are more able to infuse enthusiasm into him about that. The chief argument in favour of C++ is that it does not obscure what is really happening inside the machine. It requires more work, but builds a more solid ground for whatever technologies are to come in the decades ahead!
//computer Zen delete this;
_____________________________________ Action without thought is not action Action without emotion is not life
-
Hello Dear Members, I have a nephew, 15 years old. He is interested in software development. I am unable to decide what language/platform he must choose as his hobby (and later as his career). I myself, have been only developing in C++ for about 10 years. I love C++ because of its power & flexibility. I want to let my nephew: 1. Choose a language/platform that will not die for several years (like C++) 2. Ability to develop software for any purpose (Application Development, System Tools, Drivers, Games etc). C++ has that power. My questions are: 1. Should I encourage my nephew to explore .Net directly? 2. Should I encourage him to do C++.Net or C#.Net?
Regards, Gautam Jain
-
Hello Dear Members, I have a nephew, 15 years old. He is interested in software development. I am unable to decide what language/platform he must choose as his hobby (and later as his career). I myself, have been only developing in C++ for about 10 years. I love C++ because of its power & flexibility. I want to let my nephew: 1. Choose a language/platform that will not die for several years (like C++) 2. Ability to develop software for any purpose (Application Development, System Tools, Drivers, Games etc). C++ has that power. My questions are: 1. Should I encourage my nephew to explore .Net directly? 2. Should I encourage him to do C++.Net or C#.Net?
Regards, Gautam Jain
-
Hello Dear Members, I have a nephew, 15 years old. He is interested in software development. I am unable to decide what language/platform he must choose as his hobby (and later as his career). I myself, have been only developing in C++ for about 10 years. I love C++ because of its power & flexibility. I want to let my nephew: 1. Choose a language/platform that will not die for several years (like C++) 2. Ability to develop software for any purpose (Application Development, System Tools, Drivers, Games etc). C++ has that power. My questions are: 1. Should I encourage my nephew to explore .Net directly? 2. Should I encourage him to do C++.Net or C#.Net?
Regards, Gautam Jain
I would introduce him into a learners language first. I cannot remember how exactly it was called, but "Logo" comes to mind: You program a turtle (or hedgehog?) which supposedly has a pen right in its navel. I believe that this simple language is an excellent opportunity to understand the basic concepts behind programming (loops, conditional execution, etc). I'd take a few month to explain these basic concepts, and then move to either C# or Java. With Java, he might get the additional kick of being able to write applets for websites which also run "standalone". When he has the grasp of programming in an object-oriented language, you can introduce him to procedural programming with C (and, at that point, pointers). The transition to C++ should then be pretty easy. As soon as opportunities arise, you can also insert a quick introduction to certain techniques and algorithms. For example, let him find his way around a map that contains height information. Keep it simple, but use the opportunity to introduce the concept of a graph and how, for example, A* works. If he wants to print a list or whatever, teach him how to group his output in a sensible way. For guys, the following "projects" might be interesting once he can handle at least C# or Java: (With possible learning goals in brackets) A "league"-system, to keep track of the scores of his favourite teams in his favourite sport. (math functions and checking input, standard controls) A simple game like pong or snake. (Simultaneous input and display, keeping track, possibly synchronization, custom controls) A "flashy" animation (graphic and sound output, double-buffering, possibly multithreading) That list definitely is incomplete, so feel free to add more suggestions.
Cheers, Sebastian -- Ceterum censeo, borlandem esse delendam.
-
Hello Dear Members, I have a nephew, 15 years old. He is interested in software development. I am unable to decide what language/platform he must choose as his hobby (and later as his career). I myself, have been only developing in C++ for about 10 years. I love C++ because of its power & flexibility. I want to let my nephew: 1. Choose a language/platform that will not die for several years (like C++) 2. Ability to develop software for any purpose (Application Development, System Tools, Drivers, Games etc). C++ has that power. My questions are: 1. Should I encourage my nephew to explore .Net directly? 2. Should I encourage him to do C++.Net or C#.Net?
Regards, Gautam Jain
How I initially got into programming originated from having a Mindstorms kit (the first edition), after a while Dad suggested I started programming. Then I discovered that you can program the Mindstorms using the Spirit OCX and that was much more fun controlling whatever robot I was able to build through the computer. You might want to check out fellow CPian Ashish's blog[^] in which he uses C# etc to control robot cars, webcams and lasers, sure thing to get a 15 year old interested.
-
Hello Dear Members, I have a nephew, 15 years old. He is interested in software development. I am unable to decide what language/platform he must choose as his hobby (and later as his career). I myself, have been only developing in C++ for about 10 years. I love C++ because of its power & flexibility. I want to let my nephew: 1. Choose a language/platform that will not die for several years (like C++) 2. Ability to develop software for any purpose (Application Development, System Tools, Drivers, Games etc). C++ has that power. My questions are: 1. Should I encourage my nephew to explore .Net directly? 2. Should I encourage him to do C++.Net or C#.Net?
Regards, Gautam Jain
I would suggest C++, for the simple fact that you seem to be most comfortable with it, and therefore best suited to help him.
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil Peart -
Hello Dear Members, I have a nephew, 15 years old. He is interested in software development. I am unable to decide what language/platform he must choose as his hobby (and later as his career). I myself, have been only developing in C++ for about 10 years. I love C++ because of its power & flexibility. I want to let my nephew: 1. Choose a language/platform that will not die for several years (like C++) 2. Ability to develop software for any purpose (Application Development, System Tools, Drivers, Games etc). C++ has that power. My questions are: 1. Should I encourage my nephew to explore .Net directly? 2. Should I encourage him to do C++.Net or C#.Net?
Regards, Gautam Jain
c++ using gcc. Let him fly free of Microsoft for a few years while learning the fundamentals.
File Not Found
-
Hello Dear Members, I have a nephew, 15 years old. He is interested in software development. I am unable to decide what language/platform he must choose as his hobby (and later as his career). I myself, have been only developing in C++ for about 10 years. I love C++ because of its power & flexibility. I want to let my nephew: 1. Choose a language/platform that will not die for several years (like C++) 2. Ability to develop software for any purpose (Application Development, System Tools, Drivers, Games etc). C++ has that power. My questions are: 1. Should I encourage my nephew to explore .Net directly? 2. Should I encourage him to do C++.Net or C#.Net?
Regards, Gautam Jain
I almost always recommend Python for beginners. First because it has a fairly clean syntax that is easy to pick up. Second because it's not a toy language; it's fully featured and quite powerful. I've work professionally with python for while and Google is investing a lot of time into the language. Third because it runs just about anywhere without issue. Finally because I believe it's healthy to expose people to non-ms technologies. Also, regardless of what language you choose; try to avoid a heavy/full featured IDE. I've seen way to many people that are lost without one, best not to set him down that path. This of course is only my opinion :) [Edit] I will also add that it may be helpful to introduce him to something like PyGame or DarkBasic. Help him plan a game and cut him loose with the documentation and his own motivation. In my experiance the best way to learn to program in any language is to just open the editor and code. -- modified at 14:09 Wednesday 18th April, 2007
My Blog A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long
-
Maybe to start by fundamental Mathematics and then computer science including algorithmic would be better... At first academic language with good properties such as Caml, Ada, Lisp,... might be a good choice.
Yeah at last someone who remembers good old lisp :P In fairness I'd agree with having him start with one or two academic langs just prior to C++ with C++ being the eventual goal. C# could be #2 on that list if only to be able to get nice tangible. Maybe Pascal or VBA as a light intro to program structure. Lisp for kicks so there's some exposure to a functional programing arch.
-
Well said.
Nobody can give you wiser advice than yourself. - Cicero
Thanks pal....
Regards, Jaiprakash M Bankolli jaiprakash.bankolli@gmail.com http://jaiprakash.blog.com/