|
I don't have any sensible suggestions for a first language really (although Logo used to be popular). I just wanted to make the point that the important thing is to learn the principles of program development (no matter how basic to start with) rather than get hooked on a particular language or dev environment. Any of the 'big' dev environments like .Net, Java, etc are in themselves quite complex beasts, and are often surrounded either by even more complex tools and/or require knowledge of complex libraries or frameworks to use effectively.
Those of us who started before all these things (I began with FORTRAN IV on paper coding sheets, then Algol 68R and assembler FFS!) forget that to someone who doesn't even have a basic understanding of how the hardware works, this is all just a mass of detail that obscures what you are really trying to achieve: bend the machine to your will!
So, my advice: find something that can produce a working application without needing to learn either complex editors/IDEs or libraries/frameworks: stick with that until the core principles of problem-solving and control of the hardware start to sink in; then introduce the complexity gradually. Try to find something relevant to do, whether it's a game, controlling a device, solving puzzles or whatever - something the learner can relate to in their lives.
It wasn't until I realised that the development process has (with the exception of DSLs) NOTHING to do with the language and framework you are building with, that I started to really feel productive.
YMMV of course!
|
|
|
|
|
If your son's interested in games, definitely use that to your advantage. I got into software development because of my love of games. My first language was Dark Basic, a Basic derivative for game prototyping. I loved it.
Get him a physical book. Online tutorials are great and all but physical media can really help you focus. He can take it to school and reed it in his down time, he can pick it up if the internet goes out, he can read it on the toilet, whatever lol. Unity, as someone else mentioned, is a pretty good choice though it may be a bit complex for someone just starting out. Gamemaker would teach your son more about game development, than it would programming but it's not a bad choice.
I always recommended to my friends growing up that they try to make a text based game as their first goal; that way you don't have to learn any graphics, sound, controller, etc apis. It's just simple logic and prints to a console. Could be a number guessing game, or a full blow text-based rpg. I'd recommend anything with console support (which is just about every language.) Python has console support, he could take that project and use pygame to turn it into something more later on. C# has console support and it's used to back Unity programming, so it would be relevant for him to learn. If he's interested in animations, flash is still a thing I hear lol.
Those are my recommendations.
|
|
|
|
|
With HTML5 making JS functional is a fully-fledged language, why not start him out there? The nice thing about HTML/JS is that it can start very simply and become something so much more very quickly.
|
|
|
|
|
Ross,
I think adding more languages too quickly is a pain.
If he and his friends use scratch, then encourage him to write other programs in scratch.
Show him how to find, download run, and MODIFY someone elses code.
I offer my teen daughter a "bounty" (others call it a bribe), to pickup skills that are
on the "cusp" of her interest. (She did the online MSFT Excel training and made some cash
over the summer. She does not get an allowance, which encourages bounty seeking!).
Anyways, the thing that OPENED the door for my development was realizing I could start
with someone elses work and make it better... I started adding back doors to PDP/11 programs
while in high school, fake login programs to steal passwords (which apparently can be done on
Android devices... Everything old is new again)...
|
|
|
|
|
Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects.
http://www.alice.org/index.php[^]
And as a teenager, he might like:
Blender is a free and open source 3D animation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation. Advanced users employ Blender’s API for Python scripting to customize the application and write specialized tools; often these are included in Blender’s future releases. Blender is well suited to individuals and small studios who benefit from its unified pipeline and responsive development process.
http://www.blender.org/[^]
modified 25-Aug-14 17:42pm.
|
|
|
|
|
I've always recommended C (not C++) as a starter language for a couple of reasons:
- You learn to think about what's under the hood from the start. If you go the other way around you may get into some vices that are heard to unlearn.
- Once you get up to speed with C, other languages are easy to learn, plus you get the benefits of high level programming with the knowledge of knowing what's going on under the hood. That makes a lot of difference on writing good software.
- Eventually, if he is serious about game programming, the odds are that he is gonna hit C++. Either himself or with an employer. That will make it much easier for him.
Having said all that, the C language is a challenge for most teenagers, but you will not know if he can handle it if he does not try. Maybe it will feel natural to him and if he does, well, he will have a brilliant future in programming.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson
----
Our heads are round so our thoughts can change direction - Francis Picabia
|
|
|
|
|
I started out with similar intentions when I first picked up C# about 7~ years ago.
I started with the XNA Framework from Microsoft making simple PC games. It introduced me to some common problems and practices that are encountered in developing video games.
After that, my job called for some in-house tools to be developed, and my knowledge of the language expanded to meet it. I started out with a program that scrapes files from a folder and emails them. My most recent project being more complex; an automatic update program that first checks for updates to itself, then loads and executes an assembly of update procedures for our flagship software.
I guess an example of this would be my ACLib project at github, which was intended to expand on the native Windows console and add some functionality more appropriate for ASCII based video games. This is one result of my interests in video games and my collected knowledge on C#, and a weekend's worth of work.
I've also used things like Unity, but I feel like they abstract too far away from letting you use C# to build a game, and instead they try to force you into their own little system of how things work. It chokes out the strengths of C# as a language by funneling you through their own libraries and ambiguously defined 'magic' methods.
I am by no means in the leagues with some of the fine folk here on CP, but I feel that the path I've chosen has prepared me well enough to pick up a legitimate job developing software and I can only recommend anyone young and willing to do the same, especially if they have the free time.
|
|
|
|
|
|
damn if you do, damn if you don't
I'd rather be phishing!
|
|
|
|
|
I wonder how that correlates to the shipment/transfer of undocumented peoples?
Have you ever just looked at someone and knew the wheel was turning but the hamster was dead?
Trying to understand the behavior of some people is like trying to smell the color 9.
|
|
|
|
|
I wouldn't worry too much, ebola isn't very contagious, it's fairly easy to contain (except in Africa). Plus, apparently there's a cure*
*For Americans
|
|
|
|
|
Le'ssee... symptoms of ebola:
- High fever
Nope.
- Joint and muscle aches
Well, I did ride a bit hard, today, and my legs are a little sore...
- Sore throat
I was a bit dry after the ride.
- Weakness
Piss off! Do I look like a bloody wuss?
- Stomach pain
Man, that curry last night didn't do me any favours.
- Lack of appetite
I just ate, so I'm really not hungry.
- Headache
I sure had one this morning, whilst debugging that cr@p that John wrote!
OMFG!!!
I'VE GOT FIVE OUT OF SEVEN SYMPTOMS!!!
I'VE GOT EBLOLA*!!!
* ... and dyselxia
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
and have Nerf gun battles with my son.
This has been a most challenging sprint, and this is the last day and I am relieved. Start all over on Monday.
Have a good weekend. Be safe. If you have children, and they have Nerf guns, don't let them greet you at the door by shooting you in your Willy. Not cool.
|
|
|
|
|
So, leave your mate Willy in the car, and let him in once you have disarmed the ankle biter.
You looking for sympathy?
You'll find it in the dictionary, between sympathomimetic and sympatric
(Page 1788, if it helps)
|
|
|
|
|
Good advice.
|
|
|
|
|
Yeah, got to watch out
|
|
|
|
|
|
Nice!
|
|
|
|
|
Hoping for clear skies to get the telescope out tonight... however, I am in Ireland so the chances are pretty remote.
|
|
|
|
|
Every time I think "You know what, I'm gonna buy a telescope" something more important needs to be bought ....
|
|
|
|
|
Indeed: every now and again I look here: Celestron[^] or other manufacturers and gaze lovingly and then something comes up, I get distracted and, Boom! Six months later...
|
|
|
|
|
Look like pretty nice scopes and more reasonable then I thought.
Have you ever just looked at someone and knew the wheel was turning but the hamster was dead?
Trying to understand the behavior of some people is like trying to smell the color 9.
|
|
|
|
|
Yeah - mostly it's a really expensive place to hang shirts.
|
|
|
|
|
LOL! Thanks for the laugh!
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
Anyone know this new short syntax method of LINQ queries ?
http://bwqs.codeplex.com
|
|
|
|
|