novice:which web programming language to learn?

lounge

Disciple
no background in programming.. want to invest my time in learning a web programming language.. need advices to choose one...

languages on my list.. (order doesn't depict my preference of the language, just stating them randomly)

1. PHP

2. .NET family (ASP,ASP.NET later may be C#)

3. Java

4. Coldfusion

5. Ruby

6. Add on languages like javascript, ajax & flex etc..

well, all are good.. all are powerful.. but i have absolutely no knowledge about programming.. but once i am on one language, i shall learn it to the core.. (thats my way).. but then need guidance for which language to choose..

some of my arguments are :

1. PHP - great, available, no server issues, free code community, books, bla bla bla but then again no object oriented approach and not really good (i guess) for web apps..

2. .NET family - not that easy language for a novice to begin with and windows (microsoft) centered..

3. JAVA - hmm i am inclined towards java.. for all the reasons u guys perhaps know.. but then again, for a novice how easy/difficult shall it be to jump into java world.. cos java is doing prety much everything out there.. but i really don;t know how to even begin learning java.. and what background knowledge should i have before..

4.coldfusion & ruby - well.. i like them, but server support issues, and less community support... coldfusion is good for flash and ajax based apps.. thats a +.. and ruby is hitting the market good..

5. ajax, js, flex etc these languages i guess are a must.. so i'll learn anyway..

so, please leave a note of advice.. i really need to get started now.. i primarily need to program for web sites and apps related to them.. thanks a ton in advance.. :)
 
1. php - Great to start with. especially if you worked with perl/c. even if you didn't its easy to learn. php5 has great support for OO programming. to start out even php4 is good. you'll find many good framework to ease your job. community support is unbeatable. And its great for web apps.

2. Nothing is easier than .Net, being microsoft centered is another issue.

3. Java - personally i never liked java. I waste half of my time setting up the server and scratching my head over why the heck something doesnt work. Netbeans eased up some of my work, still i never got into liking it. Its useless unless you are writing an enterprise level application.

4.coldfusion & ruby - Coldfusion is very good and gonna have lotsa demand for it. ruby is still not widespread and both of these will be better if you start off with something from above.

Rest of the stuff is addon, you need and would have to learn as you go on building an app. Each of these have good future, so pick it as per your liking as all of 'em gonna stay in the scene.

HTH
 
I would suggest studying ruby/ruby on rails!! Somehow I think its the future along with java... I didnt recommend Java coz it can be pretty loong for someone who is just starting up!!

But Java IMO is one language that'll help develop your skills in any language!!
 
Hey dude, I would suggest that u go 4 ASP.NET.

It is the easiest language right now and vl be much simpler to learn if you know c or c++. I can tell you this after spending 2+ years working with ASP.NET. Earlier, I spent 2 months creating my project in Java and then realised that I could hv done d same thing in 2 days with ASP.NET.

And remember ASP.NET is NOT a language but an web application framework which uses either C# or VB.NET (or some other .net compatible language). So, actually you will be learning one of these languages. I vl recommend C#. And remember to start by 'doing' the things. From day 1 start with MS IDE and writing the programs. You can't learn a language just by reading d stuff. :)
Hope this helps,

Happy coding,
Abhijeet.
 
u said novice...u know HTML and xML ?

I know html and very very basic knowledge of coding.. familiar with the nomenclature - variables, loops, functions, operators.. i am essentially a web designer.. so you can trace back to my knowledge pool..

Its useless unless you are writing an enterprise level application.

i somewhat agree to this statement.. cos right now, i am making sites as freelancer and i have got quite good flow of work.. web programming makes me feel handicap, as i don't know programming.. so this area has to be conquered.. its not an easy job to be a good programmer same time being a good web entrepreneur(design, work procurement, content management, creation, ftp management etc.. ).. so i have to see that what language can be learned instantly and applied.. cos my clients are small businesses and portfolios, profiles etc..

Try using Herbert Schildt's java beginner's guide to get familliar with Java. It's written quite well and doesn't assume any former programming knowledge
Thanks.. i will give it a shot..

I FEEL:

many of u have suggested Java : JEE framework based languages.. my bro is a software engineer.. he is of same opinion too.. actually, whatever be the reality, PHP suits my requirement accurately.. i can learn it easily(compared to others), PHP 5 supports oo programming but lets leave that point for a moment, my clients needs will be satisfied with small & regular apps over web which can be very easily made by PHP..

but i do not want an easy way out.. i work hard, always have been doing so.. so, php should not be my option just because its comparatively easy.. but i need to know that java related web languages .. J2EE or java EE, servlets .. how economical and easy shall be their web hosting facilities, what about troubleshooting, community support.. i am an arts graduate.. lol, where will i go..

ASP.NET with microsoft IDE.. great way too.. server availability is also not a problem. support is also there.. and if i code in VB then even less coding.. i tried C# a bit.. i found it like simple english.. saying do this do that.. so, that didn't scare me away..

Conclusion:

I want to go by the suggestion of the majority here.. JAVA.. its future safe(someone explain me "futue" in terms of units of time )..

but my urgent need is to perform and produce the results in less than a month.. what do u guys think, if put good efforts, studying whole day.. should i give a shot to java..

or

safe an easy.. step by step.. i should learn C++, side by side PHP.. and gradually migrate to JAVA or asp.net..

reason:

i think with server availability(paid), and plethora of tutorials online.. i shall be able to learn php faster than java..

I am still inclined towards java but cannot see it happening according to my current needs

please feel free to comment / suggest.. also, if i am wrong somewhere, please point it out.. :) thanks for reading..
 
you answer all your questions yourself!

server availability php/ASP.NET will be plenty. for java, tough to find a good and affordable one.

community support/tutorials: ASP.NET and php again have an edge here.

