tags:

views:

687

answers:

6

I heard that C# is a rapid application development (RAD) language. Even after reading an article in wikipedia about RAD I didn't understand it.
Could you please explain it for me?

+5  A: 

Many things that are commonly tedious are provided for you by the framework (XML parsing, interaction with web services, memory management). You don't have to focus as much on the smaller things so you can work on the actual product.

Chris T
+2  A: 

Mainly, .NET has big comprehensive libraries to abstract away the low level stuff for you.

Dinah
+4  A: 

'RAD'ness is not an attribute of a programming language, but rather of a methodology (of which language choice is a small part). With a capable team, you can do RAD in C#; heck, with a capable team you can do RAD in ADA if you really want to.

As Chris T mentions, .Net (of which C# is a part) has a large and capable set of base libraries, and an IDE that makes it a relatively speedy language to build with. So you could say that C# is a RADer language than, for example, unmanaged C++...but again, that's a generalization that doesn't really apply to the language per se.

DDaviesBrackett
+2  A: 

Bascially, everything is rapid these days. Back in the olden days it might take weeks to create a simple utility. RAD languages, such as Visual Basic, allowed you to create a simple utility in a day.

Gerry Male
+4  A: 

It is a marketing term IMHO :) Basically Microsoft is saying you can build applications rapidly with it (as opposed to languages like C).

In general RAD languages will have:

  • Lots of pre-built software components you can use (File IO components, network components, classes for serializing and remoting etc.)
  • Development environments that support WYSISYG GUI creation.
  • Lots of tools for diagnostics, testing and debugging.
  • Automatic memory management (garbage collection).
RichAmberale
+1 for garbage collection
Scott Ferguson
+4  A: 

RAD is usually more a function of tools than of language and/or library.

So the RAD-ness lays more in Visual Studio and consists of the Designers (GUI's and DataSet/Linq2Sql/L2E etc). To see what RAD means, add a DataSource to your Application and drag&drop a Table on a WinForm. VS will add and configure a Grid and some supporting Components.

And on a side-note, RAD isn't always the best approach for making an App.

Henk Holterman
I agree. RAD is a general terms and it is not a language level thing but rather a tool chain level thing. Good examples are Delphi and C++Builder, who use "old" languages but offer RAD to developers.
Lex Li