tags:

views:

1315

answers:

22

I know learning never stops but at a certain age which programming language would be suitable to learn or to rephrase the question should elder people learn a programming language?

+5  A: 

It depends upon your interests. I got into computers at age 10, not because it was "time," but because I wanted to learn about them. Same with elderly people.

If you think it would be cool to learn it, go right ahead!

stalepretzel
A: 

Programming is a passion for some, hobby for others. You can always learn programming no matter what your age is. Once you start learning and liking it, there is no stopping.

Shrivara
+1  A: 

It all depends on what you want to do, and how technical educated you are, age is less important when programming.

A language like Visual Basic is very handy if you want to create macro's in Word or Excel.

If you want to create 3D games, go for C++ or C# (or even Visual Basic).

If you want to talk to your (grand)children about programming learn PHP or Ruby.

etc. etc.

GvS
+3  A: 

Absolutely. I would suggest precisely the same languages I'd suggest to a younger person, I think the same principles hold regardless of the age you're coming in at (except perhaps very young children) - due to their simplicity and elegance I'd recommend either Python or Ruby (or maybe even both :-). Go get Learning Python or Programming Ruby, both are great books for learning those languages.

kronoz
+5  A: 

I would suggest one of the "higher" abstraction level programming language which is not a C-like derivative.

Python would probably be a good choice
Visual Basic has a natural enough learning curve.

Both of those can be used for free.

Another consideration would be how intimidated you are by the "command line". If you don't like being at a command line prompt, you might want to look at a language that provides an Integrated Development Environment (IDE).
This allows you to view the programming language development environment as simply another application you can learn to use.

It would be easier than using an editor to write the code, compiling it from the command line, running the exe, etc...
This workflow might be intimidating to someone new to programming.

Benoit
I couldn't agree more with your first statement. Languages that inherit C syntax are much harder to get the gist of.
RodgerB
@RodgerB: And despite this, I still find C(-esque) code easier to read. Creature of habit, I suppose.
Eric
A: 

Why not?
If you are older, why not learn something pleasant to use, like Python.

Martin Cote
A bit subjective. We don't all find Python to be pleasant... :-)
Brian Knoblauch
Judging by the answers, it seems to be accurate to a first aproximation, though!
Simon Buchan
+4  A: 

I would start with Python. You can learn it by reading example code on the Web and it has a command line interpreter, so you can learn the syntax at your own pace and work your way up to writing complete programs.

Bill the Lizard
+1  A: 

Basic is generally considered to be more approchable for beginners than for example, C#, because it has a more "readable" syntax to someone unfamiliar with programming languages. The language really would depend on an individuals background as I could well imagine that an elder person (or indeed anyone who's not previously programmed) who's got a background and/or qualifications in mathematics or some sciences, might take to C# and C-like languages a lot more easily than someone who hasn't.

Microsoft have produced free "Express" editions of Visual Studio for both C# and Visual Basic which come with "starter kits" which would give a new developer an inroad as they wouldn't be starting any project from scratch. Plus, as they're free, there's no cost in trying both out for taste.


On a final note, of course an "elder" person should learn a programming language - if they want to - it's a free world out there, for the most part! :=)

Rob
+3  A: 

As most people get into their late sixties/seventies, their memory will become increasingly faulty and they will find it slower to think and learn new tasks. A 75 year old dropped out of one of my math classes last year because of this - he was a great mathematician but he couldn't hold onto the knowledge for long enough to store it. This is not necessarily a barrier to learning how to program, and even with an impaired memory it will still be possible, but it may be too slow or frustrating for it to be worth the while. At the end of the day, however, it will depend on the individual and their motivation to learn. If the language is relatively simple then I think most people of most ages would be able to understand it. There's no reason why an older person should be put off from learning a programming language completely.

BASIC is a really easy language for beginners to use and is written in a more user-friendly syntax. One thing to bear in mind is that learning processes will differ from the way that young people learn, and so approaching it in the sort of quick-paced intensive style that young people are used to would probably not be productive. Pick something simple and stick at it.

thesmallprint
A: 

Programming is puzzle solving, if you like puzzle solving chances are you'll also like programming no matter what age.

I might stay away from text based languages though and try some thing more visual, for instance yesterday I was messing around with Scratch, a visual programming editor for performing animations. I think that would be good place to learn to start thinking about the mechanical nature of programming, then see where that leads...

Brian Heylin
A: 

