Welcome to Tech Support Forum home to more then 136,000 problems solved. Issues have included: Spyware, Malware, Virus Issues, Windows, Microsoft, Linux, Networking, Security, Hardware, and Gaming Getting your problem solved is as easy as:
1. Registering for a free account
2. Asking your question
3. Receiving an answer

Registered members:
* Get free support
* Communicate privately with other members (PM).
* Removal of this message
* See fewer ads.
* And much more..

 





Want to know how to post a question? click here Having problems with spyware and pop-ups? First Steps
Go Back   Tech Support Forum > The Conversation Pit > Programming
User Name
Password
Site Map Register Donate Rules Blogs Mark Forums Read

Programming A discussion forum for programs and programming used in tech-related businesses.

Reply
 
Thread Tools
Old 03-31-2008, 12:38 PM   #1 (permalink)
Registered User
 
FredT's Avatar
 
Join Date: Nov 2007
Posts: 192
OS: Mac OS X 10.5.2 and XP SP2


Grin What language should I learn?

Hi,

I am considering learning a programming language, but I really don't know what the differences are between the languages. Right now all I know as far as coding is HTML/CSS and I am starting to learn a little Javascript and maybe PHP.

I think Java can be used in web applets and such... right? So I was thinking Java might fit nicely into my web development, but I could still use it to make computer applications. I am completely clueless about all this so... I have no idea.

What is the difference between... say, C++ or C# or Java?

Any advice would be great. Thanks!

Edit: I'd also like my programs to work on Mac and Windows.

Last edited by FredT : 03-31-2008 at 12:40 PM.
FredT is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Old 03-31-2008, 02:41 PM   #2 (permalink)
Moderator
 
shuuhen's Avatar
 
Join Date: Sep 2004
Location: Colorado
Posts: 728
OS: Mac OS 9.1, Mac OS X 10.5.4, WinXP Pro, FreeBSD 6.0, Gentoo Linux


Re: What language should I learn?

C# could also do some web stuff, but programs won't work quite as well for non-Windows operating systems (the Mono project and dotgnu are working to change this though). I also wouldn't recommend this as a beginning language.

Java would allow you to make Java applets for your web-related projects. The programs should also run on Mac, Windows, Linux, etc. fairly easily (just need Java to be available for the platform). The programs will usually be slower than if it were made in C or C++ (but still very usable - just not as efficient).

C and C++ are fairly similar languages. C++ is just a superset of C. Basically it adds some features so it becomes an object oriented language. There are other changes between the language, but fairly similar overall. It usually takes more effort to make programs in these languages than in some others like Java, but they will run faster most of the time (large programs would be much better in one of these two). A lot of languages base part of their syntax on C, which makes learning other languages a little easier for those that know C already. You can use these languages to make programs for Mac, Linux, Windows and many other systems fairly well as long as you avoid system-specific programming. For example the Windows API's, DirectX, etc. are things that I would avoid using in a program.

For quick projects Python or Ruby might be a good option. I'm currently learning Ruby (planning on Python too, but not for a while), which seems fairly simple so far. Both of these could be good for web development. For Ruby, there's Ruby on Rails. For Python, there's Django and Zope (don't really know what Zope is like though).

I personally would look at C, Python or Ruby. C is my favorite, but it is more time consuming to make a good program with it. Python or Ruby might allow you to focus on concepts more in the beginning, then you could learn extra languages depending on what you wanted to do at that point.
__________________


Has it been a few days since I replied to your thread? Don't panic! I'm a busy college student and may forget a post if I'm extra busy (or it might just take me a while to be able to do a decent reply). If you still need help and are awaiting my reply after a few days, PM me about it.

When posting what errors you get, please give the full message. It makes helping you much easier.

Last edited by shuuhen : 03-31-2008 at 02:46 PM.
shuuhen is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Old 04-01-2008, 07:27 AM   #3 (permalink)
TSF Enthusiast
 
jamiemac2005's Avatar
 
Join Date: Jul 2007
Location: Northampton, UK
Posts: 914
OS: Win Vista Home Premium & Ubuntu Hardy(8.04)


