Google Answers Logo
View Question
 
Q: Which programming language to learn? ( Answered 4 out of 5 stars,   8 Comments )
Question  
Subject: Which programming language to learn?
Category: Computers > Programming
Asked by: jjjames-ga
List Price: $15.00
Posted: 30 Jun 2004 10:43 PDT
Expires: 30 Jul 2004 10:43 PDT
Question ID: 368189
I did a math degree and programmed in Basic as a kid (I am 32) and am
looking to get into programming again. I want to know which
programming language to concentrate on first. I have already seen the
useful Google Answers at:
http://answers.google.com/answers/threadview?id=25842 and explored the
links in those answers.

A good answer will be from a programming expert who can  'get into my
shoes' from my criteria below and suggest a specific direction to
take.

My criteria are:

1. I am not looking to work for a big corporation or receive a large
salary. I have other ways to get an income. My goal would be to
explore areas which interest me and build up an expertise, doing
projects free for individuals or charities and eventually be able to
charge small businesses a reasonable sum as a part time freelance
programmer. My other goal is to never wear a suit or be in a 9 to 5
job (I have finished with all that).

2. What I enjoyed about Basic was the problem solving aspect of
building programmes and creating solutions and that is what I want to
continue with. I have done some web design (using Dreamweaver, Fash
etc) and I realised that I am not interested in the design work, just
the programming and problem solving side.

So I guess my main choices are C, C++, Java & PHP. Which should I focus on?

My question can be broken down into:

i) If I choose C/C++, I know this is a good foundation for
programming, but will I be able to get into doing small, interesting
projects for people or will it only steer my onto the corporate
ladder? I am not sure which areas of programming I could get into with
C/C++. I am more interested in creative fields (I am an actor and
writer too) than the corporate/ financial world.  And would going
straight into C++ be a huge jump for someone well versed in Basic?

ii) If on the other hand I concentrate on PHP (as was recommended to
me), I think that this is more in demand by small (web) companies, but
will I be able to do pure programming, or will I need to be involved
in design work too. I guess this is the 'web developer' job but I am
not sure how much of that job entails building programs and how much
is assisting with design work. I realise that PHP is not strictly a
programming language, but I wonder if the same inner rewards of
problem solving and creating solutions apply to it. I want to know
that I can get stuck into problems using PHP and not be in a 'wishy
washy' role of having to do some design too. I don't have a particular
leaning towards or aversion to internet related work.

iii) What areas could I get into with Java? Would this be more
appropriate than C/C++ for smaller projects/ companies?

iv) I am from the UK, but in New York for a while (perhaps a year) so
would be interested if there are differences between the US and UK in
regards the answer to this question.

v) If you can suggest any new, interesting areas for programmers I'd
like to hear that too.

Thank you

Request for Question Clarification by iq-ga on 02 Jul 2004 04:09 PDT
I have been a programmer for more than 10 years and have worked in
many different languages: Basic, Pascal, C, C++, Perl, PHP, Java, VB,
etc.

Here are my quick answers to your questions.  If these qualify as a
"answer" to your question, let me know.

1.  Most "projects" you would do for individuals/charities would
probably be web based so a language which is web friendly is
important.  Also, the cost of setting up the hosting environment for
an individual/charity is also important - so it would be better to
stick with languages prevalent on linux/freebsd and other popular free
operating environments.

2.  In terms of problem solving -- almost all languages have problem
solving ability -- math functions, etc.  Even Flash has ActionScript
which can be used to create some pretty funky gravity effects and some
pretty interesting game environments.

3.

C, C++, Perl, PHP, Java...

C/C++ are compiled languages meaning your code is converted to machine
language before it is executed.  In terms of processing speed, this is
the best option.  If you were building some very complicated program
that would take a long time to process, this would be the language of
choice.

Java is converted into byte codes which are machine independent and
then run through a Virtual Machine.  Java is slightly slower than
C/C++ but has the advantage of being a very clean object oriented
language and has the ability to run its code through a browser because
of its machine independent nature.

