What is the best programming language to start with?

EQTitan

Diamond Member
Jun 4, 2004
4,031
0
71
I'd like to start learning to program and I have only ever known BASIC. Which I learned on an old Apple 2e. So, is there a good site or maybe a good book I could buy? Perhaps maybe a good site like Lynda that has video tutorials.

Thanks
 

tuteja1986

Diamond Member
Jun 1, 2005
3,676
0
0
i started with = xhtml then css then javascript then perl then asp then went on visual bassic and all :) but my fav lang is PHP. but thats if you want to go into web based programming : )
 

pinion9

Banned
May 5, 2005
1,201
0
0
C.
Go to Amazon and buy "The C Programming Language" by Kernigan and Ritchie (sp?)
If you master this very small book, you will be well on your way to programming in future languages.

It depends on what you want to do as well. Applications? Web programs? Databases? In any case, good knowledge of C will get you pretty far.
 

Chosonman

Golden Member
Jan 24, 2005
1,136
0
0
Everyone has their own opinions. I don't think there's a good starting language and bad starting language. But you probably want to learn a good Object Oriented Programming (OOP) first. Once you learn that then everything else should be a piece of cake. Plus OOP concepts teach you the fundementals of good programming structure and ediquette. My personal choice would be Java. There are many resources online that can help you learn Java, it's widely used in web applications and may be simplier to learn than C or C++.
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
Continue on and master Visual Basic 5/6 (not .NET), then move on to plain C, get to know it well, then master C++. VB will further strengthen your OOP skills, then once you feel confident enough, get to know C fairly well then let it all out on C++. ;)

VB6 is still a great language to program in. All WinXP systems already have its runtime installed, and Win2K includes runtime for VB5. Both include support for VC Runtime 6 (I believe also Win2K, but maybe VCRT 5). Not true with .NET. I have found GUI-making and string manipulation to be a nightmare in C/C++. But for everything else (not much), I'd use C, or maybe C++.

I'm just not a fan of Java or .NET. I like making native applications. VB got ruined. :| It was a great RAD language. All they had to do was add some multithreading support, 64-bit support, some extra controls, maybe a more optimized compiler (SSE2/3, etc.) and it would be heaven. I hope MS resurrects the classic VB. /rant :)

Java's OK, but everything I made in it seemed to be very sluggish. Maybe it's improved since then. I think .NET is just too complicated, but maybe it's just what we're used to. That said I've made some big apps in VB.NET fast. Some functions really come in handy.

It's hard to strike a balance of performance and ease of use. Fortunately, with all of those languages (except maybe Java), you can execute inline assembly via a Windows API function by sending the bytecode (and just insert inline asm instructions in C/C++ with __asm {} ). Now, if only I had mastered x86 assembly... ;)
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
I think you should start on a .NET language. C# is probably a slightly better one to jump into simply because it appears that it's becoming the norm. VB.NET is still widely used, but C# seems to be the future. Regardless of which one you pick, shifting to the other one is CAKE. Seriously... you can make the transition in a few days provided that you know the other one well.

Don't neglect OO principles... learning them and how to apply them is JUST AS IMPORTANT as the language itself. I can't tell you how frustrating it is to work with code cowboys who don't have the slightest appreciation for the advantages that OO has to offer, simply because they've been able to get by so far without them (but not on my watch you fsckers!).
 

Chosonman

Golden Member
Jan 24, 2005
1,136
0
0
just to add my 2 cents regarding Java,

I think Java for client applications Java is not a good idea because as xtknight pointed out it's a bit laggy compared to applications written in native code. But where Java excels is in cross platform applications especially one's related to web and Services oriented architecture. I'm just not a very big fan of Microsoft (C# is basically Microsoft's version of Java, but doesn't support the latest Java framework after much litegation from Sun Microsoft abandoned any updates to the language. IMO C# is probably a dead end if you don't plan on migrating to Java eventually)
If you could learn C and C++ you should be set.
 

purpledemon

Senior member
Jun 21, 2001
291
0
0
Originally posted by: Chosonman
just to add my 2 cents regarding Java,

I think Java for client applications Java is not a good idea because as xtknight pointed out it's a bit laggy compared to applications written in native code. But where Java excels is in cross platform applications especially one's related to web and Services oriented architecture. I'm just not a very big fan of Microsoft (C# is basically Microsoft's version of Java, but doesn't support the latest Java framework after much litegation from Sun Microsoft abandoned any updates to the language. IMO C# is probably a dead end if you don't plan on migrating to Java eventually)
If you could learn C and C++ you should be set.

You are confusing C# with J#. J# is/was Microsoft's version of Java and its still around mainly to help Java programmers transition to .NET programming.

C# is a completely different language albeit very similar to Java.

The choice of a beginning programming language is usually dictated by what you need to do with it. If there is no pressing reason for you to learn a particular language, I would suggest the following:

C# - Powerful, easy to learn programming language that will help you learn a broad skill set from a job perspective.
Java - Similar to above. Taught as a beginner language in schools
Python
Ruby

All of the above are good choices - just pick one and try to learn programming concepts. Transitioning to another language after that is not hard at all.
 

mugs

Lifer
Apr 29, 2003
48,920
46
91
The most important question is - what do you want to do with it?

Are you trying to get a head start on a college computer science major? I suspect not, since you're old enough to have used an Apple IIe.

Do you want to do web programming? If so, I'd recommend PHP. It's very easy to learn, and it's well-documented.

Do you just want to write simple little programs for your own use? Try Visual Basic (6).

Do you want to get a job programming? I'd suggest you start with C++ before moving on to Java or C#.

Languages are really unimportant. Once you learn how to program, learning to program in another language is a semi-trivial matter. I suggest C++ first only because Java and C# hide some of the details of OOP from you (i.e. pointers/addresses), and I think it is infinitely valuable to understand what's going on behind the scenes, even if you don't have to do it. I had friends in college who had a heck of a time with Java simply because they did not understand OOP well enough.
 

EQTitan

Diamond Member
Jun 4, 2004
4,031
0
71
Ok, here is the reason I would like to start learning some "real" programming languages.

1) Web based programming
2) Database (web)
3) Knowledge
*) Building small yet useful apps.

I have knowledge currently of the following languages (if you can even call them that by todays standards)

- BASIC
- PASCAL (very little)
- HTML 4.0 (Trying to transition into XHTML)

Thanks for the help guys I appreciate it alot. By the way I'm only 25 (I'm not that old, and I do miss my Apple IIe I still have my 3.25 diskettes with text to speech programs on them)

I'll start the XHTML and PHP tutorials on Lynda.com
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
XHTML/PHP is a good place to start for web programming (more so scripting), yeah.

By apps, do you mean standalone? I stand by my decision Visual Basic 6 is a good starting point.
 

EQTitan

Diamond Member
Jun 4, 2004
4,031
0
71
Originally posted by: xtknight
XHTML/PHP is a good place to start for web programming (more so scripting), yeah.

By apps, do you mean standalone? I stand by my decision Visual Basic 6 is a good starting point.

Yes, standalone.

Originally posted by: tuteja1986
learn strict xhtml... html 4.0 is crap :!
CSS
Javascript

When you know this then do :
PHP :)

I was doing Traditional, off to strict I go
 

fs5

Lifer
Jun 10, 2000
11,774
1
0
Originally posted by: EQTitan
1) Web based programming
2) Database (web)
3) Knowledge
*) Building small yet useful apps.

I'll start the XHTML and PHP tutorials on Lynda.com
PHP (because it's very popular although python/RoR is better)
MySQL
 

mundane

Diamond Member
Jun 7, 2002
5,603
8
81
I suggest picking up Ruby on Rails (there's a full installer titled InstantRails, includes MySQL, Apache et al). It is -very- easy to learn and deploy meaningful web applications.

Just in general, I'd suggest Python as a good intro language. You can still use the procedural approach you used with Basic, or move on up to Object Oriented.
 

montag451

Diamond Member
Dec 17, 2004
4,587
0
0
As others say - it depends on what you want to do..
If you want to do website design then there isn't much point in doing C++
If you want to write games, then there is not much point in doing php......

In general, if you want to go the programming route - start with C++, cos after you have done/semi-mastered that - everything else will be sooooooo easy.