Best programming language to start with?

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

royaldank

Diamond Member
Apr 19, 2001
5,440
0
0
I would recommend reading a book on algorithms first. Knowing how to do things is more important than the programming language you choose. That said, I'd also recommend a Object Oriented language since that's the direction things seem to be headed now. C# would probably be my recommendation.
 

torpid

Lifer
Sep 14, 2003
11,631
11
76
I'd recommend c#. The reason I'd recommend it over c/c++/java is that it's a very mature language without having all of the bulk of stuff like MFC and AWT/Swing type crap. You'll learn the basics of the c family while working in a forced OOP environment, and you will also be able to work with more advanced programming constructs.

I would recommend java over VB.net simply because the c family has such a wide range of uses, and because it would be easy to learn VB.net if you know c#, but a bit more difficult the other way around.

You may or may not use c# for actual applications... doesn't matter. The syntax and OOP theology is what you want out of it.
 

magomago

Lifer
Sep 28, 2002
10,973
14
76
Python~ i'm learning it now and i'm told its the easiest and i swear...if i had to do anything "harder" i'd die

all i have to do is get thru this quarter, and then the oly other computer class i'll need is MatLab Thank god my department decided to switch us to Matlab instead of C/Assembly...i thought i was going to fail that class (i'm currently not doing so hot in python)
 

Armitage

Banned
Feb 23, 2001
8,086
0
0
Originally posted by: magomago
Python~ i'm learning it now and i'm told its the easiest and i swear...if i had to do anything "harder" i'd die

all i have to do is get thru this quarter, and then the oly other computer class i'll need is MatLab Thank god my department decided to switch us to Matlab instead of C/Assembly...i thought i was going to fail that class (i'm currently not doing so hot in python)

Programming is programming. While MatLab may abstract it to a higher level, I suggest that you still need to "get it", and may not do particularly well with MatLab either if you don't.
 

Extrarius

Senior member
Jul 8, 2001
259
0
0
Just to be different, I'll suggest Common Lisp.
It's an old language, and in some ways in need of an update, but it has pretty much all the features modern languages are advertising as new, and the age by no means prevents it from being a truly useful language - the thing is that it isn't used very often in typical application programming but more often in HEAVY duty programing by megacorps like AMD

Franz.com's Lisp Success Stories
Interesting Into to Lisp
Association of Lisp Users

Edit: Forgot an important part: Common Lisp has a much more uniform syntax than most languages, so you don't have to remeber as many details about which kind of punctuation to put where. There are a few special characters if you want to use them, but the case where you actually need to use them is very rare (in most cases they are just shortcuts, such as ' standing for the quote form and you can type out quote if you want to). This allows you to spend your time learning the actual functions/macros/forms and lets you start playing around fairly quickly. The interactive interface ('environment') also helps get your feet wet faster so you can start playing around without having to memorize hundreds of rules.
 

torpid

Lifer
Sep 14, 2003
11,631
11
76
I don't know if common lisp is different than the lisp I learned in college, but if not it is the last langauge I would recommend. I'd recommend prolog over lisp.
 

Munky

Diamond Member
Feb 5, 2005
9,372
0
76
I'd say javascript. It's not a real programming language, but it has many similar concepts, and it's easy, so once you get comfortable with it, you'll be more ready to learn Java, C, and the rest.

Also, I'm not a fan of 4th generation languages like VB or C#, because while they're easier to develop with, they run on top of a runtime library, not compiled into machine code. As a result, they cant run as fast - I bet you wont see a 3d game written in C# anytime soon. I personally prefer C++, just because it offers the power and flexibilty to do basically anything you want.
 

KoolDrew

Lifer
Jun 30, 2004
10,226
7
81
Thanks guys this has been alot of help. I will just learn web based scripting languages for now and then maybe move on to Python. I have heard from tons of people this is the perfect language to start out with. After that I may check out C/C++, Java, Perl, Ruby and LISP.
 

torpid

Lifer
Sep 14, 2003
11,631
11
76
Originally posted by: munky
I'd say javascript. It's not a real programming language, but it has many similar concepts, and it's easy, so once you get comfortable with it, you'll be more ready to learn Java, C, and the rest.