Perl, PHP are very similar and both interpreted languages.  They are
not pre-compiled.  This has the unique advantage of very fast
building/testing.  These are great languages for prototyping and quick
development.  PHP differs from Perl in that it is meant for embedding
within html code.  You will definitely want to learn at least one of
the scripting methods for incorporating code within html:  ASP, PHP,
JSP's..

i) C/C++ is a compiled language.  If you are looking to build desktop
software, very complex mathematical systems or real-time software --
C/C++ is your best option.  C/C++ is a strict language, so your
learning curve will be higher than some of the others.

ii) If you concentrate on PHP, I would start with Perl.  PHP is very
similar to Perl and the combination of PHP/Perl will allow you to
accomplish basically anything you want.  Perl has fantastic support
from the academic community and has functions for doing basically
anything you want.  Take a look at: http://search.cpan.org/ and type
in Math for an example of math extensions available for Perl.  Perl
scripts can also share variables with PHP and also be run through the
web.  PHP allows you to incorporate programming very quickly directly
into html which is very useful.  For example, if you wanted a to put a
variable from a database directly into a query string, all you would
have to do is:  <a href=test.html?<?=$variable?></a>  I think speed
would not be that much of an issue on the projects you seem to be
interested in -- so in terms of everything else, PHP/Perl are a very
good combo.

iii.  Java is great because of its cross platform capabilities.  If
you wanted to write software that would be run through a web browser
or that you would not have to redevelop for several different
platforms (Windows, Linux, Mac, etc.), then Java is the right choice. 
It is good to learn Java at some point anyway because it will force
you to use Object Oriented programming -- which is a much cleaner way
program.  A Class (door handle) has methods (turn left, turn right)
and a Class Door contains Class Door Handle, etc.

iv.  Shouldn't be any difference between US and UK.

v. I wouldn't rule out Flash ActionScript as a way to do some pretty
neat stuff.  Any other questions, feel free to contact me.

If you go with Perl-- a fantastic resource if you get stuck is:
http://www.perlmonks.org/

You can get answers to your Perl questions very quickly.

Clarification of Question by jjjames-ga on 04 Jul 2004 12:13 PDT
Thank you to everyone who sent comments, its is heartening to receive
so many responses.

Dreamboat- thanks for the info- I have started working on php and I?ll
have a look at the VB site.

Efn- some useful info, thank you- I hadn?t considered Python before, I
will look into that.

Carlhollywood- There?s some great stuff on that site, interesting the
comments on learning multiple languages. Thanks.

Wildeeo- Thanks for that info- I have decided to work on a few
languages, as you suggest.

Iq-

There is some useful information in your response but you focus more
on the features of the different languages whereas what I am mainly
asking for is suggestions on what areas of work I could get into and
your opinion on what languages to learn, given my criteria. eg (to
simplify!)  ?start with PHP, then learn MySQL, then build up with Java
and you?ll be in a position to take on the sort of work you want?

If you could expand and respond specifically to these points I would
consider your comment to be an ?answer?. Thank you.

Referring to your numbering:

1. 

?languages prevalent on linux/freebsd and other popular free operating
environments. ?
? exactly what languages do you mean by this?

?Most "projects" you would do for individuals/charities would probably
be web based?
? so are you saying that C++ would not be so useful to me if I want to
do such small projects? I can imagine that C++ could be used to do
anything but practically speaking, in the real world- can you give me
a list of types of projects (if any) that I could get as a freelance
programmer, using C++.

2.

So are you saying that if I focus on PHP, I could get work where I am
only/ primarily required to apply my programming skills (say, in
PHP/SQL) and not be required to do web design work at the same time?
As above, can you give me a list of projects I might get into with
PHP?

3.

I do already understand generally the differences you describe between
C++, Java, PHP in terms of whether they compiled. I want to be advised
specifically which language is more appropriate to learn given the
type of work I am after

i.

?If you are looking to build desktop software, very complex
mathematical systems or real-time software -- C/C++ is your best
option.?

