Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
My colleague here argues that new programmers must learn ASP first, before they learn ASP.Net.
I seem to agree with him as most new programmers who start with ASP.Net do not understand web get, post and state management :(
Which is best to learn web programming Classic ASP or ASP.Net?
I'd pick ASP.NET MVC over classic ASP. The problem with classic ASP is the support level for it. With MVC, you learn both about web get/post and state management, while at the same time getting the advantage of using your favorite OO language.
I would say don't learn classic ASP and then ASP.NET. Classic ASP is dead. Or should be.
Why not learn ASP.NET (MVC and WebForms) while also dabbling in PHP. Looking at PHP would help a developer get a sense of what its like working at a lower abstraction level.
I'd say most new web developers would be better off initially learning about HTTP specifically without muddying things with either classic ASP or ASP.NET.
Once they have the fundamentals, then I'd suggest moving straight to ASP.NET and a compiled/object oriented coding language.
While classic ASP is more compact and focused (smaller group of objects to grasp), most code written using it is unfortunately in VB-Script.
Some of the most atrocious code I've ever seen was classic ASP web sites in VB-script. While it is probably possible to write maintainable and clear code in VB-Script, the language itself seems to almost encourage the complete opposite.
Also, it sounds like ASP.NET MVC would be a better choice for your environment as it "hides" less about HTTP from the developer. For certain types of application it is a better choice then ASP.NET Web Forms.
In summary: skip the classic ASP and avoid all of the bad habits and problems that it can introduce.
It wouldn't hurt to start with Classic ASP, but I don't think it would be worth it since with a little effort you can understand what Webforms is abstracting away from you. If you want the best of both worlds, start with ASP.NET MVC.
It's the equivalent argument of saying something like:
"You must learn pascal before you learn C++!"
You're comparing 2 different languages & platforms.
I agree with others here that learning the HTTP request/response model is the key. I have also noticed that many .NET developers don't understand the HTTP model. I learned it using ASP, but .NET WebForms makes it easy for developers to not need to know it. So I agree that ASP.NET MVC would a great way to do both .NET and learn the HTTP model.
There is very little value in starting out with ASP. If you were an ASP programmer back in the day then you can appreciate some of the concepts that have carried on into ASP.NET. The fact that IIS 7 and newer versions of Visual Studio are not really that ASP friendly means that learning it as a new programmer is really more hassle than its worth. Start with what's current is what I say because its what everyone's doing.
Also, be solution oriented - language should be secondary. At the end of the day you need to deliver something that works which makes the customer happy.
Both languages have their individual advantages.Though, I agree with reply by 'Haacked' and 'John Sheehan' both. Every one will have their individual opinions. So better start learning in which you are interested.
I think you need to be thinking far further than state management and instead be thinking of the other implications of imposing learning classic asp first.
Rather than learning classic ASP, instead ensure your developers have "state management" as part of their training process. All good training material will include a state management section.
You may run the risk of thinking in the classic ASP paradigm and attempting to apply a defunt design pattern to ASP.net. Instead of making best use of ASP.net's platform and technology.
Having said that I have been developing in ASP.net for a number of years. I am currently maintaining enterprise grade classic ASP systems. Having the knowledge of how the frameworks behind these systems were developed pre-ASP.net is very valuable and HAS improved my ASP.net.
Learning an alternative language is always valuable: Recently I developed an iPhone app in objective-C, it has given me a better understanding of the MVC pattern (the defualt paradigm in XCode) - so will improve my ASP.net in the long run.
Although looking at enterprise systems will be valuable, I do not think just dabbling in classic ASP (i.e. small one-off pages) for the purpose of state management etc is worthwhile and may have detrimental effects. Instead invest time in learning ASP.net "well" (i.e. include state management).
n.b. I have found it tricky not to turn this into a classic ASP / ASP.net debate. Instead tried to concentrate on the learning.
You don't really learn ASP.NET, you'll learn a language such as C# or VB.NET. But yes .NET > !.NET
Why you should learn classic ASP at all? It is dead; no new work is done in it.
If you want to learn a programming model that works the way that the web works (Which Asp.net webforms does not, it is a leaky imitation of windows forms), there are modern models like ASP.Net MVC.
Learn the fundamentals first by writing static pages and understand the basic HTTP request/response model.
Then, move on to using server side technology. I'd recommend with Asp.Net Mvc if your head is not already filled with Asp.Net webforms model, however understand the tradeoff. Most likely you will have to deal with webforms sooner or later as majority .Net brownfield webapps are using that platform.
I would recommend just going with ASP.Net. ASP is so old a technology that they will have to learn so many work arounds to things that are common place.
I would also go with straight ASP.Net over MVC as the jury is still out (for me anyway) on how valuable MVC really is. It takes a lot of control away from the developer.
Related
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I know the differences between ASP and ASP.NET generally, as I am new to both, so I don't understand all of them, but I get the fact that ASP.NET is built on top of Microsofts .NET framework, and is the next generation of ASP, but it's built from the ground up.
W3Schools and another question here on SO provided great help explaining the difference!
I was wondering if it is worth it to fully learn Classic-ASP before diving into ASP.NET.
Why do people still use Classic-ASP? I've heard about the benefits which ASP.NET provides, and it seems like it would be worth it to switch.
Do people still use Classic-ASP because of server issues, or just because they prefer to work in it for some reason?
I would like some guidance on which I should start learning first, and why if anyone has any good suggestions?
UPDATE:
Thanks for the very helpful posts everyone! They gave me a great indicator of what is important, and why!
Thanks!!
There's little or no point learning classic asp as a precursor to asp.net as whilst similar in some respects(the Server, Request, Response objects and their associated methods, etc), they're different enough that one doesn't serve as a gentle introduction to the other.
If you've no need to know classic asp, definately go with asp.net as it's "the way of the future", be it in its MVC or WebForms guise. The only reason I can think of, now, to learn classic asp would be to support a legacy application. I'd be very surprised if there's any new "greenfield" development being carried out in classic asp on any great scale. There's also a great question (that I provided an answer to) that will give you some info on the differences between asp.net WebForms and MVC that's well worth a read.
When it comes to deciding "which language" out of the choice of C# and VB.net, pick whichever you find most comprehensible, at least initially. You'd be advised to at least consider C# as examples, samples, tutorials and suchlike are much more readily available in it. One look at the C# tag vs. the vb.net tag (105,977 questions against 10,815) here on stackoverflow makes it quite clear which has the broader uptake.
ASP.Net and Classic ASP really have nothing to do with each other. Yes, they are both technologies for building websites, but the relationship stops there. Incidentally, Classic ASP is more comparable to PHP than any .Net language.
Some people still have classic asp sites, but there aren't enough left to justify spending the time learning it... Unless you are already working on one. The main reasons any of those sites are still around is they still work (old bits don't exactly grow moss) and the cost to redo everything is high enough to not be justifiable.
Just learn C# and asp.net. Don't do VB.Net as it has a much smaller following.
I would so no, as classic asp is just going to teach you bad habits.
Unless you have to work on an existing projects that already uses (classic) ASP I don't think it is worth the effort to learn. You could save yourself a lot of headache by stearing clear of that rather dated technology.
Even though the templating engines have similarities you will have to code your (classic) ASP pages in VBScript or JScript. In ASP.NET you will be using C# or VB.NET. The .NET platform is much richer than the COM based scripting platform.
Don't bother learning classic ASP unless you know for sure that you'll be working with it. Personally, I wish I could forget it. Stick with ASP.NET. Microsoft won't be going back to classic anytime soon.
Only if it is a walk down memory lane that you seek, or if you are an unfortunate soul having to maintain ASP Classic web sites.
ASP.NET nicely balances dev productivity, ease of maintenance, separation of concerns, and performance issues which were present in ASP classic.
At the same time, you might look at the earliest CGI generators on Windows - anyone remembering sprintf-ing HTML from C++. Ouch.
http://www.west-wind.com/Weblog/posts/1143.aspx
Pretty much definitively not, no.
The last version of ASP was released nearly 10 years ago with a verison of IIS no longer being supported. All the various clones of ASP have also long since died, and basically the only reason it continues to exist is legacy support.
You do not want to base your future career plans on supporting dwindling and archaic code bases.
Platform itself isn't worth learning for new work--its ancient these days. It could be of some interest in a "understanding where we came from" and "understanding why all these old farts you work with have wierd self-defensive habits."
There is one good thing you can learn with it--how to handle classic HTTP request/response in the nude. ASP.NET MVC brings this back a little bit, but there is still quite a bit of abstraction and black magic surrounding it. Except when said magic fails and the abstractions start leaking and you need to understand the underlying transport . . .
Like everyone else said, the short answer is: "no", you don't need to learn classic ASP. The long answer is: even the most complicated classic ASP site should be rewritten in a newer technology, whether from Microsoft or someone else. Time would be better spent analyzing the old application to get a list of requirements for a new application and learning how to make it work with the newer technology. The fact that a company is still using a site that is 10+ years old and is hiring someone to support it instead of replace it should be a red flag for every developer.
I have been working with C# for past four years at the enterprise level. Now, I have taken a decision of moving to Web side of the things. Since I am well versed with C# and WCF I naturally zeroed in on ASP.NET as I need not learn a new Programming language. Learning just the Web Framework will suffice.
I have read a lot regarding MVC, so starting out with MVC 2.
My Question is Will I face any roadblocks if I learn MVC without learning Web Forms? Keeping in mind that this is my first foray into Web Development?
Looking forward to some good suggestions.
I was in your exact same position. The only problems you may have is wrapping your head around postbacks and what tha means. Having said that, MVC2 will teach you how to write better code instead of the typical spaghetti that comes asociated with webforms.
If you're new to MVC2 I'd recommend buying Wrox Professional ASP.NET MVC2 from writer Scott Hanselman.
Learning web development these days is hard as you need to be an expert on so many different things!
You need to learn HTML/CSS/JavaScript(ie, JQuery)/Json regardless of the server side framework you are using if you are creating “rich” web applications.
I would say starting with ASP.NET MVC is not a bad option before moving onto ASP.NET Web Forms. You are likely to hit both going forward, but as ASP.NET MVC does not hide what’s going on so much, I think it may be a better start.
However if you just wish to create simple forms on the web, it is hard to beat ASP.NET Web Forms, but as soon as you wish to do something more advanced, the Web Forms complex page cycle will give you pain.
If you're looking to apply your web skills to enterprise environments, you'd probably find a lot of environments still leveraging Web Forms. Outside of that, I can't imagine it would really hurt you that much.
The bigger thing about web development is getting familiar with HTML/CSS/JavaScript(ie, JQuery). The skills learned there are applicable to either environment. You'd probably be able so switch back end frameworks rather painlessly as long as you're used to c# and all the web stuff previously mentioned.
I think it depends on what type of applications you are going to be developing. I believe web forms would be easier for you to learn with the background you already have in WCF. But it might not be worth it if the applications you are developing are better suited for MVC rather than web forms.
My recommendation would be to determine what type of applications you are going to be developing and then look at the strengths and weakness's of each and then determine which one you are going to focus on.
You most probably won't. There are some concepts that belong to the web-application environment (session, caching, etc) that are common but you'd have to learn about them anyway. They are two separate frameworks so nothing very specific about one of them could help you with the other.
You will undoubtedly run into issues when knowing a "new" way of doing things without having been brought up in the "old" way of doing things. It's unavoidable, really. I'd suggest learning the basics of WebForms code if possible, if for no other reason than to be able to trudge through it when necessary. Of course, if you find yourself in the position of having to support a WebForms application, you'll learn by doing just like anything else.
This question reminds me of my early days in .NET (which were the very early days of .NET in general) and trying to find assistance with various issues. I was an entry level developer, hitting up forums and such with questions. Everywhere I went, people weren't really adopting .NET just yet. They were all old Windows platform developers, whereas .NET was my first Windows development (I was all UNIX/Linux in school). Invariably, nearly every question I asked was answered with something suggesting that I "just use COM." Of course, I wasn't familiar with this. It was "the old way" and I was using "the new way."
It was difficult to work past that, and you'll likely face the same issue here. Basically, when people have made a career out of doing something the one single way they know how, they tend to expect everyone else to know it as well and will cling tightly to it as their bread and butter. You can be better than that, but it'll require patience :)
I assume that your development experience included Windows Forms. In terms of the transition from Windows Forms to ASP.NET WebForms, there's no doubt that would be an easier transition. Whether that would be the best transition is another question. And I believe the answer is without a doubt, no.
MVC allows you to gain an understanding of the way the Web works. Understanding GET and POST, Requests and Responses, not to mention HTML, CSS, JavaScript, et al.
I would not hesitate to recommend MVC.
I don't understand why you don't want to learn Web Forms. Learning Web Forms is just like learning abc's. You'll learn it as you go along with MVC. My suggestion is, Just go with the flow in your learning of MVC and you'll be surprise that you're already learning Web Forms.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I realize that VB.NET and ASP.NET are the successors of their seemingly obsolete classic counterparts, but I have noticed that some job descriptions still list VB6 and classic ASP as requirements. This may be because they want people who can convert code from classic to .NET, but I'm not really sure. Would classic VB and ASP be helpful in maintaining a long-term career, or should I just skip them entirely and learn .NET? Are the differences between the old and new enough to even make a difference as to which I learn first? If it helps, I'll be looking to start an internship in about a year and a half, but I'm not going to be looking for an actual job for another year or two after that.
As someone who has worked with both, and with people who started with both, I'd recommend learning .Net first.
Why?
If you learn VB6 or classic ASP, you'll get used to the procedural non-object-oriented way of development. This is not a good thing, particularly if you want to move into different (newer) languages later in your career. I've worked with many people who started in procedural languages and really struggle to think in an object-oriented way. It becomes frustrating for all involved.
It's much easier to go from a .Net language to Java or C++ or even RoR or really anything that's becoming more popular.
If you're a .Net developer, you can generally write VB6 or classic ASP code. You lose a bit of what you're used to, but it's not difficult.
If you learn VB6 and classic ASP you'll probably always be able to find work. Will it be work that interests you? Maybe, maybe not. If you get into .Net though, it's an easier transition to new jobs and interesting problems and even new languages if you're so inclined. Microsoft isn't going to let .Net go, but VB6 and ASP.Net will slowly lose their support and community.
If a job requires VB6 and classic ASP I'd run. Unless you're about to retire, you should stay less than 10 years back in development and learn new technologies.
Learn .NET, preferably C#.NET (easy if you know Javascript). VB and classic ASP will be easy to figure out after that.
The 2 are greatly different. Unless you are forced to use classic ASP, you should go for ASP .Net. If you are going the .Net route, it would probably be worthwhile to go with C# as the base language as well.
Learn .NET. They're migrating to it for a reason: it's the "latest and greatest" and has more advantages than its predecessors. Think of it this way: 10 years from now when we're all migrating .NET to XYZ (hypothetically speaking) the VB6/ASP knowledge won't be helpful.
Why are you willing to pigeon-hole yourself into that segment of the market to begin with? I've done a few migrations and they're not the most exciting projects. If you do end up getting such a job, you can pick up what you need to understand what the old code did and use the appropriate equivalent in .NET.
The concepts do differ and with the rate at which new technologies are being released lately it is a step backward to ignore the new and pursue the old.
I'm going to go on a different route and say Learn VB6 and ASP Classic first and then learn ASP.NET. Learning ASP Classic first will teach you all about HTTP, HTML, and session management. You will discover what spaghetti code looks like, and you will learn how hard it is to display tabular data. With paging. Learning ASP Classic first will make easier for you to relate to PHP.
After that, learn ASP.NET and you will appreciate all the good thing it offers. I'd say that it would probably takes 1 month of small project to get yourself comfortable with ASP Classic, and another one or maybe two month to get a good grip on ASP.NET fundamentals.
Whether you should learn VB6 or VB.NET depends on your goal. VB6 is easier to learn so if you want to learn any programming language, it will be easier to learn VB 6. Many people also work for companies that have a large embedded base of VB 5 and VB 6 code, and they need people to support that code indefinitely. If you are learning to program so you can help support this code, you need to learn VB 6.
Many of the concepts in VB .NET are different from VB 6, however. VB .NET is more object-oriented and follows a model closer to the one used by C++ and C# (no coincidence). Learning VB 6 first won't help you too much with those concepts and you may be better off learning them first so you are a "native" object-oriented programmer. If you later plan to learn other languages such as C++ or C#, you may want to start with VB .NET.
It all depends on your programming preference. I can do almost anything that .NET does with classic ASP. I prefer classic ASP because I do not like large libraries such as .NET. I find it harder to learn a library than writing my own libraries. I see posts saying that ASP.NET separates code from html but you can do this with classic ASP too using a template class. If you are an old school programmer like me chances are that you will like classic ASP better than again I prefer C over C++ because I like simplicity. Most programmers would prefer a new technology that comes with bells and whistles over the old.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I need to learn and adpot the MVC methodology for building web apps. Which is the better way to go given that I have experience with ASP .NET Webforms - ASP .NET MVC or Ruby on Rails?
I've heard people going gaga over RoR and its simplicity and its features such as scaffolding, ActiveRecord, convention over configuration etc.
However, I fail to see what is so great about these. Most of them sound basic (the kind you'll not really want to use in production code - scaffolding for example) - and most of them sound like they are there in ASP .NET MVC in some form or the other.
Why should I consider learning RoR over ASP .NET MVC?
Are there benefits I do not know about or am unable to perceive?
I suggest you learn both!
I'm a professional ASP.Net developer by day, and a hobbyist RoR developer by night. Learning RoR will in fact make you a better .Net developer, and it's fun!
Also consider that one day you may in fact be able to write an ASP.NET MVC app in IronRuby instead of fussy old c# :)
There are many reasons I would recommend learning RoR over MVC
It's a much more mature stack. It's been around since 2005.
You get to learn a new programming language. "They" say you should learn a new programming language every year.
There is a very rich set of extensions to the base stack. Eg. HAML, Authentication gems, profiling and the list goes on and on.
You get to use database migrations out of the box. Something that is a bit of a breakthrough in database configuration management.
Dynamic languages give you a massive amount of flexibility.
That said: ASP.Net MVC is an awesome framework from Microsoft. I am not advocating dumping your stack and moving to the dark side. I just think it helps to have a broad understanding when it comes to technology.
If you're familiar with the Microsoft stack (Windows, IIS, SQL, ASP.NET) but not so familiar with the Linux stack (Apache, MySql, etc), then going with ASP.NET MVC over Ruby on Rails will cost you a lot less in the long run, in time spent on learning infrastructure.
I suggest you take a look at the job market in your area, and choose what will increase your opportunities. Ruby on Rails is a great framework, but if nobody in your area cares or uses it, then it won't do you any good to learn it (speaking from a career perspective - there are lots of reasons it would benefit you from a learning perspective). I was faced with this dilemma recently and gave it a lot of thought; since my area is pretty much 99% .Net based and that's what companies want, I decided to focus on MVC and becoming an "expert" in ASP.NET instead of learning RoR, since there's no demand for RoR. I actually wasted two months learning RoR before I realized that it would help me personally, but not professionally.
That said, if you're planning on striking out on your own then choose whichever one you feel more comfortable with. If you already know Asp.Net though, I'd recommend taking a look at the MVC framework first since it leverages what you already know, but I heartily suggest looking at picking up Ruby, if not the Rails framework, since it's a very good scripting language for many tasks.
I would recommend learning one at a time. The biggest part of of learning a new language or method of programming is learning the best practices and changing how you approach a programming problem. Not just the syntax. Jumping into two at once will leave you with bad habits in both.
Because you already know ASP.NET I think learning ASP.NET MVC would be the logical next step. Get a solid understanding of MVC concepts and THEN try a project or two in Ruby on Rails. The two frameworks approach some things differently. You may find that your style and preferences fit one better than the other. But either way, now you know both. Can't hurt right?
However, I fail to see what is so
great about these. Most of them sound
basic (the kind you'll not really want
to use in production code -
scaffolding for example) - and most of
them sound like they are there in ASP
.NET MVC in some form or the other.
The ability to rapid prototype a website is part of what makes RoR so popular. When designing a website for a client there's a big difference between a non-functional mock and a functional mock.
I believe the feature gab between ASP.NET MVC and RoR will continue to get smaller. Eventually the choice will come down to a question of Windows vs LAMP.
I would spend a few weeks with RoR. It's extremely simple to get it installed and up and running so you can develop with it. Then it's just a matter of following a few tutorials until you've covered most of the basics. Then decide if you want to continue with RoR or stick with ASP.NET MVC.
if you already know c# and you were working with asp.net webforms, try asp.net mvc...and when you learn it, you can improve your skills with RoR as I am planning to...
cheers
Personally I would invest the time in learning both. I have done this and although I ended up going with MVC for my current project, the decision was because I didn't have the time to invest in learning Ruby language. The RoR framework on the other hand you can get within a few nights and get going with webpages, validation, CRUD e.t.c. in no time at all. However when you need to start adding domain logic, learning about gems you may need to understand Ruby.
Another reason is I already have a hosting setup for Microsoft, and I know c# and the .net framework and the resources I'll need already so although it's less mature and isn't as feature-rich as RoR, I deduced I could get further faster with MVC.
To make the decision yourself, weigh all the options, spend a week with MVC ( use the book MVC in Action ) and spend a week with RoR (use the book Agile Web Development with Ruby on Rails 3rd Edition ) these will get you going within no time. Then when you decide on one or the other you will have a more knowledgeable perspective.
Considering Stack Overflow is written with ASP.NET MVC I think it might be sacrilege to promote RoR over MVC.
MVC has pretty much given Microsoft lovers one more tool that they don't need to go elsewhere to get.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
A friend of mine's company is considering using either Java or ASP.NET for web development. Currently they do all development in Delphi. As they have no experience in .NET they have asked me to come down and give a 1 hour overview of .NET (mainly ASP.NET). What topics should I cover?
I was hired by a Delphi product company as a senior .NET developer with the goal of moving their applications from Delphi client server/desktop apps to web based ASP.NET.
I no longer work there but remain friends with an experienced Delphi programmer who is still there.
The biggest concern you have is ensuring that these Delphi programmers start to get their heads around the fundamental shift from desktop client server apps (very common using Delphi) to web based stateless, cross browser UI ASP.NET.
My friend from the previous company has said that the company is still struggling along with minimal .NET progress after 2 years. Technologies such as XML, Javascript, AJax and even fundamentals such as the .NET CLR and assemblies are still a bit of a mystery to the team.
In summary, if I was you I would be focusing entirely on bigger concepts such as the stateless nature of the web and how ASP.NET can solve it, and the benefits and drawbacks of thin client software (ie ease of deployment, browser incompatibilies, less rich user interfaces etc.)
Other than the other suggestions you are no doubt going to get, I'd explain to them that there is a Delphi for .NET which would ease the pain of change a little. So basically they are using Delphi as the language but the underpinnings of .NET.
You might want to talk to your regional developer evangelist. I'm sure they have a stack of bullet points for instances just like this.
You can find your local evangelist(s) at: http://msdn.microsoft.com/en-us/bb905078.aspx
There is so much to cover!
ASP.Net is better for Web Development though, It is designed for it. Take into account the following features:
Membership Provider
ASP.Net controls
The Whole Page and Code-Behind
system and don't forget ASP.Net MVC
ASP.Net Ajax and support for jQuery
ASP.Net peforms well generally, not
sure about Java though
Use .Net Librarys and languages, C#
or VB.Net and so on.
Many Many more
I would cover those, the way ASP.Net is designed as a much more complete package for web development than Java is. I also think the connection between pages and code is better in ASP.Net than using PHP/Java or how ever they would do it.
Can also switch to Winforms or other MS technologies relatively easily.
If they do want to explore C# the transition is pretty easy. Just remind them that Anders Hejlsberg was the Chief Architect of Delphi and C#.
http://en.wikipedia.org/wiki/Anders_Hejlsberg
I was a VB.net guy, but I took a one year Delphi gig a few years back. When I came back to .Net I was using C# and the transition was very easy.
Not sure if you're planning to give more of an architectural view or a more of hands-on experience (say, build a demo Hello World ASP.NET site), but anyway, here are some topics that might get them interested:
.NET covers many languages (C#, VB.NET, IronPython, IronRuby, Delphi.NET), even on the same solution; that means the developers can reuse some of their previous knowledge;
To support the item above, an overview of the CLR, IL etc might be useful, maybe comparing it a bit with how Java works
Visual Studio.NET is a great IDE, and there are lots of tools for it that support the latest best practices (TDD, IoC etc), including OSS
Could be also nice to mention Mono (maybe show them the same app running on Windows, MAc and Linux?) and ASP.NET MVC, in case your teammates have some knowledge of what MVC, RoR are about
I will think some more... :)
First off I'd give them a tour of creating a simple web app using Visual Studio and whatever the equivalent would be in Java. Seeing it done speaks a lot more than just giving the theory.