views:

201

answers:

9

Possible Duplicate:
What is the easiest language to start with?

i want to have another crack at learning programming. I tried learning c++ a few years back but couldn't get my head round it for some reason. Maybe it was to hard to begin with but the fact that i was doing it on an online course with no tutor to be able to ask questions to when I needed, I don't think helped.

So what language would be an easy one to learn online to get an understanding of the fundamentals of programming?

Also can anybody recommend a good online resource for this.

Thanks in advance,

+9  A: 

My bias leads me to recommend Python. There are a number of online books that you can read, although I recommend this dead tree.

Ignacio Vazquez-Abrams
+1. Python is the ideal learning language, IMNSHO.
paxdiablo
+1. Python is the ideal language for not-yet-programmers (as opposed to languages for non-programmers or programmers). Plus, learning with an interpreter is amazing.
yodie
Dive Into Python http://diveintopython.org/toc/index.html is a nice free book to get you started.
Jacob Lyles
MIT has an online, Python-based, intro level CS course at their OpenCourseware site: http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-00Fall-2008/CourseHome/index.htm
Joe Internet
+2  A: 

Try Small Basic:

Small Basic is a project that's aimed at bringing "fun" back to programming. By providing a small and easy to learn programming language in a friendly and inviting development environment, Small Basic makes programming a breeze. Ideal for kids and adults alike, Small Basic helps beginners take the first step into the wonderful world of programming.

cxfx
+1  A: 

If you're interested in the .net world, you'll find that the new Visual Basic .net language does almost everything that C# .net and C++.net do; but it may be easier to understand.

For example, where C++ used a '}' to indicate the end of a function, class, namespace, loop, or other construct, VB uses descriptive words.

I didn't really like VB at first, but it grows on me. :-)

Rice Flour Cookies
+4  A: 

I would learn Javascript. It's the fastest way to get some positive feedback for your efforts. It's ubiquitous. You don't have to spend any money on tools - you can do it with free tools with firefox or IE.

It's deceptively simple and yet very rich. Easy to get started but there's lots of depth to explore.

Whatever you choose, have fun with it!

Cheeso
+3  A: 

I'll second python but also recommend ruby which has all the advantages of python but also presents presents the beginner with the opportunity to learn somewhat complex programming paradigms such as iterators and closures up front.

An decent on-line ruby tutorial can be found here.

ennuikiller
Ruby seems interesting, I'm particularly curious how http://mislav.uniqpath.com/poignant-guide/ reads to beginners to programming.
Dan Olson
Yes actually I was going to recommend why's guide but I thought it was taken off line
ennuikiller
A: 

I third python, but I would recommend matlab and/or TCL/TK. they're easy to use with a crapload tutorials and online references

dassouki
A: 

This isn't really a language, but if you want to "get an understanding of the fundamentals of programming," I would try Scratch. It's geared for children, but I've found that playing around with it can really help you understand programming in an amazingly hands-on, visual way. After that, adapting to a language should be a much easier step. And you can download Scratch for free.

froadie
A: 

I would try php or html, it has a lot of free resources online and its easy to pick up. Not to mention that it is becoming more and more practical in todays world...

Ryan
html is NOT a programming language, php is a hideous thing to try and start with.
fuzzy lollipop
Then what would you call html if not a language? and php is not that bad, it was my first language
Ryan
A: 

WOW .... fun question!

If i had it to do all over again, I would choose either python or c# to start.

First ... They're both free to use and quick to get started with. Second ... There are TONS (specially with python and javascript) of ways to get in Third ... You could build something cool or useful on your first day.

There are a few factors that would make up my mind

1) What do you want to build? Are you a server admin with an eye for automation? are you a designer that really wants to make an interactive web piece? Are you just in it for the theory? Do you want to build the next big app without having to trust a stranger with your most precious idea ?

C# is a great language and if you're using windows I'd recommend it to start. Javascript uses a very similar syntax so whatever you learn you'll be able to apply it to both sides of a web project or develop a windows desktop application.

-- there is a great IDE called SharpDevelop that's open source and really fast to use or there's the express version of Visual Studio.

C# is my number one recommendation because VS and SharpDevelop both have EXCELLENT support >for code completion. (which means that you don't have to know what a thing does to use it >.... just start typing and the system will start making suggestions.

Python is the best supported from a documentation perspective, and it's got this thing called "interactive mode" that lets you try things out REALLY EASILY! you can do things like typing "1+1" and it will respond!

Python is also great for buiding just about anything. There is a TON of code out there you can use and you can even use google app engine.

If you're looking for a quick to use and VERY POWERFUL (did i mention fully cross platform) language to build web and server apps or to automate management stuff .... this is your best bet.

If you want to build apps that run in the browser you need javascript. The down-side is that browsers are terrible at telling you what's wrong, and what's right in one will be wrong in another ... add sub-standard support for a number common language features and it's really not the most fun place to start.

hmmm .... i think i'm off to read up on Erlang .... this has me all excited!

Andrew Neelands
thinking about it now i wish python had been around when i started
Andrew Neelands