Re: What language should I learn?

yeah i agree with shuuhen, C or C++...

Personally, i started as you have, with HTML/CSS then Javascript... javascript will take a while to learn if you're committed to it but its nice to be able to use it for small scripts etc and then you can go and use things like Greasemonkey for firefox to modify each page you look at... Anyway i then went on to PHP, which was an effort, then VisualBasic.net 2005 which oversimplifies programming.. i've just learned Pascal and Delphi for a computing course and i feel the same about that as visual basic... i've just started learning C++ and wish i had done so at the start, I'd definately advise to use C or C++ you'll find that C++ looks a fair bit like javascript, but C++ is a great language... and a great basis for learning other languages.... (very simple to develop aswell with something such as Dev-C++ and going through tutorials at cprogramming.com (which i'm using now[it has a wide range of tutorials for C and C++])...

Anyway, hope i helped in any way but shuuhen seemed to cover it all, hope all goes well,
Jamey.
jamiemac2005 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Old 04-02-2008, 04:31 PM   #4 (permalink)
Registered User
 
FredT's Avatar
 
Join Date: Nov 2007
Posts: 192
OS: Mac OS X 10.5.2 and XP SP2


Re: What language should I learn?

Thanks for the advice guys. I really appreciate it.

I guess I'm in a tough situation here. It seems like Jamey is recommending C/C++... Shuuhen too, with the addition of Ruby and Python. C would be fine, but I don't think it does any web stuff, so if I could just as easily "double up" with web AND software development, I probably want to do that.

So it seems the only languages that double for the web are Ruby, Python, Java, and C#...

I can knock C# off the list because Shuuhen said it doesn't do well cross-platform. I have never heard of Python, so I guess it kind of got a disadvantage here... I looked into Ruby and Java first.

By the way, I tried downloading the Java Developer Kit from Apple for Leopard and it only comes in 64-bit. What is this!? If I don't have a 64-bit comp, can I get the JDK?

I've been trying out a little interactive Ruby tutorial (http://tryruby.hobix.com/)... it seems like a pretty simple language... I think. I've also looked at some Java tutorials.

One thing I thought was strange about the Ruby tutorial I was taking was that it was set up more like a command line/terminal kind of thing rather than a script you would write out. Is it really like that or was that just the tutorial's way of showing you the language?

So I guess my options are Ruby or Java (or Python). Ruby was one of Shuuhen's suggestions, so maybe I should go with that...

So here is the question. Will Ruby do everything I want? I want to be 100% positive that this is the right choice.

I want to make some simple computer applications for both Mac and Windows. I want to use the language to do some more advanced web stuff. Speaking of web stuff, I was watching a video tutorial about Ruby on Rails and I was pretty intimidated. It looked like the guy was putting all these commands into a server (that's what it looked like, I don't know if that is what he was doing), he was jumping all around to different windows and typing bits of code here and there saying "Look how simple this is!", I really couldn't tell what he was doing... and I don't have a server I can type commands into! All I have is a cheap shared hosting plan. I wish I knew more about all this but I'm a beginner here, so bear with me. What do I need to make Ruby on Rails work?

I guess that if Ruby can write applications and create little web do-dads, and it is possible for me to get everything I need to write it (and learn it), I will go with that.

That's another big thing, my favorite tutorial place has tuts on Java but not on Ruby, so thats a negative.

So after writing all this... what's the bottom line here? Should I go with Ruby or go with Java instead (where I have a guaranteed learning place and am a little more familiar with how it works).

Thanks a lot.

Last edited by FredT : 04-02-2008 at 04:36 PM. Reason: Typo
FredT is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Old 04-02-2008, 04:53 PM   #5 (permalink)
TSF Enthusiast
 
jamiemac2005's Avatar
 
Join Date: Jul 2007
Location: Northampton, UK
Posts: 914
OS: Win Vista Home Premium & Ubuntu Hardy(8.04)


Re: What language should I learn?

Hey again,
I'm not too familiar with ruby, but i do understand that ruby on rails is a web implementation?
Java itself is interpreted and if you've learned any javascript (the two are not the same and that must be emphasised) but some of their syntax looks the same...