everyone seems to be inclined towards java as its a popular buzzword. opportunities are no less in any other stream. AFAIK you're planning to do small websites as short term projects. Java is just not meant to do that.

Want to write a highly available, distributed web app, Java is the thing for you. But anything of medium and small in size, you're better off picking php or .Net. You'll be wasting your time with Java.

php - go through language basics. when pitching in for actual development pick up a good framework eg cake or codeigniter. There are many php5 frameworks available too, but they havnt really picked up.

.Net - Either C# or VB will do. Depends which one you like more.

If you're looking for a career in s/w industry, Java will be good choice. php won't as there are thousands of other people like you. However .Net will be good enough too.

safe an easy.. step by step.. i should learn C++, side by side PHP.. and gradually migrate to JAVA or asp.net..

i'd say

safe an easy.. step by step.. i should learn C++, side by side PHP or ASP>NET.. and gradually migrate to JAVA
 
i'd say
safe an easy.. step by step.. i should learn C++, side by side PHP or ASP>NET.. and gradually migrate to JAVA

Thanks!! but now again a choice between php n asp.net is there.. :( not that easy for me to choose between these 2 as well.

which one amoungst these shall render me a good programming base? i mean i have to migrate from them, thats what if kept in mind, learning which one (asp.net or php) shall be more beneficial in -
1. learning (general) coding basics & norms
2. migration friendly
3. coding nomenclature near to other languages like java

i guess ASP.NET has an edge over php.. so, that way ASP should be the choice.. but how close or similar is ASP to other languages (java) & their ways of expression.. or is it php which shall otherwise be more helpful in understanding coding as a whole??

please guide
 
lounge said:
i guess ASP.NET has an edge over php.. so, that way ASP should be the choice.. but how close or similar is ASP to other languages (java) & their ways of expression.. or is it php which shall otherwise be more helpful in understanding coding as a whole??

I think ASP.NET with C# will be better choice
coz u r sticking with OOP so it will be better for u to go for the pure object oriented programing , though C++ is not a pure oop but you will learn the basics of oop from there
in C# methods are resides into classes which resides into namespace(similar to java package).... providing concept of pure oop

Java the most portable,secured language is pure OOP language
So I think : ( C++(with some j2se programming) and ASP.NET(C#) ) ==>> J2EE will be better for u.

:)
 
1. learning (general) coding basics & norms

2. migration friendly

3. coding nomenclature near to other languages like java

1. Both

2. php is better

4. Both

ASP.NET seems easier as it comes with .NET framework with lotsa functionality loaded. Take a look at PRADO PHP framework - Home

I've started using it recently and I enjoy it as its very close .Net style, has native support for Ajax and lots of components. php sure comes out as better of two but there will be more people into php than .Net, so you can stay in the crowd or out of the crowd. I took up both at same time. working in parallel as i didn't wanna be left out. Give it a day or two. Go though usual php vs .net pages through google.

Decision is all yours to make. we can only point different ways ;)
 
You have said that your clients are small businesses. So the things you would want to concentrate would be for SMBs I think. Soo keeping this in mind -

Java - Unless you are into dev enterprice class apps, you wont need to look at this. And hosting solutions is also pretty limited.

PHP - Presently, PHP is the most common language used on the net for SMBs. You can look at CMS like Joomla which makes app development much easier. If you need a much flexible framework look at Cakephp.

ASP.NET - Not sure about this as im not a MS guy. But I think hosting can be a bit expensive than linux ones. But I might be wrong.

ROR (Ruby) - Ruby on Rails is a very good toolbox for web applications. I think you can start thinking about this when frameworks like Joomla start being a pain to work on. Hosting is pretty ok, maybe will have to buy higher linux hosting packages.

Django/Turbogears (Python) - Same as ROR but Python based. Are also pretty good and you get the adantage of huge python libreries into you toolbox.

For ROR/Django/Turbogears - These are basic frameworks with some admin level features done. So while starting you will be spending lot more time on developing some basic features. But if you make those components as separable ones, you will have a good toolset of commonly used features after couple of projects.

My suggestion - Start with PHP and one of the frameworks. If you build lot of portfolio kind of sites, Joomla and Drupal are good choices. If you build more custom apps, Joomla / CakePHP might be better.

Once you start feeling that PHP based ones are reaching a limit and draining you down, look into Ruby or Python.
 
fine then i guess i should be able to come to a conclusion now.. i have already started learning C++ just to strengthen my basics.. and side by side i will start learning PHP then migrate to ASP.NET(C#) then to Java finally.. keeping a target time span of 4 months to reach to java from php.. thanks guys for your support... will get back to you if i am struck somewhere... enjoy!!!
 
lounge said:
fine then i guess i should be able to come to a conclusion now.. i have already started learning C++ just to strengthen my basics.. and side by side i will start learning PHP then migrate to ASP.NET(C#) then to Java finally.. keeping a target time span of 4 months to reach to java from php.. thanks guys for your support... will get back to you if i am struck somewhere... enjoy!!!

C++ is probably the worst language to strengthen your skills. I have seen good C developers become bad after programming in C++. Read Linus Trovalds' entry on how he hates C++ for the same reason.

If u have a really short time... and lot of stuff to build, but also want to have good programming skills, I would suggest u learn Ruby On Rails. People have developed pretty amazing sites using Ruby On Rails in a single weekend!!
 
Every programmer has his own style so i wouldn't say that Mr. Torvalds is wrong in any way. In my opinion its the best stuff to learn. C++ is meant to ease things for you. C developers like to cling upon as if its still the 80s.

Ruby is a very good programming langauge, for person who has good experience in OO programming. Rails is an amazing framework. But tell me if someone started ruby from scratch and been anywhere in a week? Best way to learn OO is C++, nothing else!
 
Back
Top