views:

230

answers:

4

I'm interested in wed development and web 2.0 but I'm a real beginner, so I'm reading a lot about the technologies involved. I'm beginning to move towards ASP.NET because of the great free resources for learning.

However, as I begin to work in "Visual Web Developer Express" I notice that I need to understand ASP and C# or VB. Two technologies.

Is this the same for Ruby or PHP. Do you need to learn two languages/technologies to make web applications (not including XHTML/CSS/XML), or do you just learn PHP/Ruby?

Therefore is it quicker (not saying better!) for a beginner to start with PHP/RUBY rather than ASP.NET and C#/VB because you can spend your time learning one rather than two languages?

+4  A: 

ASP.NET is not a programming language. It's a server-side technology that supports programming in any .NET language. So you are not forced to learn 2 different languages.

This is just like PHP and Ruby. Both of them can be used to build non-Web based applications. When you are building Web applications with PHP, you are actually using both PHP scripting language and the functionality provided by some kind of framework that helps you specifically build Web applications. The two things are still the same.

The difference is that they are not given separate names.

Mehrdad Afshari
But if I decide to go down the ASP route then I will need to 'learn' the server side technology. And if I want to make it interactive I'll need to 'learn' another language: in essence two learning curves? Whereas with PHP it seems to be one learning curve.
Mike
Nope, I don't think there is anything different in those two. There *is* a learning curve for understanding what *Web* programming is and how it's different. Another for learning the language and the library. Most of .NET framework applies to all programming paradigms and you'd learn it once.
Mehrdad Afshari
Similarly, Ruby is the language whereas Rails is the framework for building web based apps using Ruby, hence Ruby on Rails.
Andy Rose
+1  A: 

I wouldn't call ASP.NET two languages. You cna use C#, VB.Net or something else to write ASP.NET pages.

PHP is a Webpage-centric scripting language. Some would call it a templating language because you can embed PHP in what are otherwise HTML documents. There are many ways to do PHP but you can if you want use just PHP. Others throw in things like particular frameworks (eg Zend), templating engines like Smarty and so on but these are all optional.

Ruby on Rails on the other hand is a heavyweight development stack. It not encapsulates a persistence pattern (active record) but goes so far as to incorporate a Javascript library (Prototype) into the stack. It's really an end to end solution that doesn't have the interchangeability of some lighter weight stacks.

cletus
+1  A: 

To make it easy for you, you don't have to learn both VB and C#. Only one will do. Both of them work fine with ASP.Net. In fact, all the languages which come under .Net umbrella can be used with ASP.net. So, don't worry at all.

If you background is VB or BASIC, then go with VB. If your background is C, C++, Java or if you don't have any background in programming, then go with C#.

Varun Mahajan
A: 

c# and VB are languages, .NET is the framework.

so i guess the easiest way to think about it, is c# is to .NET as ruby is to rails.

nailitdown