If you need a server you can set up a basic testing server on your computer, search google for apache... alternatively you can use a stand alone install program (which is a whole lot easier for a beginner[its what i used when learning PHP]) called XAMPP (google it if needed but first go through some basic ruby tutorials if thats the descision you make)...

I really dont know which is better but if you have more experience of java it might suit you better

it may also depend on your audience, personally i disable java applications on the web (through firefox) because the jre has always annoyed me and any time i use it i end up updating something i feel is unneccesary...

also set-up time and compile time make a difference but yet again i have no idea of ruby's capabilities etc.

To be honest it also depends on how far you intend to go with the language and what you intend to do next... If you intend to learn further languages then you just need to understand the principles of programming whilst if you just intend to use the language then stick to it then you can choose either...

With the cross-platform development i don't know what you intend to do either, with java the applications will run from a runtime environment which will obviously run on any computer with the jre installed, i dont know what rubys like so i cant comment there...

Hope you figure it out =]
Jamey

Last edited by jamiemac2005 : 04-02-2008 at 04:54 PM.
jamiemac2005 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Old 04-03-2008, 06:10 PM   #6 (permalink)
Moderator
 
shuuhen's Avatar
 
Join Date: Sep 2004
Location: Colorado
Posts: 728
OS: Mac OS 9.1, Mac OS X 10.5.4, WinXP Pro, FreeBSD 6.0, Gentoo Linux


Re: What language should I learn?

Well, the basic bottom line is that you learn to program well. A slightly more complicated one (hopefully covered partially by this post) is which language allows you to do what you want the best?

For the Apple JDK, have you installed the Developer Tools? They should be on the install disc (if you have two, it might be the second one). This will also get you Xcode and other Apple development programs.

As far as the languages, they all have advantages and disadvantages. What are you interested in developing as far as standalone applications? If they're fairly small, simple applications, Python or Ruby may both be decent options. Java could work, but I'd generally pick C over it.

You could try looking up programs made in each language

What you want to develop for the web will have an impact as well. Java can make applets, but Ruby and Python have been used for making the overall web site. Plone is a Python-based content management system (CMS) and Radiant is a Ruby-based CMS. You may want to look into both of those and check out sites built with Ruby on Rails or Django. The video's for Django and Ruby on Rails will probably look a little confusing until after you've learned the language they're based on.

A strategy you could consider is learning Python or Ruby for quick web and application development, then learning C and/or C++ later when Python or Ruby are not good options for the standalone applications. This would let you focus on concepts of how to program and less on language details.


Some of my thoughts on Ruby (and why I chose it over Python):

I picked Ruby over Python for a few reasons. I read articles and other documentation about comparisons and what is happening in each language. Python seems more developed, but object-oriented design apparently was an afterthought (meaning Ruby has better object orientation in its design). Python will also be undergoing a significant change in the future to Python 3.0 (currently 2.5) to address flaws in the language. Basically I want to see what happens in regards to these "major changes" in Python before doing too much with it. Both languages seem to have a growing list of dedicated programmers, so no problem there.

Additionally, Ruby is designed to be simple and productive. For people with a fairly small amount of free time, but have use for small custom programs, Ruby seems to be a good choice.
__________________


Has it been a few days since I replied to your thread? Don't panic! I'm a busy college student and may forget a post if I'm extra busy (or it might just take me a while to be able to do a decent reply). If you still need help and are awaiting my reply after a few days, PM me about it.

When posting what errors you get, please give the full message. It makes helping you much easier.
shuuhen is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Old 04-09-2008, 07:39 PM   #7 (permalink)
Registered User
 
FredT's Avatar
 
Join Date: Nov 2007
Posts: 192
OS: Mac OS X 10.5.2 and XP SP2


Re: What language should I learn?

Thanks for all the advice.

I think I will start with Ruby!
FredT is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



All times are GMT -7. The time now is 04:13 PM.



Copyright 2001 - 2008, Tech Support Forum

Search Engine Friendly URLs by vBSEO

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82