Newbie Programmer needing direction.

jrhd437's picture

They have: 13 posts

Joined: Dec 2008

Hello everyone. I am in college for web design and am about to have to take classes in a programming language and a second class in a scripting language. The college gives me a wide variety of languages to learn. I already know XHTML/CSS and working knowledge of javascript and adding JQuery this summer.

I am not sure which server-side programming language to learn, however.

I love PHP because it is so open and there are unlimited resources available...

... I have also seen that Ruby on Rails has a huge demand right now.

I am not that interested in ASP because it is so proprietary; but you are welcome to persuade me.

I am concerned on how easily the language can be picked up, but also on help available, as well as simplicity of the language and how the future of server-side is looking.

Any help? Thanks, you guys are great!

No more wrath.

pr0gr4mm3r's picture

He has: 1,502 posts

Joined: Sep 2006

I'm pretty sure PHP has a majority here on this site. I have done ASP only a little bit and nothing in Ruby. PHP has been the best choice for me for reasons you mentioned. I haven't had anything yet that PHP couldn't handle.

jrhd437's picture

They have: 13 posts

Joined: Dec 2008

Thanks pr0gr4mm3r. I think I'm leaning to Rails, but I just can't shake the openness and support of PHP. I have heard that Rails has saved a lot of programmers a lot of time... but I guess they weren't trying to do something they had never done before either (enter PHP's huge internet community).

Thanks everyone for all the help you have been.

No more wrath.

Abhishek Reddy's picture

He has: 3,348 posts

Joined: Jul 2001

jrhd437 wrote:
I love PHP because it is so open and there are unlimited resources available...

I wouldn't recommend it as a first programming language (especially one you're learning while not subject to pressing business constraints). I've found that it is conducive to poor design habits and novices either eventually have to unlearn them with some effort, or indefinitely repeat them.

jrhd437 wrote:
... I have also seen that Ruby on Rails has a huge demand right now.

General perception of demand might not be the most reliable way to choose a language to learn programming with. That said, Ruby is the language, Rails is a framework, and Ruby could be a reasonable choice. There are other frameworks available too.

jrhd437 wrote:
I am not that interested in ASP because it is so proprietary; but you are welcome to persuade me.

ASP.NET is supported in Mono, and ASP.NET MVC was recently released under the Ms-PL licence without additional use restrictions. It does run under Mono, but may not be production-ready yet. There is a mix of free and non-free components in the ASP.NET ecosystem, so you might still like it.

(In this case, C# would be the language.)

jrhd437 wrote:
I am concerned on how easily the language can be picked up, but also on help available, as well as simplicity of the language and how the future of server-side is looking.

PHP meets those particular requirements, perhaps better than any other language. But I recommend approaching this with a different set of constraints. Look for a language or environment that reflects good, thoughtful, robust design, architecture and engineering practices -- rather than one that appears simple at first. It may mean paying a slightly higher initial cost in terms of learning difficulty, but that will pay itself off in the long term.

Consider Python, Ruby, Java or C#, then. Or if popularity isn't a big deal to you, a Lisp (e.g. Clojure), Scala or Haskell might be worth your time.

Good luck.

greg's picture

He has: 1,581 posts

Joined: Nov 2005

The following link is a LONG read but in your position I would take the time to read it...
http://www.oreillynet.com/ruby/blog/2007/01/php_vs_ruby_on_rails_an_evol...

pr0gr4mm3r's picture

He has: 1,502 posts

Joined: Sep 2006

Sorry...but I lost interest when the author considered writing HTML "programming", and stopped when he referenced only Java & .NET as "enterprise-level" languages. Plus, a quick skim revealed that he was comparing a framework to a language.

He has: 698 posts

Joined: Jul 2005

I'm one of those people that jumped into PHP without really learning the right way to work with it, just the easy and fast way. I never actually read through a tutorial or manual, just looked through different scripts and examples to learn, and I've come to understand that my programming skills in PHP are quite sloppy and bloated.

Now I have run quickly through C++ and am right now reading a manual on Java, and I am finding Java, which you pretty much have to use appropriately, is a great language to learn to advance to something like PHP. I've never dealt with Ruby, so I can't compare the two, but I will say that upon learning something like Java, picking up PHP will be mainly about the syntax moreso than the idea and structure of programming. Wink

Kurtis

jrhd437's picture

They have: 13 posts

Joined: Dec 2008

Thank you all. Special thanks to Abhishek Reddy for making me look at things in a different light. Python, Ruby, Java or C# will be my new "to compare" list... Do these all accomplish the same end results, or do each of these languages have different strengths and/or applications?

I'm sorry for my complete ignorance on the issue. I'm trying to read up on it all as I really need make a decision soon - a decision that will no doubt effect my future in web design/development.

Thanks again everyone!

No more wrath.

Abhishek Reddy's picture

He has: 3,348 posts

Joined: Jul 2001

jrhd437 wrote:
Do these all accomplish the same end results, or do each of these languages have different strengths and/or applications?

The answer is yes. Wink They are all general-purpose programming languages and could be used for the same purpose. At the same time, they do have different strengths, weaknesses and other characteristics. It would make for a long post to explain what they are. Probably the best way to learn the differences is to learn the languages themselves.

I put Python and Ruby at the front of the list because they are (in my opinion) easier to learn, more expressive, and just enjoyable to use. But they can also be scaled substantially to meet efficiency requirements.

jrhd437 wrote:
I really need make a decision soon - a decision that will no doubt effect my future in web design/development.

Any of the options I named would be fine as a first language. Hopefully you'll want to learn more than one in the future, so you're not likely to regret your choice. Smiling

jrhd437's picture

They have: 13 posts

Joined: Dec 2008

OK then. Thank Abhishek Reddy (again!). I reckon I'll be going for Ruby then. I hear it can be harder because there are more than one way to do anything, but I guess I'll get used to it. I actual took about thirty minutes on the ruby site this morning and went through methods, arrays, strings etc. and I think it is (so far) pretty understandable. It's like reading English - not programmerish.

Thanks again!

No more wrath.

They have: 10 posts

Joined: May 2009

PHP is good but its only good for making small portals and shop carts. Grow up! Get into ASP.NET learning it is fun and challenging it lets you to write a codebehind file which is not scripts its a normal C# program that works in conjunction with the page's asp tagged elements.

jrhd437's picture

They have: 13 posts

Joined: Dec 2008

Something to consider, pulseraiser. As my original post says, I really don't have a very good knowledge of programming, so I'll have to look up what you're talking about. But thanks.

I have been playing with Ruby and really find it fun... and other than typos I haven't had any problems.

No more wrath.

greg's picture

He has: 1,581 posts

Joined: Nov 2005

pulseraiser wrote:
PHP is good but its only good for making small portals and shop carts.
Erm, that's not true, at all.

It's good for just about anything websites require.

pulseraiser wrote:
Grow up!
:puzzled:
The Ladybird Book of Hypertext Preprocessing Sticking out tongue

Want to join the discussion? Create an account or log in if you already have one. Joining is fast, free and painless! We’ll even whisk you back here when you’ve finished.