I'd like to learn a programming language

Page 3 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

clamum

Lifer
Feb 13, 2003
26,256
406
126
I wouldn't start in C++.

I'd suggest ASP (classic) or PHP scripting to get a feel for loops and controls structures and such. Easy to setup and learn.
 

pcnerd37

Senior member
Sep 20, 2004
944
0
71
I would recommend Java/C#. They are easy to start with. I started with Java and have been working in C# for the past 4 or 5 months and love C#. Im hoping to learn C++ soon though.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Pointers are sweet, but that's mostly a C thing. In C++ you just pass something 'by reference' (e.g. a class) using the ampersand operator in the declaration.

I don't mean to be pedantic, but obviously this is only the case by convention, if at all, since C++ is a superset of C. It's true that good object-oriented programming practice shouldn't require a lot of pointers in C++, but at some level they are still necessary, and I would definitely say they represent a pretty steep barrier to a beginning programmer.

I started with C++ in 1987 (my copy of the ARM is autographed, baby ;) ), and I love the language, but I would be hard pressed to recommend that a beginning programmer start with it today. There are too many excellent alternatives that allow you to focus on object-oriented practice and good program design, and let's face it, the average beginning developer today usually doesn't bring the same understanding of the machine to the table that many of us had years ago.

My own recommendation would be Java if cross-platform is relevant, otherwise C#. Visual Basic is a tolerable alternative to C# for beginniners, but it retains so much VB syntactic puke that I would encourage a beginner to migrate off of it and into a C-derivative fairly quickly.
 

thatguyant

Member
Feb 28, 2005
151
0
76
Originally posted by: Looney
What are your goals? What is it that you want to do? Do you want immediate satisfaction and create things immediately, then go for a scripting language like Ruby or even Javascript. You can have a lot of fun working on websites and creating nifty little things. If your goal is to make games and such, well, i would suggest you have a more realistic goal. But you can start off in Java and then move onto C++.

Or if you want to have fun, maybe get into NWN2 or something and learn their scripting language.

I don't think I want to get into anything lofty like programming games. I'd ideally like to learn something that would keep me interested in programming so I would want to keep going. I've never seen myself as a programmer, but I've always thought about learning it just so I could understand it more. I think for myself, learning to code properly would be more important than instant gratification since I could most likely apply those concepts to other languages. Or am I way off base here?
 

titan7

Junior Member
Jan 30, 2007
22
0
0
Pascal was the best a while back, but IMO others have surpassed it so forget it.

Forget asm, it's been decades since any real PC applications were written in it.

C was good, but it's missing too many convenient features that C++ added so forget it.

C++ tries to be all things to everybody. You end up with a few different ways to do everything and its rather easy to shoot yourself in the foot. Outside of games people are moving away from this.

Perl is good for small little scripts, but not real applications.

Basic sucks, but MS made it acceptable with Visual Basic. But now C# seems to be their baby.

I'd say go for C#. MS has a great free IDE, there are tons of built in library functions to do most things you'd want to do.

My (close) 2nd choice would be Java. C# and Java are very similar, but I think the C# IDE might be a bit more beginner friendly than Java for somebody who wants to learn on their own.

3rd choice would be Python :)
 

Chaotic42

Lifer
Jun 15, 2001
35,385
2,503
126
Visual Basic is nice if you need your program to be windowed and just work. I'm not a programmer, but sometimes I need to create tools at work. Making programs with easy-to-use interfaces is too much of a pain in any other language that I've used. VB is great when you need to write a featured program quickly.

Plus, Excel has VBA built into it, and so do other programs that I use a lot.

If you want true programming theory, I can't help you, but if you just need to get work done, VB is a nice tool.
 

SoLiDus88

Member
Mar 18, 2002
86
0
0
I think C would be best since it doesn't hide a lot of things from you. Pointers are great to learn how memory management works and how memory works in programs. If your just learning programming for fun, then Ruby is nice and easy. Coupled with Rails, you can have web applications built extremely fast.

But if you want to get a job, then learning the underlying concepts is best. Especially for entry level jobs, most of the companies I interviewed for wanted to know how pointers work, how memory is managed, differences between stack and heap, etc..
 

fierydemise

Platinum Member
Apr 16, 2005
2,056
2
81
I started with C++ and I haven't found it that difficult.

If you start with C++ I recommend Accelerated C++