I think it would great for anyone to tryout programming. It gets you thinking a lot, it works out your mind, you get to break a mental sweat at times, and nothing is more fulfilling than running your first 'hello world' program ( OK a lot of things are ). I don't think you should let age stop you from trying, but from my classes I have seen some people, and tried tutoring some people that just really should pick up a different profession. Don't get me wrong, they were very intelligent people but while I do think they were very intelligible people I think you have to think a certain way to be a programmer.

I also have to say that everyone is going to run into problems that you think you can't solve and seem impossible and you might even spend days working out a solution or trying to wrap your mind around a concept such as Object Oriented programming, this does not mean your not suited for it. But if you don't enjoy sitting at a computer for long hours dealing with nightmares of forgetting semicolons and waiting hours for that 'urika' moment of truth, and more than anything you hate solving problems and critical thinking... then maybe programming isn't for you.

In short, I do not think age that there is any age limit to picking up programming. A better question is were should you start.

Patcouch22
A: 

On a another forum I regulate, I've seen a member in his 60's working on building a bingo system. I personally (being at a pretty young age (half the age of the average user here)) think that you can learn programming at any age, it might be possibly easier for an elderly person if they are committed as some often have a lot of time on their hands.

I'm in no position to say that programming for elderly citizens of society is just as easy as it is in my age group, but if the programmer is mentally healthy (e.g. memory recall health) it shouldn't be too much of a struggle.

I would personally recommend VB.NET as a language for a hobbyist (it's got nothing to do with age). Once the programmer can grasp the VB.NET language, I believe it is very easy to move on to C#.

RodgerB
+2  A: 

My personal programming experience has been driven by first curiosity, and then need. Curiosity will get you to a certain point, but it's easy to lose focus of what you're trying to do if you don't have some type of goal in mind.

If you are interested in learning to program just for the sake of programming, Scheme is an excellent first step. It is used in the introductory programming courses of many universities, and is fairly straightforward to begin using. However, it doesn't get as much "real world" use as C or Java, which may matter if you are intending to write something that you plan to distribute to others later.

I suggest that the biggest thing you need to decide is what you are hoping to gain from programming, as this will have a direct bearing on your future plans.

stormlash
Not arguing, but for information's sake: MIT recently dropped Scheme in favor of Python for its Intro to CS course. I was a bit sad and surprised. Is Scheme really used elsewhere as an intro? It hurts my head!
Carl Smotricz
A: 

I would recommend starting with a scripting language, maybe by reading and writing some simple files. Visaul Studio and comrades are great, but maybe a little overwhelming for a beginner.

This also applies to young people, though.

Treb
A: 

There was a similar question about a programming language for young people some time back, and I'd suggest the same answer for this - Processing

www.processing.org

It's free, comes with it's own development environment, uses java based syntax and it's both very simple to start creating programs in and outrageously powerful for producing cool graphics and other effects - indeed used for professional film credits and the like in several cases. There's a large community and vast amounts of free example code to tweak.

I don't know of any other environment which offers so much so quickly. Sure you can plunge into [other programming language] but you're never going to get as much out of it as quickly as Processing will give you.

Cruachan
+1  A: 

Let's take this slightly more generally. I believe everyone should learn other languages (or means of expression) regardless of age or perceived ability. Your original question was specific to computer programming languages, but the answer applies to all means of expression. The act of building fluency in a "foreign" construct builds new pathways in the brain to allow a person to think differently.

So let's take your specific example first, programming languages. The archetypal example is "Hello world". The student may have to learn a small handful of skills before that phrase can be output, but once those skills are learned the student's thought process is forever changed. When you read the phrase "Hello world", how many of you instinctively knew exactly what I was talking about? All of you, right? You think differently once you know. And as you learn how to solve specific technical problems in that particular language, that solution stays with you and even affects how you perceive problems you encounter in other areas of your life.

I watched an elderly family member who had some life altering medical issues regain a significant portion of his mental acuity by teaching himself how to build a computer from parts and subsequently teach himself rudimentary HTML skills (neither of which he knew prior to his issues). It's not programming, but it's pretty darn close. So empirically, I've seen it have tremendous impact.

Another example is music. Statistically, the majority of us participating here are likely also musicians. Even if you have only rudimentary skills, the way your brain reacts when you hear music is dramatically different than if you've never studied. If you've been playing since you were 4, it's also likely that you can't even remember when you didn't know about music.

It's the same with spoken and written language. Being multi-lingual allows you to think (and sometimes even act) differently based on the language you're speaking and the culture it represents. Communicating natively in Japanese is quite a different thought process than communicating in American English.

So, I'm a huge fan of fluency in all means of expression, technical or otherwise, and I think people of all ages can benefit tremendously from it. Thanks for asking the question!

Ed Lucas
A: 

I would recommand vb.net for the free tools available (visual basic 2008 express). Easy to use tools, intellisense to help you, a lot of documentation and tutorials available on the web, etc. There is a blog on msdn called 'coding4fun' that has plenty of hobby projects to get you started with something 'fun' to do, etc.

A: 

Depends on what you want to do. For general purpose, Python is the most popular choice. For web dev, I find PHP and Ruby to be very easy to learn (and Python is also an option).

Small Basic is specifically supposed to be made as an accessible first programming language that is akin to how many of us started with Basic.

For games, XNA is great.

There are a ton of wonderful ones made for kids also (Alice, Program). They start you off at a very basic level and give you a good starting point but I think they overly childish nature of them tend to put adults off.

Dinah
A: 

I'd just like to remind you of the fact that it's believed that even the cleverest of humans only use their brains to some 6% of its full capacity. There's no room for worries about age, you still - more than likely - have some 95% of brain capacity left to litter with new knowledge. Why not learn something nice and easy, and quite popular like Java for example? I am not a great fan of Java, I prefer other languages, but it's certainly very easy to grasp :) And a lot of materials are available everywhere, and demand for it is growing :)