So are you saying that if I do not want to do these things then I
should choose a language other than C++? I imagine such work is taken
on by corporate employees (and therefore not relevant to me)?

ii.

I hadn?t considered Perl but will look into that now.

iii.

Again, the features of Java are interesting but can you tell me
specifically what sort of projects I could take on using Java? It is
interesting what you say about Java and OOP.



So far, my intention after having read all these comments is:

To learn a few languages; I have now started PHP, to focus on web
based projects and I will probably move on to Java next and then
possibly C++ after that.

Clarification of Question by jjjames-ga on 06 Jul 2004 11:00 PDT
Hailstorm- thanks for that, I will definitely look at Perl now.

Iq-

This is much closer to what I am after, thank you. The terms 'Linux',
'FreeBSD' and 'real-time application' are new to me but I will look
into them. It's very interesting what you say about Perl- I hadn't
considered it at all before, but I will study it now. Also the info on
C+ is useful and will steer me away from it for now.

Just a couple of points:

One:

"2. So are you saying that if I focus on PHP, I could get work where I
am only/ primarily required to apply my programming skills (say, in
PHP/SQL) and not be required to do web design work at the same time?
As above, can you give me a list of projects I might get into with
PHP? You misunderstood me. PHP is pretty much only good for web based
applications. Perl, however, is very similar to PHP and can be used
for basically any project that you get involved with"