Also, I'm not a fan of 4th generation languages like VB or C#, because while they're easier to develop with, they run on top of a runtime library, not compiled into machine code. As a result, they cant run as fast - I bet you wont see a 3d game written in C# anytime soon. I personally prefer C++, just because it offers the power and flexibilty to do basically anything you want.

They are compiled, it's just JIT, and I am fairly certain there are tools to precompile them for a specific platform as well.
 

homercles337

Diamond Member
Dec 29, 2004
6,345
3
71
Originally posted by: notfred
Originally posted by: homercles337
Can someone explain why anyone would learn C# if there is no need for "web-based/.net" stuff? Im primarily a C/C++ (in addition to matlab, java, and numerous scripting languages), but if one was going to write a stand-alone app for windows why would C# be used?

Because it's faster and easier to write windows apps in C# than C++.


How so, and why? Visual C++ or Borland (VCL) are pretty easy and fast to use. Also, C# isnt a standard, right? I remember hearing that C# was spearheaded by MS, but that could be my confusion with the .net stuff.
 

torpid

Lifer
Sep 14, 2003
11,631
11
76
Originally posted by: homercles337
Originally posted by: notfred
Originally posted by: homercles337
Can someone explain why anyone would learn C# if there is no need for "web-based/.net" stuff? Im primarily a C/C++ (in addition to matlab, java, and numerous scripting languages), but if one was going to write a stand-alone app for windows why would C# be used?

Because it's faster and easier to write windows apps in C# than C++.


How so, and why? Visual C++ or Borland (VCL) are pretty easy and fast to use. Also, C# isnt a standard, right? I remember hearing that C# was spearheaded by MS, but that could be my confusion with the .net stuff.

Yeah borland and visual c++ are great until you have to write an actual useful application with them. Then you have to dive head first into the abyss of fiery death and hang out with satan's good buddies whose names are stuff like MFC, ATL, IUnknown, HRESULT, lpzstr, etc.
 

znaps

Senior member
Jan 15, 2004
414
0
0
Originally posted by: homercles337
Originally posted by: notfred
Originally posted by: homercles337
Can someone explain why anyone would learn C# if there is no need for "web-based/.net" stuff? Im primarily a C/C++ (in addition to matlab, java, and numerous scripting languages), but if one was going to write a stand-alone app for windows why would C# be used?

Because it's faster and easier to write windows apps in C# than C++.


How so, and why? Visual C++ or Borland (VCL) are pretty easy and fast to use. Also, C# isnt a standard, right? I remember hearing that C# was spearheaded by MS, but that could be my confusion with the .net stuff.


C# is an ECMA standard.
 

purpledemon

Senior member
Jun 21, 2001
291
0
0
The language doesnt matter too much. Programming is what you are trying to learn.

To pick a language, it would be wise to figure out what your motivation is?
What are you wanting to learn a programming language for?

Some examples:

1. For a job in enterprise development : Java, C#, JSP, ASP etc.
2. For Game programming : C
3. For Linux/Unix programming : C

So what do you want to learn it for?

If you just want to learn for the sake of learning, python and java are popular choices since they are quite easy to pick up and are also used widely.

Give us more information on your motives, and we will give you a better answer
 

Schrodinger

Golden Member
Nov 4, 2004
1,274
0
0
Originally posted by: znaps
Originally posted by: homercles337
Originally posted by: notfred
Originally posted by: homercles337
Can someone explain why anyone would learn C# if there is no need for "web-based/.net" stuff? Im primarily a C/C++ (in addition to matlab, java, and numerous scripting languages), but if one was going to write a stand-alone app for windows why would C# be used?

Because it's faster and easier to write windows apps in C# than C++.


How so, and why? Visual C++ or Borland (VCL) are pretty easy and fast to use. Also, C# isnt a standard, right? I remember hearing that C# was spearheaded by MS, but that could be my confusion with the .net stuff.


C# is an ECMA standard.

....and the .NET framework isn't.

Any language can become standard easily enough. But you program for a specific set of libraries. Try and take some Windows app you wrote with C# and run it elsewhere... go ahead. An ECMA rubber stamp is worthless then.
 

znaps

Senior member
Jan 15, 2004
414
0
0
Originally posted by: Schrodinger
Originally posted by: znaps
Originally posted by: homercles337
Originally posted by: notfred
Originally posted by: homercles337
Can someone explain why anyone would learn C# if there is no need for "web-based/.net" stuff? Im primarily a C/C++ (in addition to matlab, java, and numerous scripting languages), but if one was going to write a stand-alone app for windows why would C# be used?

Because it's faster and easier to write windows apps in C# than C++.


How so, and why? Visual C++ or Borland (VCL) are pretty easy and fast to use. Also, C# isnt a standard, right? I remember hearing that C# was spearheaded by MS, but that could be my confusion with the .net stuff.


C# is an ECMA standard.

....and the .NET framework isn't.

Any language can become standard easily enough. But you program for a specific set of libraries. Try and take some Windows app you wrote with C# and run it elsewhere... go ahead. An ECMA rubber stamp is worthless then.

And your point is? He said C# isn't a standard. He was wrong. Your statement also applies to C and C++ and I'm not sure what relevance that has in this thread in which the original question was why use C#.
 

Armitage

Banned
Feb 23, 2001
8,086
0
0
Originally posted by: znaps
Originally posted by: Schrodinger
Originally posted by: znaps
Originally posted by: homercles337
Originally posted by: notfred
Originally posted by: homercles337
Can someone explain why anyone would learn C# if there is no need for "web-based/.net" stuff? Im primarily a C/C++ (in addition to matlab, java, and numerous scripting languages), but if one was going to write a stand-alone app for windows why would C# be used?

Because it's faster and easier to write windows apps in C# than C++.


How so, and why? Visual C++ or Borland (VCL) are pretty easy and fast to use. Also, C# isnt a standard, right? I remember hearing that C# was spearheaded by MS, but that could be my confusion with the .net stuff.


C# is an ECMA standard.

....and the .NET framework isn't.

Any language can become standard easily enough. But you program for a specific set of libraries. Try and take some Windows app you wrote with C# and run it elsewhere... go ahead. An ECMA rubber stamp is worthless then.

And your point is? He said C# isn't a standard. He was wrong. Your statement also applies to C and C++ and I'm not sure what relevance that has in this thread in which the original question was why use C#.

There are plenty of cross-platform C/C++ libraries. With a bit of care & choice, programs written in these languages can run almost anywhere. The same cannot be said for anything in the .NET framework.
 

znaps

Senior member
Jan 15, 2004
414
0
0
Originally posted by: Armitage


There are plenty of cross-platform C/C++ libraries. With a bit of care & choice, programs written in these languages can run almost anywhere. The same cannot be said for anything in the .NET framework.

Sorry, that just ain't happening in the real world.
 

Armitage

Banned
Feb 23, 2001
8,086
0
0
Originally posted by: znaps
Originally posted by: Armitage


There are plenty of cross-platform C/C++ libraries. With a bit of care & choice, programs written in these languages can run almost anywhere. The same cannot be said for anything in the .NET framework.

Sorry, that just ain't happening in the real world.

It does in mine. Stuff I've written and/or work with regularly runs on Linux, Irix, Solaris, BSD, and even Windows on occasion.
 

halfadder

Golden Member
Dec 5, 2004
1,190
0
0
Originally posted by: znaps
Originally posted by: Armitage
There are plenty of cross-platform C/C++ libraries. With a bit of care & choice, programs written in these languages can run almost anywhere. The same cannot be said for anything in the .NET framework.
Sorry, that just ain't happening in the real world.
Bingo. Most of the code in the modern world is written in assembly or in basic C for embedded applications (your car's engine computer, your microwave's controller, your DVD player's firmware, etc).

Most of the *desktop computer* code in this world is written in MFC/C++ for Win32 and soon most of this will be written in .NET/C#.

There are MANY cross platform libraries, but it's an embedded and Windows world, so why bother?

About the only reason I could see writing cross platform code is if you were working on something for a server, then maybe you would want to support Linux or Solaris. Or if you were writing a game that you wanted to port to multiple game consoles, right now the XBOX is the only console that uses DirectX, so it's the only console that can run Windows games with minimal code changes.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |