Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ Programming ➜ General ➜ If you were just starting out, what language would you suggest

If you were just starting out, what language would you suggest

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Kingsmill   USA  (78 posts)  Bio
Date Mon 17 Jul 2006 06:26 PM (UTC)
Message
I am a student in a small rural city in the U.S.,
I am planing on going and getting a messuese degree from a massage school, so I can put myself through college for programming, what are your suggestions on the most practicle starting language ?
I have basic html down, that was the easiest crap I've ever studied...
I have some c++ knowledge, but given the way the software industrie is going, I'm not sure which language to go with....
Java seems good for multi-platform,
C++ seems good for basic programs,
Fortran seems good for number crunching,
XML seems good for web design,
and
It all seems to be a swirling, mystic, mass of utter confusion.
Help!
Thank you in advance for answering and helping out the youth of America despite it's corrupt government and buisness leaders...

T.A.N.S.T.A.F.L.
There Aint No Such Thing As Free Lunch,
From the moon is a harsh mistress.
Top

Posted by Kingsmill   USA  (78 posts)  Bio
Date Reply #1 on Mon 17 Jul 2006 06:45 PM (UTC)
Message
Oh, I forgott to point out who I was asking,
and that would be Nick Gammon.

T.A.N.S.T.A.F.L.
There Aint No Such Thing As Free Lunch,
From the moon is a harsh mistress.
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #2 on Mon 17 Jul 2006 06:47 PM (UTC)
Message
Quote:
Java seems good for multi-platform,
Java does have the advantage of being easy to use cross-platform. Any programmer should at least have a basic understanding of Java, I think, given how prevalent it is becoming.
Quote:
C++ seems good for basic programs,
Not sure why you think C++ is for basic programs. On the contrary, some of the world's most complex software is written in C++. I would be tempted to say that C++ is probably the most widespread language, along with C, although I don't actually have data for that. In any case, C++ is pretty much a must-have.
Quote:
Fortran seems good for number crunching,
I wouldn't bother learning Fortran unless you have a really good reason to. It's a very old language and I haven't ever heard of people using it recently except for legacy support.
Quote:
XML seems good for web design
XML isn't a programming language. Neither is HTML, really. They are 'markup languages' (hence the "ML" in their names). They are used to describe data, rather than a program. XSLT (a language for writing stylesheets for XML) is more of a programming language, but a somewhat limited/odd one. In any case, any computer person worth his/her salt should be able to read XML, and basic HTML.


I would suggest these languages:
- C++. Pretty much the industry standard. Very powerful language with lots of features.
- Java. Takes a lot of the niceness of C++ without some of the nasty things, but introduces its own sets of nastiness. In any case, Java is also very commonly used, and will give you a good understanding of object-oriented programming.
- Some interpreted (so-called "scripting") language. I would recommend Lua, Python or Ruby. It's good to know some Perl, so that you can understand programs written in it, but for various reasons I wouldn't pick it as a language of choice. My favorite would be Lua, but all three are good choices.


In the end of the day, whatever your intro programming courses teach will be the most useful. Once you understand the basic concepts, the language itself becomes less and less important. I don't remember where this was, but I think I remember relatively recently talking about this stuff on this forum. Maybe it was in this thread: http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=7124

Basically, learn whatever you feel comfortable with. The skill you gain will be transferrable to pretty much any other language.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #3 on Mon 17 Jul 2006 06:48 PM (UTC)
Message
Sorry, I didn't see your extra post since it came up while I was writing mine. Not sure why you're only asking one specific person, though. :-)

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Kingsmill   USA  (78 posts)  Bio
Date Reply #4 on Mon 17 Jul 2006 07:04 PM (UTC)
Message
It's ok, I can use all the info I can get...

T.A.N.S.T.A.F.L.
There Aint No Such Thing As Free Lunch,
From the moon is a harsh mistress.
Top

Posted by Kingsmill   USA  (78 posts)  Bio
Date Reply #5 on Mon 17 Jul 2006 07:09 PM (UTC)
Message
I asked Nick because of his programming background however I neglected to look at yours...

T.A.N.S.T.A.F.L.
There Aint No Such Thing As Free Lunch,
From the moon is a harsh mistress.
Top