I think that you have misunderstood ME here! :)  What I am asking is-
for jobs in the internet field that use PHP (I think this it the job
title 'web developer'), are you expected to be involved in the web
design side of things as well, or are there jobs where I could just be
programming (in PHP/My SQL, say) and not have to do design work (which
I don't want to do). Basically I am not sure how the programming/
design work is split in the ' web developer' job.

Two:

You have given me a lot of relevant info on what areas each language
can be applied to so thank you for that. However, I am still craving a
list/ summary of what different projects/jobs I might get in the real
world using the languages we are talking about (PHP, Java, C++).

I want to ask an expert (you) this rather than just searching myself
because I don't know if i am getting the whole picture of what is out
there- it will reassure me to hear what an expert says on this. I am
not looking for a detailed list, just a summary and some examples.
Alternatively a link to such a summary would be good.

To illustrate what I mean, I will give my very uninformed attempt
below, based on the research I have done (mainly on Craigslist.org!)
of what there is out there.

(However I am thinking I am oversimplifying things here and that it is
difficult for you to answer this as I probably need to become more
familiar with the many areas of programming, which is an ongoing
process rather than something you can answer briefly.)

Anyway...

C++/ .NET (corporate):

Building desktop software
Writing games 
Building a firewall
Developing software applications
Developing databases

Java:

Instant message application
Point of sale application
Java developer

PHP/My SQL (smaller projects):

Building web based applications
Building dynamic web pages
Developing e-commerce sites


I am aware that this question could become very open ended so I will
leave it there. Feel free to submit this as an 'answer'. You have
essentially given an excellent answer.

Request for Question Clarification by aceresearcher-ga on 06 Jul 2004 13:18 PDT
Greetings, jjjames!

As a programmer, my opinion is that concentrating on one language is
not likely to make you really marketable. However, I can recommend a
path that will help you to start out with the basics -- providing the
ability to program basic websites -- and progressively build your
knowledge to the areas which are most in demand. I have listed first
the programs and systems which I believe will most easily and quickly
lead you to paying jobs as a contractor, rather than an employee.


DEFINITELY the first thing I recommend (for how can you do the fancy
stuff well, if you don't truly understand how the basic underlying
programming works???):

html
JavaScript (JScript is Microsoft's proprietary version)


Once you've acquired some proficiency at html and JavaScript (but not
until), you should learn to use
Dreamweaver MX

Then, I would recommend that you concentrate on (in this order):
php
MySQL
Apache web server
  (comprises well more than half of servers currently in use)


ASP (ASP.Net is Microsoft's proprietary version)
MSSQL/Oracle (Microsoft's proprietary version of SQL)
IIS (Microsoft's Internet Information Server, built into Windows NT)

CGI / Perl


Other recommended areas of study (not necessarily in this order):

xml

UNIX
Linux

ADOdb

Visual Basic (VB) (VB.Net is Microsoft's proprietary version)
VBScript

Java
JSP (Java Server Pages)

Flash MX

C, C++ (C-Sharp [C#] is Microsoft's proprietary version)

Python

Cold Fusion MX (CFM or CFMX) 
(There is some speculation that Cold Fusion may be on the way out; I
can't say how true or false that might be. Of course, Macromedia
claims that it's not.)

SQL Server


Here are some comparison articles that you may find very helpful:

Net Concepts' "PHP versus Perl Comparison"
http://www.netconcepts.com/php-vs-perl.htm

"PHP and ASP.NET Go Head-to-Head" by Sean Hull 
http://otn.oracle.com/pub/articles/hull_asp.html

"Perl ASP VBScript php JSP: Active Web Sites and Comparison of
Scripting Languages" from gbDirect:
http://training.gbdirect.co.uk/courses/perl/comparison_php_versus_perl_vs_asp_jsp_vs_vbscript_web_scripting.html

"PHP Versus Perl: Comparing PHP scripting with CGI scripting using
Perl" by Christopher Heng
http://www.thesitewizard.com/archive/phpvscgi.shtml

"PHP vs ASP" by Marty Anstey
http://marty.anstey.ca/programming/php_asp.html

"JavaServer Pages Technology - Comparison with ASP" from Sun (Java)
http://java.sun.com/products/jsp/jsp-asp.html

"Evaluate PERL/ASP/ColdFusion" (scroll down)
http://www.teratech.com/teratech/custom/asp.cfm

WebMonkey's "Choosing the Right Database System" by Richard Dice" 
(NT vs. Linux, MySQL, SQL, DDL, DML)
http://hotwired.lycos.com/webmonkey/backend/databases/tutorials/tutorial1.html

WebMonkey's "Server-Side Scripting Shootout (ASP ColdFusion JSP Perl PHP)":
(note that this 2001 article is older)
http://hotwired.lycos.com/webmonkey/99/46/index1a.html


Articles from PHP Everywhere:
  (note that the first two are older, and some things have changed since then)

"Comparing PHP with Perl for Dynamic Web Pages" (2001)
http://php.weblogs.com/php_versus_perl

"A Comparison of PHP and Cold Fusion" (2000)
http://php.weblogs.com/php_vs_cold_fusion

You may find the newer version of PHP Everywhere quite helpful:
http://phplens.com/phpeverywhere


Bear in mind that you may very well get lots of Comments from
programmers who have reasons to prefer one language / server over
others; all of these opinions have value and are worth exploring. I've
tried to list for you things to learn in the order which I believe
will make you the most marketable the most quickly.


Something you may want to consider: many Community Colleges offer
Certificates and Associates' Degrees in Web Developing and Design.
Having a piece of paper and/or demonstrable grades in these subjects
is probably a plus when it comes to prospective employers.
Furthermore, you are right to want to start developing your portfolio
of websites so that you have examples to show to potential employers.
Microsoft Certified Solution Developer (MCSD) Certification may also
be helpful.

Regards,

aceresearcher
Answer  
Subject: Re: Which programming language to learn?
Answered By: iq-ga on 10 Jul 2004 18:51 PDT
Rated:4 out of 5 stars
 
In an interest to close out this question, here is my final response
-- posted as an answer.

Q) Basically I am not sure how the programming/
design work is split in the 'web developer' job.

A) You are saying that you are not interesting in doing the front end,
graphics, etc.  You can easily outsource the frontend work using
elance.com or other service or partnering with a web designer.  What
you will get in return is the "html" pages and the graphics - or flash
pages/java gui.  You then take those pages with the text boxes, etc.
incorporated in them and put your code (PHP, ASP, JSP, etc.) inside
the page to create "dynamic functionality".  That is the simplest
process by which to only do the "development".  Or, you can create a
flash front end and use Actionscripts SendAndReceive command to send
variables to a php, cgi, or other script which would perform the
database access and return variables to your flash interface.  In that
case, you would use actionscript to do the most of the programming
that does not need to go outside of the application.

I did a simple google search for "front end vs. back end" and got this as a result:
http://www.buyerzone.com/internet/site_design/buyers_guide3.html

javascript is useful to know as it's easy to implement simple checks,
mouseover events in javascript.

Two:

You have given me a lot of relevant info on what areas each language
can be applied to so thank you for that. However, I am still craving a
list/ summary of what different projects/jobs I might get in the real
world using the languages we are talking about (PHP, Java, C++).

PHP would lead you into the "web developer" category.
Java would lead you into the "application developer" or "developer" category.
C++ would lead you into the "developer category" or "engineer" category.

I would visit monster.com or other job site and do a quick search for
"php", "java" or "C++" and see the types of jobs that come up.  They
are soo diverse that it would be hard to list here.

I want to ask an expert (you) this rather than just searching myself
because I don't know if i am getting the whole picture of what is out
there- it will reassure me to hear what an expert says on this. I am
not looking for a detailed list, just a summary and some examples.
Alternatively a link to such a summary would be good.

Well,  Jobnet seems to think that if you wanted to give yourself
access to the largest variety of jobs you would learn Java:

http://www.jobnet.com.au/ext/site/jobtrendscat.jsp?in_cat_id=1&catName=Programming+Languages&in_type=300&in_sessionid=

However, you said you wanted to be a freelancer... so PHP seems to be
pretty useful for people who want to do that:

http://www.freelance-help.com/

Now -- to answer your question below.  Java, PHP, C++ and other
languages can be used to perform an infinite variety of tasks.  You
can probably perform any programming task possible in either Java or
C++.  However, there are certain languages that are "more useful" for
different types of tasks.  For creating a web site that is functional
very quickly - I would use html/php/mysql.  If I wanted to create a
enterprise (corporate) web application, I would most likely use Java
on top of an application server (BEA weblogic, IBM websphere, etc.) 
If I wanted to create a firewall or a spam filter, I would most likely
use C++ in combination with MFC (microsoft foundation classes).

I have been a developer since I was 15.  I graduated from an ivy
league school with a degree in computer science engineering, taken
post graduate classes at Stanford in things as diverse as genetic
programming.  I have developed trading applications for Merrill Lynch,
worked for Sun Microsystems as a systems engineer, developed a number
of web properties and other programming projects. After almost 15
years of development experience with many different languages, I still
always look for the "best language" for any project that I'm working
on.  HTML, PHP, SQL, Perl, Java, C++ will cover most of your basis. 
However, new languages are destined to "show up".  When that happens,
just grab a textbook - work through the examples and start building
your application.

Good luck.

To illustrate what I mean, I will give my very uninformed attempt
below, based on the research I have done (mainly on Craigslist.org!)
of what there is out there.

(However I am thinking I am oversimplifying things here and that it is
difficult for you to answer this as I probably need to become more
familiar with the many areas of programming, which is an ongoing
process rather than something you can answer briefly.)

Anyway...

C++/ .NET (corporate):

Building desktop software
Writing games 
Building a firewall
Developing software applications
Developing databases

Java:

Instant message application
Point of sale application
Java developer

PHP/My SQL (smaller projects):

Building web based applications
Building dynamic web pages
Developing e-commerce sites


I am aware that this question could become very open ended so I will
leave it there. Feel free to submit this as an 'answer'. You have
essentially given an excellent answer.
jjjames-ga rated this answer:4 out of 5 stars
The researcher gave a lot of very useful information to what was a
rather open ended question. They just needed a bit of nudging in the
right directon, but in the end I have learned a lot. I would give this
4.5 if I could but the initial generality of the answer stopped it
being a 5.

Comments  
Subject: Re: Which programming language to learn?
From: efn-ga on 01 Jul 2004 20:36 PDT
 
I'm not knowledgeable enough to charge you for an answer, so I'll
offer some fragmentary opinions for free.

i)  C and C++ are as good as anything for small, interesting projects.
 C++ is a relatively big and obscure language, but you don't have to
learn the whole thing in order to use it.  C and C++ are generally
less forgiving than other languages--they give you more ways to go
astray.

ii)  I don't know what PHP's limitations are for applications other
than web applications.  I only hear of it being used for web
applications.  I suspect it may be too limiting for your goals.

iii)  You could get into just about anything with Java, except maybe
tiny embedded systems.  I would consider Java and C/C++ equally
suitable for smaller projects.  I found graphical user interfaces
easier to program in Java.

iv)  I have no information about this.  My guess is that it doesn't
make much difference.

v)  I suggest you consider the Python programming language.  It's
fairly easy, free, portable, and has lots of useful libraries
available.

Good luck,

--efn
Subject: Re: Which programming language to learn?
From: carlhollywood-ga on 01 Jul 2004 22:50 PDT
 
You might enjoy reading this (scroll down to "Learn how to program"):
http://www.catb.org/~esr/faqs/hacker-howto.html
Subject: Re: Which programming language to learn?
From: wildeeo-ga on 02 Jul 2004 11:04 PDT
 
Couple of comments:

- PHP can be used for things other than web applications, as there is
a CLI (Command-Line Interpreter) available. However, this use is
fairly rare.

- Once you have learnt one language, be it PHP, Java, or C, you will
find other languages *much* easier to learn, if you chose to learn
future languages.

Good luck, whatever you choose.

-- wildeeo
Subject: Re: Which programming language to learn?
From: hailstorm-ga on 05 Jul 2004 00:44 PDT
 
Perl is the most useful language in my experiences.  You can do just
about anything with it, and in a small fraction of the time required
of more firmly structured languages like C++.
Subject: Re: Which programming language to learn?
From: iq-ga on 05 Jul 2004 07:56 PDT
 
Answering your questions:

?languages prevalent on linux/freebsd and other popular free operating
environments. ?
? exactly what languages do you mean by this?

C, C++, Perl, PHP, MySQL, and many more.  Avoiding VB, ASP, and other
Microsoft languanges is what I meant.  You probably want to pick
either FreeBSD or Linux as your hosting environment.


?Most "projects" you would do for individuals/charities would probably
be web based?
? so are you saying that C++ would not be so useful to me if I want to
do such small projects? I can imagine that C++ could be used to do
anything but practically speaking, in the real world- can you give me
a list of types of projects (if any) that I could get as a freelance
programmer, using C++.

Almost everything accomplished in C++ can be accomplished in Java and
other languages.  C++ would be more useful if you wanted to build a
very computationally intensive application due to performance
improvements.  Building a gaming engine, file sharing application,
firewall, VoIP app, any type of real-time application, etc. would be
better in C++ than other languages.

Again -- C/C++, because they are 'compiled' into machine language
before runtime are better suited for applications where performance is
paramount.

C++ would not be as useful to you in programming for the web.  It is
significantly harder to send/receive information from your web browser
to C++ code.  Also, building and debugging C++ code is significantly
more intensive than interpreted languages (Perl, PHP).

2.
So are you saying that if I focus on PHP, I could get work where I am
only/ primarily required to apply my programming skills (say, in
PHP/SQL) and not be required to do web design work at the same time?
As above, can you give me a list of projects I might get into with
PHP?

You misunderstood me.  PHP is pretty much only good for web based
applications.  Perl, however, is very similar to PHP and can be used
for basically any project that you get involved with.  Perl, PHP,
MySQL, FreeBSD is a completely free software stack with which you can
accomplish almost anything you want to do.  I would add in Flash,
Actionscript, and Java if you wanted to develop multi-user web based
applications.

Many web sites run on PHP.  PHP, ASP, JSP are all interpreted
languages that are parsed with your standard html code.  These
languages are the easiest and fastest way to build dynamic html pages
(pages that change depending on inputs.).  If you are going to be
doing any web development, you will need to know one of these
languages.  PHP is probably the one you should focus on because of the
cost.

PHP is not useful as a stand alone programming language.  Perl, which
is very similar to PHP, can be used to create almost any program you
want.  Many developers actually prototype in Perl and then re-code in
C/C++ for performance.  Perl is a great language to learn on because
the build/debug cycle is very fast.  After you learn Perl or PHP, the
other will be extremely easy to learn.

3.

I do already understand generally the differences you describe between
C++, Java, PHP in terms of whether they compiled. I want to be advised
specifically which language is more appropriate to learn given the
type of work I am after


I would learn PHP, SQL, and Perl (in that order) initially.  I would
then focus on Java.  Only if I had an application that demanded very
fast execution would I focus on C/C++.  The majority of freelance
projects are web based.


i.

?If you are looking to build desktop software, very complex
mathematical systems or real-time software -- C/C++ is your best
option.?

So are you saying that if I do not want to do these things then I
should choose a language other than C++? I imagine such work is taken
on by corporate employees (and therefore not relevant to me)?

If you wanted to make contributions to the Linux/FreeBSD operating
systems, or any number of very interesting projects on
sourceforge.net, you would probably need to learn C/C++.  Otherwise, I
don't think C/C++ is important for you to learn initially.

ii.

I hadn?t considered Perl but will look into that now.

Definitely add Perl to your list of languages.  You can quickly figure
out how to accomplish almost anything you want in Perl.

iii.

Again, the features of Java are interesting but can you tell me
specifically what sort of projects I could take on using Java? It is
interesting what you say about Java and OOP.

Java is the best language to learn OOP in my opinion.  Java would be
very useful if you wanted to develop a stand alone application.  The
main advantage of Java over C/C++ is that it is cross-platform.  You
don't need to re-code your software for Mac, linux, etc.   If you
wanted to build a instant message application, mail reading
application, Point of sale application, etc. Java would be a good
choice.

So far, my intention after having read all these comments is:

To learn a few languages; I have now started PHP, to focus on web
based projects and I will probably move on to Java next and then
possibly C++ after that.

I would definitely add SQL and Perl in there.  Most applications that
you will be building will be database driven.

Good Luck.
Subject: Re: Which programming language to learn?
From: pests-ga on 06 Jul 2004 22:38 PDT
 
http://gtk.php.net/
"This web site is the home of the PHP-GTK project, which allows PHP to
be used to build graphical interfaces, with slick interface and highly
interactive content. You'll find the downloads and docs here, and the
latest news from the project."
Subject: Re: Which programming language to learn?
From: spraveenitpro-ga on 08 Jul 2004 00:06 PDT
 
Learn  Assembly Language.
Subject: fun, easy, powerful languages
From: mmmurf-ga on 08 Jul 2004 09:39 PDT
 
My suggestion:  Python and C# are both very powerful languages that
are paired with extensive libraries of pre-written functionality.  For
non-web programming, either of them will suit your needs quite well. 
Microsoft and others have (also) released tons of great documentation
for learning C#.  As a fairly new language, C# has been able to
improve upon Java, C++, etc.

Python is quite powerful as well, and may have a somewhat larger
library of functionality for non GUI applications.

For web development, php is fine.  Although you may want to also learn
a template engine like Smarty.  Most serious sites are built using
some form of templating.

Old style ASP (Active Server Pages) is very much like php, but ASP.NET
is quite different and is more powerful.  It also includes very nice
templating capabilities as a language feature in the new version that
Microsoft will release very soon.

Every now and then you'll encounter a problem that requires very high
performance.  I  typically use a combination of C and C++ for these. 
I'd wait on these until you have a problem that actually requires
them,... and in the meantime you'll get more experienced with modern
programming concepts.

Once you know C#, Java will make a lot of sense.  I'd stay away from
Perl, relying on Python instead, since Python is much easier to learn
and master.

You should also get familiar with databases if you're trying to find
employment.  I'd suggest learning two:  MS SQL Server and MYSQL.  You
want to be familiar with SQL and with tying a program to a database.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy