Fog Creek Software
Discussion Board




Is .NET the way to go?

Hey fellas:

I am wondering how to stay competitive and survive in this economic slump. Is learning .NET something recommended or/and experience with that would be an asset down the line?

Thanks.

confused soul

confused soul
Thursday, July 18, 2002

It's pretty much impossible to give a meaningful reply to this question unless the original poster provides a lot more information about his/her long-term career goals, work experience, education, etc.

Sarah Tonin
Thursday, July 18, 2002

Here's my background:

12+ years of software/web development (mainly microsoft technologies - VB, VC++, ASP, SQL, IIS, etc.).

BSc in CS
MCSE

confused soul
Thursday, July 18, 2002

Down the line?  I can't see how you'd go wrong.  My company has been dabbling in .NET for a while.  It's very good and Microsoft has bet all their chips on it.

For those that haven't given it a close look, .NET really isn't the usual Microsoft "API of the week".  It's quite complete and very well thought out.

DOS was awful, Win16 was awful, Win32 was painful, MFC was a hack.  They all made it big.  .NET/C# are consistent, elegant and have a $100M marketing budget behind them.  You wouldn't be wasting your time, IMO. 

Bill Carlson
Thursday, July 18, 2002

Get some non-MS experience (Unix, Python, Perl, Lisp, AWK). It will improve your offering a lot. Do get some .NET experience if it feels ok.

Diversity is always good. .NET will provide you the same kind of job that VB or Java provided you in the past; And in 5 years time, it will be outdated and slowly replaced by something else (This is the way of all hype-driven technologies; Even if its good, it will have to give way to something else or there will be no source of revenue / no way to steer the market).

When you have diverse experience, you can jump into any "new" technology within days. mostly because there is little new under the sun. XML? was, for all practical purposes, available circa 1962. Virtual Machines? Around the same time. JIT compilers (better than any offered for Java or .NET at this time) circa 1984. Patterns? as old as time. Aspects Oriented Programming? 60s. Object Oriented Programming? Late 60s.

It's not that things haven't improved in the mean time - they have. But not substantially, and some degraded. Get firm, diverse experience, and you're set for the next twenty years.

And don't believe hype. It's hazardous to your health.

Ori Berger
Thursday, July 18, 2002

I agree with Ori's "There's nothing new under the sun" arguments (especially concerning XML).  I think the original poster was asking "I'm already a good engineer, how to I become more employable", not "How do I become a better engineer".  Becoming more employable is a matter of manipulating the supply/demand equation.

IMO, the demand for .NET will steadily increase and may carry a salary/rate premium in a couple years.  It is a foundational platform, not a band-aid, so it lifespan will likely be long enough to warrant learning it.

Along the same lines, reading and dabbling in XML isn't a bad idea.  It's horribly overhyped, slow, and usually used as a bloated CSV file.  Still, people want to see that you "know" it or can at least talk the walk.

Bill Carlson
Thursday, July 18, 2002

My company's very conservative and hasn't adopted the .NET platform yet, and probably won't for at least a year.  Been burned too many times by all the problems associated with OS and Office suite upgrades, so the converstaive philosphy has extended to all things software, I guess.

So, I'm curious whether many others are also seeing a conservative approach to adoption of .NET?

I would assume that most practice organizations are using it for new development, but maintaining old code in VB6, VC++6, etc.

Nick
Thursday, July 18, 2002

Nick,
having worked with .NET C++ and C# now for about 6 months, your firm isn't really missing anything.  .NET is very incremental technolgy and to a large extent with regards to many of its "bennies", development organizations already have alternatives for.  Unfortunately Microsoft's insistence on promoting a "REDMOND" centric view the net, is something most organizations will find completely unpaletable.

Organizations want OPEN, Microsoft desires CLOSED.
The Web is for better or worse open for all to play.

>>

I would assume that most practice organizations are using it for new development, but maintaining old code in VB6, VC++6, etc.

<<

Larry from Queens
Thursday, July 18, 2002

Nick's conservative approach is often the correct one.  Why rewrite stable code in .NET?  Good question.

.NET isn't really about doing things that were impossible before.  It's about dumbing down the stuff we spend 90% of our coding time on and having advanced functionality for the other 10%.

I don't like spending my time maintaining C++ header files or converting between string types or writing marshalling code for objects or dealing with COM or ATL or maintaining .rc and resource.h files or doing try/catch to free memory or 100 other things that I don't have to do with .NET.  Does this make me lazy?  You bet.  But until expectations catch up to the productivity, my team can go home at 5pm.

If you're starting a project, .NET makes perfect sense.  Remember, .NET _ISN'T_ all about web services, despite what Microsoft says.  It's also about better languages, libraries, and runtimes.

Bill Carlson
Thursday, July 18, 2002

Dabble in Python, Perl, Lisp, AWK if you don't wish to be marketable.

pb
Thursday, July 18, 2002

Short term: Yes, .NET is a good option. There will be demand for this expertise, and a lott of the stuff that is developed on a day to day basis is going to be developed a lott faster in .NET.
Long term: look for something else besides coding. Clinb that ladder or get into client relations etc. . Coding as a good way to make a living is dead.

Just me (Sir to you)
Friday, July 19, 2002

Simple answer is yes. Now is also a good time, pick a simple project, write it well and use it as a calling card. It's basically going to be the future of windows programming.
It certainly isn't about webservices, although it makes all of that stuff a lot easier, in that same way that writing a com object is easy in VB6 (Although there are gotchas)
If you want to write desktop apps it's the way forward.
Personally I suspect that in three years time if you don't have a .NET based app, you'll like someone selling a 16 bit app today.

Oh and if you do write an app. Bother to
a) Write an installer for it and check it installs on win98 & Win2K.
b) Write some help. (Even if the text is somewhat lame)
c) Write some documentation using the /// stuff for self documenting.
d) Have a look at the disability / screen reader stuff

At interview it would impress me, even if the application itself was very simple (e.g. an address book)

Peter Ibbotson
Friday, July 19, 2002

Unix is more important.

Christopher Wells
Friday, July 19, 2002

Not to start a religious war but,

>DOS was awful, Win16 was awful, Win32 was painful, >MFC was a hack. They all made it big. .NET/C# are >consistent, elegant and have a $100M marketing budget >behind them.

C# is the brainchild of Anders Hjelsberg, chief architect of
Microsoft. He created Turbo Pascal way back when, and
was with Borland until Delphi 3.

Delphi 3 happened back in like -97, but noone seemed to notice back then, because Delphi was just "Pascal", Nikolaus Wirth style. There was no "elegance" back then
simply because people did not bother to look.

What it all boils down to is to choose the right tool for the given  task. A thing that is not often done in the industry.
I see .NET being applied to all the wrong things, simply because its all the rage this week. Much like HTML or Flash is missused because someone said its the "way to go".

In two years, there will be C$ or D# or whatever, that will be the new bandwagon for people to jump onto.

There will  always be "Bandwagon Blindness".

Patrik
Friday, July 19, 2002

Chrstopher,

Maybe we will see .UNIX sometime soon eh? ;-)

Patrik
Friday, July 19, 2002

Chris,

Amen to that!

And when MS .Unix-- _does_ comes out in 2010 they'll be claiming they invented it.

And when MS adds "Watson" -- full text indexing of the junk on your hard drive, they'll claim it was their idea all along.

Seriously, you can't go wrong with unix. The writing is on the wall for MS. It's a great platform if you're selling fixit services to people who like to buy cheap junk but it's not a real OS.

Everytime I see the blue screen of death on a kiosk I just laugh!

Ed the Millwright
Saturday, July 20, 2002

"the writing is on the wall for Microsoft"

Ha ha! Thanks, that provided me with 5 minutes of laughter.

pb
Monday, July 22, 2002

*  Recent Topics

*  Fog Creek Home