Wrox Home  
Search P2P Archive for: Go

  Return to Index  

aspdotnet_website_programming thread: The ASP.NET learning curve


Message #1 by "Mike Gale" <info@d...> on Mon, 23 Sep 2002 08:04:41 +1200
Charles Walsek wrote:
> 
> I can relate to the learning curve.  I'm approaching it from a VC++ /
> MFC background, but I still feel like a newbie.  What did you get

You're right about the learning curve.  I find that some things in dot
net are more verbose, but most of all I find you need to find whether
.NET has classes that do what you want and if it does learn them.  (Not
always easy.)

That makes the difference between twelve times slower and ten time
faster, when comparing .NET with previous technologies.

In a book this big there is no way to cover all the background.

Some issues I've come across are:

1)  Typecasting is foreign to a lot of ASP programmers.  Also the "as"
keywords offers an alternative approach.

2)  You must get into web.config and some of the things you can do in
there.  (Including the weak facilities for setting permissions over a
directory tree that exist in web.config.)

3)  There are two "using" keywords in C#.  Confusing for many!

4)  Compilation performance (in VS) is not great.  Experiment with
things like more memory (task manager), switch off compilation of
various modules, get your OS running better...

5)  If you need to serialize have a good look at what .NET has to offer.
Where it is available this can save days of work.  Of course there are
gotcha's.  Some of the system classes you want to serialize won't (a
great pity).

6)  I've found the ability to serialize a dataset has great benefits in
some cases.  (This can give a different design for data and business
tiers to that in the book.)  [There is also a lot of work going on to
autogenerate data and business tiers.  Some in commercial projects
others open source.  It is likely that you may not have to do the
"rubbish programming" for much longer!!]

7)  Code converters (C# to VB) do some of the job, but you still need to
understand the languages to fill in the blanks.

8)  VStudio is not always stable.  Sometimes it makes mistakes.  It's
not always something you did!!  (Hopefully, Everett, the next version
now in Beta will fix a lot of that (eventually).)

9)  Code completion is an enormous time saver, particularly applauded by
ASP folk who didn't have such good facilities.

That's enough for now.

What have you noticed?

Mike Gale, Decision Engineering (NZ) Ltd.


Message #2 by "Graham Dobson" <grahamdo@a...> on Mon, 23 Sep 2002 15:15:41 -0400
Charles Walsek wrote:
>
> I can relate to the learning curve.  I'm approaching it from a VC++ /
> MFC background, but I still feel like a newbie.  What did you get

Mike Gale wrote:
You're right about the learning curve.  I find that some things in dot
net are more verbose, but most of all I find you need to find whether
.NET has classes that do what you want and if it does learn them.  (Not
always easy.)

I would say that learning the libraries is the key.  For me what separates
.NET from most previous libraries is the event handling architecture and
especially the function pointer like facilities of the multicast delegate
type and its prototypes.  Of course having consistent programming interfaces
across Web Forms, Windows Forms, custom class and data abstraction
facilities, and being able to make use of advanced algorithms and use and
learn modern design patterns , collections classes, iterators ( as well as
ADO.NET back-end data access classes) right in the framework itself, make it
a joy to learn and build interesting and dynamic applications that would be
next to impossible for an individual to build in a lifetime on almost any
other platform.

Mike Gale added:
In a book this big there is no way to cover all the background.

Yes but it's a great resource and actually teaches you to build more useful
and reusable application modules than almost any other programming book I
can think of.


Message #3 by "Charles Walsek" <cwalsek@w...> on Tue, 24 Sep 2002 16:47:42 -0400
 Mike:  Those were some good insights.  My ASP.NET (& book) observations are
mostly general in nature:
1.)  Getting started can be tough, particularly if you have no web app
experience, because of the lack of a firm start point.  Initially there is
confusion and uncertainty in all directions:  the directory structure, HTML,
Server Controls, ADO, IIS, Authentication, etc.  And in my case, I needed to
know how to use VS.NET;  the IDE is very different from prior versions.  My
background is mostly VC++ / MFC, although I have experience with old-style
CGI web applications.  Even so, when you are initially juggling all these
new concepts, it gets confusing.

2.)  I thought the book might have been better off to start with the Home
Page Draft on page 70.  Doing so would have provided immediate feedback the
reader was on target, and provided a point of reference for incorporating
the other pieces of the page: base class, custom control, user controls,
etc.  In my case, this is what I did.  Building the base classes and custom
controls first did not provide me with any confirmation I was on target, or
the directory structure I was using was sound.  In fact, I re-started
building the application from scratch maybe 3-4 times after realizing I had
made a false start.

 3.)  For some readers, the concept of an application scattered over many
pages and files might be un-settling.  A MFC, or VB app is confined to a
single executable and some dll's (and maybe components).  So whatever can be
done to ease the transition would be good.  I did not have too much trouble
here;  I could relate to mainframe CICS apps I wrote, and sometimes still
do.

 4.)  Learning your way around the FCL and knowing what's available there is
another hurdle.  But like using MFC, it will come with time.  One area I
have not yet come to grips with is real-time validation and formatting of
data.  With VC++, I was able to sub-class CEdit to provide real-time
formatting of phone numbers, ssn's, dollar amounts, etc.  So far, I have not
seen anything similar in .NET;  I don't think it's possible.  The Windows
VC++ apps I wrote were mostly for phone reps that needed a quick response
time.  Web apps are relatively slower, but I like the extra presentation
capabilities the browser provides, plus the wider user audience.

5.)  If you were solely using this book as your vehicle for learning
ASP.NET, I could understand how some could get frustrated.  There are many
errors.  For example the event handler AssignUserButton_Click on p. 187 does
not check to see user exists before creating the Business.User object.  So
the app will crash on an invalid user.  And including "<br>" in the
StatusLabel.Text causes the code to mis-behave when executing in the VS.NET
debugger.  Now I don't want anyone to think I'm trashing the book.  Not so;
the book is an outstanding example of how to put together web applications.
It should go down as a cult classic because it offers an architecture for
apps, similar to the doc-view architecture in MFC.  I suppose to cover the
errors I encountered, the book would need to be 2-3 times as thick.  For me,
dealing with these types of issues has helped to increase my awareness of
ASP.NET.

6.)  Despite the initial hurdles, there is no doubt in my mind that ASP.NET
is the way to go.  The productivity gains are enormous.  Just the ability to
persist the state of controls across page refreshes (w/o user code) is
fantastic!  The time to market new applications is critical and ASP.NET
clearly offers business & developers a competitive advantage.  When I think
back to porting my old CGI app to the brand-x server, and dealing with the
added complexities & tools of the environment, it's clear that IIS offers
increased productivity.  So I'm sticking with it.

--Chas

>
> What have you noticed?
>
> Mike Gale, Decision Engineering (NZ) Ltd.
>
>
>
>

Message #4 by "Rod Maupin" <gridman144@m...> on Tue, 24 Sep 2002 23:20:38
I agree with you guys.  I'm sticking with ASP.NET.

This summer I was looking at how I could improve my internet skillset, 
and .NET seemed to be the up and coming thing.  I read a survey where 50% 
of businesses plan to move to .NET next year.  I want to be there to get 
some of that consulting business.

Here in Western Washington, there are 20,000 hi-tech developers out of 
work.  So, doing anything to make yourself stand out from the pack is 
going to be worthwhile.  It was clear to me that ASP.NET was going to be 
a big thing, so I am think I'm going to do the MCAD tests.  Now, I have a 
lot to learn, but I think that at least for me, in my area, that it will 
be worthwhile.

It was the same for me.  New IDE, new to SQL Server, new to IIS, new to 
ASP, I mean I didn't know anything except how to do HTML websites and 
some Javascript.  Been a hardcore Windows applications developer for too 
many years.

I think all the time with ASP.NET will be well spent.

Rod

  Return to Index