Sign in
|
Join
|
Help
in
Ranjan Sakalley (blog)
CodeBetter.Com Alumni (group)
(Entire Site)
Search
Do you Twitter? Follow us
@CodeBetter
Ranjan Sakalley
Why should I use .net
Yesterday, I was asked to train a set of freshers on what .net Fx provides, about CLR, and other things .net. About half-way through the second session, when I was delightfully talking about Garbage Collections and Finalization Queues (after a class on telling them the brokerage mechanisms, Virtual Machines, what was wrong with previous frameworks, what Java brought into picture, and now what .net has helped us with), one guy says 'Why should I use .net?'.
I took around half-an-hour to tell the guys why would one, poking into topics like drivers, winforms, html engines ( the Framework class library reuse was what I was talking about) and why shouldn't we be writing them and be worried about our program logic. Then I went over to Component Based Programming, COM, managed memory etc. Still confused.
Problem ? Yes, the guys have never ever coded commercially. They are great at writing algos in C, math, but they have never written one piece of code that somebody else has used. I cannot blame it on the education system, because I came out of it once, fortunately for me, there was some time with C at college writing GSM algos, and at work Delphi/people who had worked with it, to know what a relief Java/.net is.
But these guys dont even know what a customer would expect from their output. They wouldn't think twice before writing their own spell-checker component(would take more than a man-month) insted of reusing the one that comes with Office (would take an hour). They don't know the pains of memory management, using C to create a form etc. I just wanted to nullify the current training session, and start the whole process something like this-
1. Ask them what do they expect from a mail client. Show them Outlook, and ask them if they wanted something more from it. Before teaching them how to code, this will atleast lead to these guys knowing things from a customer's perspective.
2. Ask them to write a simple Outlook sidebar control using C (which they are good at) , after a day or two, cut-short their development, and show them how to do this with Devexpress or Infragistics in a minute or two. Mind that freshers get attracted to UI invariably. Thats the only experience that I have in this process.
3. Give them a component after this, written in VC++, and ask them to use it in VB without using COM, make them appreciate COM, and then wreck the ship after telling them how better an upgrade .Net is. (Don Box, 1st Chapter)
4. In any of these cycles, show them a menory management issue and tell them about managed environment.
After attracting these guys to (if i am able to) I would basically move away, and let them explore, with an assignment to implement some Data Structures etc. for a week. So a two week pre-training schedule is what I was looking at. Costly, but then I dont know about a book that will make them understand "why to use .net?'. Can you point me to some, so that we can cut-short this fortnight long build-up?
Published
Feb 24 2005, 02:46 AM
by
rsakalley
Filed under:
Beyond Code
,
Old
Comments
Anonymous said:
Frankly, I think u are asking for too much in a very short time. The things what you are trying to teach them, can be better understood through experimenting with things in different langauges and environment. I guess thats how you would have understood most of the things in the first place.
The question might also be why to use .Net over Java. Remember, there is always a better way to do things. Thats in a totally different league altogether.
But, if the question is why to use .Net over C, C++ (which seems to be the case) then, then let them do some component devlopement in ASP.Net and try it out for themselves to see which is faring better and consuming less time. I guess what you have planned should be good enough for a begginer. Give them the functional specs and basic technical design and let them have the full freedom.
#
February 24, 2005 5:48 AM
Brandon Paddock
said:
Anonymous is right about one thing for sure... The only way to get a good feel for when to use one platform over another is to try them all out.
In my short years of experience I've coded in C, C++, Java, Scheme, and C# (err, and a little VB.net).
When I learned Java I went in kicking and screaming. Then after a couple weeks of working with it I forgot all about memory management. I started to notice all the cool ways that Java helped me be more productive (and write better, cleaner code, honestly).
From there, C# was a cinch. Working in Visual Studio is heaven, especially with some of the great add-in tools (ReSharper?) you can find for it. When you're doing an assignment for a class, the difference may not seem huge. Even if writing in Java/C# would cut your coding time in half, it's still only a matter of hours or even minutes usually.
And for the most part, your exercises are simple and focused. Then one day you have to write a real app. A customer (or employer) gives you a list of things they need done.
Not only do Java and C# save you development time (they do), but they let you refocus the time that you have. You can get a running, workable interface set up for a complex project with lots of backend operation, database integration, and so on super quick! Then you can spend more of your development time finding bugs, useability issues, and "fine tuning."
C# and Java also empower individual programmers. If you have an idea, you can implement (at least a basic version) way faster than you could without these platforms. No longer do you need an entire team to build simple (or even larger) applications.
Well, at least that's how I see it :)
#
February 24, 2005 12:20 PM
Leave a Comment
Name
(required)
Your URL
(optional)
Comments
(required)
Remember Me?
Enter the numbers above:
Add
Our Sponsors
Free Tech Publications
This Blog
Home
Contact
About
Syndication
RSS
Atom
Comments RSS
Recent Posts
Writing unit tests for Windows Forms to test DataBinding
Dialog Units
New job
Some VS2005b2 likes and dislikes
Requirements collection for User Interfaces
Tags
Beyond Code
C# 2.0
Code
Misc
Old
XP/TDD
News
Other writings
The Bangalore Theatre Yahoo Group
Thoughtworker Blogs
Archives
April 2006
(3)
July 2005
(5)
June 2005
(3)
April 2005
(8)
March 2005
(5)
February 2005
(6)
January 2005
(11)