Posted by Kingsmill   USA  (78 posts)  Bio
Date Reply #6 on Mon 17 Jul 2006 07:10 PM (UTC)
Message
You don't seem to have such info in your bio...

T.A.N.S.T.A.F.L.
There Aint No Such Thing As Free Lunch,
From the moon is a harsh mistress.
Top

Posted by Kingsmill   USA  (78 posts)  Bio
Date Reply #7 on Mon 17 Jul 2006 07:26 PM (UTC)
Message
When you say C++ would you suggest starting out in VC++
or plain old C++

T.A.N.S.T.A.F.L.
There Aint No Such Thing As Free Lunch,
From the moon is a harsh mistress.
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #8 on Mon 17 Jul 2006 07:38 PM (UTC)
Message
My bio on this forum is pretty empty, but my website has a little more information. If you're looking for "credentials" of some kind (or at least a rough list of experience), my resume is on my website.

VC++ isn't a different language, it's an environment to write in. If you can write C++ code, you can write it in pretty much any environment. But, if you have VC++, I would suggest using that over C++ because that would probably be easier than learning how to use Cygwin, vi/emacs, gcc, etc.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Dralnu   USA  (277 posts)  Bio
Date Reply #9 on Mon 17 Jul 2006 08:06 PM (UTC)
Message
Just for some side info - Fortan is used in scientific programs since, from my understanding, it is nothing short of bianary with memory manegment. Its a really old language that was designed for very mathematical programs, and the reason alot of programs are not written in it is C++ is fairly easy to use, and in most cases it can handle the job.
Top

Posted by Nick Gammon   Australia  (23,165 posts)  Bio   Forum Administrator
Date Reply #10 on Mon 17 Jul 2006 10:12 PM (UTC)
Message
First, I would certainly follow Ksilyan's advice. He is actually teaching programming. :)

I have done programmer training in the past as well, but Ksilyan is "out there" actually at a University right now.

Quote:

I have some c++ knowledge, but given the way the software industrie is going, I'm not sure which language to go with..


As you have identified, the first thing to ask is the purpose for learning a programming language. Web page design, writing a commercial program for a bank, and games programming all have individual needs, and you would select the "right tool for the job" in each case.

I can't see you going far wrong with learning C++. Compilers for it are available on virtually every platform (excepting perhaps microchip controllers), and are also free in many cases (like the Gnu gcc compiler).

Entire operating systems (like Linux) are written in C, so if it is good enough to write Linux in, it is good enough for most purposes.

Fundamental concepts (like loops, conditions, subroutine calls, arrays) are available in most languages, so a script language (Lua, Python, VBscript, Java, Perl) would be fine for honing your basic skills, and developing small to medium-size applications.

Quote:

... I can put myself through college for programming, ...


It would be worthwhile finding what the college teaches. For example, if they teach Python but not Perl, that is a guide for what to learn. They almost certainly teach C++ (or C) so again, you won't go far wrong with C/C++.

Quote:

I have basic html down, that was the easiest crap I've ever studied


As Ksilyan says, HTML is not, strictly speaking, a programming language. It doesn't have loops or subroutine calls, for instance.

Depending on your current skills, you could do worse than download the Lua executables (I have a copy here at http://www.gammon.com.au/files/mushclient/lua.zip) and use an editor like Crimson Editor (http://www.crimsoneditor.com/) to edit your programs. The Lua book has lots of examples you could try out (http://www.lua.org/pil/). With a small amount of mucking around in Crimson Editor you can make it so that a key (like Ctrl+F5) runs the Lua engine on the script in the window you are editing, making testing very easy.

With that (or some other script language, like Perl, Python, PHP, Java) you can get the fundamentals right.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Dralnu   USA  (277 posts)  Bio
Date Reply #11 on Mon 17 Jul 2006 11:27 PM (UTC)
Message
Python and Ruby both also have online docs for their languages, and Ruby bost that its easy enough to learn in a day. Just Google the two and you can find some help for both.
Top

Posted by Kingsmill   USA  (78 posts)  Bio
Date Reply #12 on Tue 18 Jul 2006 12:10 AM (UTC)
Message
Thank you all for answering my Q's with A's.

T.A.N.S.T.A.F.L.
There Aint No Such Thing As Free Lunch,
From the moon is a harsh mistress.
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


39,991 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.