Peter Perháč
Who is it that believes that 6% stuff? The cerebral cortex is mapped, and we know more or less what it does. WRT Java, I'd rather recommend something with less structure and more immediate feedback, like Python or Scheme.
David Thornley
**I it is** - that believes that 6% stuff.
Peter Perháč
A: 

Hey, folks--- I don't know from "programing"! I'm an eighty year old woman who hoped she wouldn't have to ever learn to use a computer for anything but email and looking up recipes on the internet. But I don't seem to be getting ready to pass on anytime soon, and I am feeling increasingly left out of the world my kids and grand kids live in.

What I want to know is how to access more of the electronic world that is available to me but so full of new words and concepts that I need a whole new dictionary of terms and alphabet soup of phrases to understand simple directions for listening to music, speeches, news, social conversations, etc. Abbreviated instructions are especially frustrating. Would-be helpers soon lose patience with my slow comprehension and forgetfulness.

I need recommendations for books or programs written for people like me. I'm sure that I am not the only "dummy" in this situation. So there must be really good, slow paced guides, that present new material one step at a time.

Help, please!

Grandma

Hey Pat, welcome to stackoverflow! As other people on this post suggested, Python's not a bad place to start. Take a look at http://wiki.python.org/moin/BeginnersGuide
Dominic Rodger
So what do you want to do? You could talk to your children and grandchildren and find out what they're into. Learning Python is a perfectly good goal, but it may not tie into your family's activities.
David Thornley
A: 

How about something that is not strictly a programming language?

Excel (or one of its many Open Source equivalents)

Easy to manipulate data, easy to apply to every day tasks, very adaptable to a variety of tasks, from record keeping to accounting to notetaking & scheduler. Use of macros and copy and paste can easily be mastered and they will surely at least begin to comprehend some of the most basic programming language constructs.

For something more functinoal, grab a browser and try HTML & Javascript, or try Visual Basic.

lcv
A: 

My suggestion would be for a fun and rather simple language: Lua.

Lua is a dynamically typed, interpreted language, meaning you can get things done in it without needing to compile code and without needing to declare variables before you use them. Lua is dramatically small: The language's definition fits on a single page of BNF, which is pretty darn slim. This is the benefit for people with failing memories: There's much less stuff to learn and memorize in Lua than in other languages.

The "official" book is also quite slim. I admit to being a professional programmer, but I read "the book" in one evening and was writing small programs before going to bed.

World of Warcraft addons are written in Lua, so if you master Lua you may soon have grandkids and their friends begging you to write game extensions for them :)

Lua is used as an embedded "little" language in many other pieces of software but is a capable programming language in its own right. Libraries are available for all the usual things, including socket communications, GUI creation, statistics... whatever you need.

Finally, not only is Lua's creator nice enough to make the language, the interpreter and even his book available online free of charge; he's the only one with (pardon me) sufficient balls to put an interpreter for his language online in a Web application, so you can write any Lua code you want and test it right there on the Web.

I found Lua fun and productive, and recommend it.

Carl Smotricz