473,396 Members | 2,147 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

My first impressions of ASP.NET

I write CRUD database applications for a living for an audience of
about 100 users per application using classic ASP. I maintain and
frequently change on user's request 22 different applications by
myself.
Recently we have had .NET 1.1 then 2.0 installed and have been told to
use it.
After reading the books about it, and trying it for a couple of
months, I got so mad I decided to write down all of my issues and
rants and post them here.
I have been in this industry for too long to mindlessly drink the
kool-aid and eat up whatever impractical junk they are hyping at the
moment.
Some of these issues have been resolved by pressure on Microsoft in
version 2.0.

Why dot net is horrible for smaller scale Create Read Update Delete
(CRUD) web development:

Overly complicated, more things can and do go wrong, wasting large
amounts of time.

Slow to load the editor, slow to run.

Unhelpful and bizarre error messages, wasting large amounts of time.
I seem to frequently see Error in application "/".

Applications built using this are very inflexible and will cause us
huge problems in the future, forcing us to rewrite them instead,
wasting large amounts of time.

There is no advantage to using OOP for our scale of applications,
having less than 100 users, no more than 5 at a time.

Way more overhead to do simple things, wasting large amounts of time

Hard to refine user interface, everything is locked into controls,
making our clients unhappy and frustrated they can't have things the
way they want.

Dot net is more suitable for large projects with 20 people on each
one, not ~20 projects per person like we have.

Too many methods and objects to choose from, is faster just to write
one than to find the one that matches.

Poorly implemented security model requiring hacks just to function if
the database is on a different server. (v1.1)

The OOP model clashes badly with the relational data model used in all
our databases, requiring kludges and lots of code to work around and
translate, wasting large amounts of time.
See why here: http://en.wikipedia.org/wiki/Object-relational_mapping

One of the main justifications for OOP is a way of dealing with very
large, monolithic systems, separating functional pieces so they don't
affect each other unintentionally, and it does this reasonably well.
But web applications are self limiting in complexity as they are
divided up into pages, so the complexity never gets to the point where
OOP is worth the overhead.

Seems to be pathologically afraid of HTML, the simplicity and
directness of which revolutionized application development making it
fast, flexible and cheap, now they want to go back to the horrible,
slow, expensive, inflexible old model of windows development instead?
What the hell are they smoking? It seems Windows is the center of
their world, what a surprise.

They keep saying we can use rich user interface controls, when 99.9%
of applications don't need them.
They are often buggy and hard to configure. With a little poking
through the reference, and a small amount of thinking, plain old ASP
can construct whatever you need, exactly to your specifications.
You can do the same thing in dot net but it takes a lot more work to
get around the framework's obtrusiveness and attempts to 'help' you.

Regular ASP and PHP are much more powerful than dot net, as you have
explicit control over the HTML. You don't have to go learn a whole
new API just to manipulate HTML.

Everything in the toolbox can be done with plain old ASP or PHP,
except for maybe XML and the phone stuff which is worthless.
Databases should be handling data transfer between applications
anyway, except for web services.

Drag and drop development is a fundamentally misguided method for
building applications. It will allow you to quickly throw something
crude together, but the overhead it introduces when having to
customize it (that is why we are here as programmers and not in India)
and make it functional quickly outweighs the time savings. Most of
this overhead comes from OOP and the .NET framework.

The kind of projects we do don't fit in a wizard or a prebuilt
control, they require innovative, well thought out interfaces that
exactly fit the process, which is subject to large changes and
additions. Trying to do this in dot net causes large amounts of
rework and patch code, wasting large amounts of time.

Datagrids are the worst thing EVER. In VB 6.0 they were horrible.
They are a hole in which you burn large quantities of time and money
for NOTHING. NOTHING. How hard is it to create an HTML table and add
some data variables to it? You will save about two minutes when you
create the datagrid, then waste two weeks trying to get it to work and
look right and get any information out of it. You can see this by the
massive number of postings on usenet and blogs about datagrids. If
they actually worked no one would have to ask.

The designers of dot net haven't caught on to the concept that the
more they add to the development environment, the less productive it
is. They need to fix what was broken with the old ASP, not pile on
new complex and incompatible ways of doing simple stuff.

The complexity and shakiness of the environment means you can't depend
on anything or be sure that it is going to work due to the huge number
of dependencies. This is bad for clients and for you when things
break for no apparent reason.

Trying to get your head around what is going on and trying to fix it
when it frequently breaks takes your mind away from the problem you
are being paid to solve. If you are in business doing this you need
to charge a hefty premium and make yourself less cost competitive
which is death in today's IT market.

The edit, compile, run cycle is slower than ASP by a large margin.

It consumes a large amount of memory and disk space, and is very slow
to compile and run the first time, or when it gets flushed out of the
cache due to non use. Our users get upset if they have to wait all
the time.

The only useful things are the XML bits, webservices, and maybe the
site map template.

If there is an error anywhere in the website, it crashes the whole
thing, all pages. In old ASP only the affected file stops working.
This makes a test server mandatory, wasting time and money. No quick,
cheap fixing on the fly for us.

If you want to add a file to a project, such as a graphic, you have to
put it in the directory before you open Visual Web Developer 2005
otherwise it can't find the file because it presumably already thinks
it 'knows' what is in the project directory. I have to close then
reopen Visual Web Developer to see the file, wasting more time. This
is idiocy.
It is in Beta though, but this sort of thing should never happen.
When you click on the errors list, it thinks you want to jump down
through the errors, when I just want to look at the one I selected.
More idiocy.

You can't put a dynamic menus such as a header in the Master Page
because it is static and you can't send a parameter to it. How is this
an improvement? How hard is it to copy and paste a header or use an
include? I guess that is too straightforward and efficient.

The dot net website (http://beta.asp.net/GuidedTour/default.aspx),
which proudly says 'Powered By ASP.NET v2.0', crashed and was
unavailable for a while when I was looking at it.

The help system is so poorly designed it has a large 'Help on help'
section in it, and by looking at it, you know why it is absolutely
necessary.

Microsoft never gets it right until version 3.0, so stay away until
they finish it.

Component reuse is hugely overrated, and heavily pushed in dot net,
and I can count on one hand the number of times it would have been
useful in the last nine years. If you need lots of component reuse in
your application, the analysis is probably deeply flawed. However,
this may not apply to very large software projects and certain
applications where access is restricted and actions that are complex
must occur together, such as accounting.

Since every object, like a datagrid or a textbox has its own function
to populate it, it becomes a lot more work to get the results from one
query to be part of the criteria for another query on the same page,
wasting large amounts of time.

When everything is abstracted away and layered and put into multiple
places, it makes changes and maintenance a nightmare, wasting large
amounts of time.

There is way too much back and forth server traffic through postbacks,
so if your connection is slow or the server is overloaded, it will be
immediately apparent in the application. Programmers still don't get
it that most people don't have broadband, though within the workplace
they do.

Server validation is an order of magnitude slower than client
validation. In the book, Real World ASP.NET Best Practices by Farhan
Muhammad and Matt Milner, and I quote, "For example, suppose you are
asked to provide a drop-down list of credit card numbers, and, when
the user selects a number, to display the cardholder name and
expiration date by using text boxes.
One way to accomplish this task is to capture the SelectedIndexChange
event of the ASP.NET drop-down list control. When this event occurs,
the page makes a post-back trip to the server and triggers your event
handler. In the event handler, you can obtain the selected credit card
number and retrieve remaining information by querying the database.
This mechanism, even though it is an ASP.NET way of accomplishing
tasks, is very slow and causes unnecessary traffic on the Web server."

By the time you are finished typing in all the OOP overhead code even
for a small application, your fingers will be bloody stumps, or it
will feel like that. There is a high irrelevancy ratio with dot net,
where you are often
having to code things that have very little to do with the actual work
you are trying to accomplish, mostly OOP overhead.

PHP and Perl are far more powerful than dot net, and much more
satisfying and less frustrating to use.

The database wizards in Visual Web Developer 2005 don't always work.

The visual editor is finicky and imprecise, especially when it
interface is getting complex.

The built in controls have horrible ugly unrefined user interfaces.
To fix them requires more work than fixing plain html.

The coding complexity in dot net explodes when doing anything remotely
complicated. You can't easily follow the logic of what is
going on without jumping all over the place.

They are trying to make things more efficient by adding more code to
break operations up into smaller pieces, when having too much code is
the problem.

ASP.NET is like communism, it should work in theory, but in practice
it is a nightmare.

Instead of writing a breadcrumb control where the pages are defined
ahead of time, which in any real life application is a pain to update,
and will likely not get done, why isn't there one that just gets the
referring page title and put it into the breadcrumb trail?

Conclusion: Microsoft .NET represents huge step backward in
programming Web applications, by imposing an inappropriate
object-based programming model imposing large overhead costs and
bloat.

I am sure most of you will feel the opposite, but if you want to know
why dot net has not taken off like a rocket, read the reasons above.
I rest my case.
-c-

P.S. Java is horrible too and I think it is worse.
Jul 21 '05 #1
19 2114
On 1 Apr 2005 10:11:53 -0800, DotNetIsHorrible wrote:

When I first read your message, I thought it was a 1st of April joke.

Guy, you really have a problem.

1. To all what you said about OO
-> you just don't get it! If you don't understand OO, of course you come to
a conclusion like: may be good for large applications, but not for small
ones. What a joke.
-> But hey, do it like this guys: http://www.classicvb.org and get happy
with VB6 and ASP. Don't care about OO, miss the train, loose your job in
some years because no one wants you anymore (maybe you are lucky like the
cobol guys and something like y2k bug crosses your way).

2. To all what you said about ASP.NET
-> To be honest. I'm not a web developer. But one thing I know for sure.
ASP.NET is a great technology, great web sites are implemented using it
(small ones and large ones) and it's much better than ASP. But of course,
if you don't understand OO concepts, well, of course, maybe it's difficult
to see it.
-> The funniest thing is where you write several times that it so much more
difficult to maintain than plain old ASP solutions. Wow. Do I understand
you right? Spaghetti Code is more maintainable than OO code? Funny.
Seldom read so much crap like in your post. Was really funny to read.

--
Claudio Grazioli
http://www.grazioli.ch
Jul 21 '05 #2
I don't have the time (and the interest) to read all your post and
respond to it, but here are two points I couldn't miss.
There is no advantage to using OOP for our scale of applications,
having less than 100 users, no more than 5 at a time
Among other reasons, the complexity of an application and the
possibility of code reuse does affect the decision of using OOP. The
number of users an application has doesn't.
The dot net website (http://beta.asp.net/GuidedTour/default.aspx), which proudly says 'Powered By ASP.NET v2.0',
crashed and was unavailable for a while when I was looking at it.


Don't the web site name start with "beta"?
Jul 21 '05 #3
Option 1:
- Get a faster computer
- Get some training
Option 2:
- Download DotNetNuke www.dotnetnuke.com for a good example of writing
a good ASP.NET app.
Option 3:
- Find another line of work
DotNetIsHorrible wrote:
I write CRUD database applications for a living for an audience of
about 100 users per application using classic ASP. I maintain and
frequently change on user's request 22 different applications by
myself.
Recently we have had .NET 1.1 then 2.0 installed and have been told to
use it.
After reading the books about it, and trying it for a couple of
months, I got so mad I decided to write down all of my issues and
rants and post them here.
I have been in this industry for too long to mindlessly drink the
kool-aid and eat up whatever impractical junk they are hyping at the
moment.
Some of these issues have been resolved by pressure on Microsoft in
version 2.0.

Why dot net is horrible for smaller scale Create Read Update Delete
(CRUD) web development:

Overly complicated, more things can and do go wrong, wasting large
amounts of time.

Slow to load the editor, slow to run.

Unhelpful and bizarre error messages, wasting large amounts of time.
I seem to frequently see Error in application "/".

Applications built using this are very inflexible and will cause us
huge problems in the future, forcing us to rewrite them instead,
wasting large amounts of time.

There is no advantage to using OOP for our scale of applications,
having less than 100 users, no more than 5 at a time.

Way more overhead to do simple things, wasting large amounts of time

Hard to refine user interface, everything is locked into controls,
making our clients unhappy and frustrated they can't have things the
way they want.

Dot net is more suitable for large projects with 20 people on each
one, not ~20 projects per person like we have.

Too many methods and objects to choose from, is faster just to write
one than to find the one that matches.

Poorly implemented security model requiring hacks just to function if
the database is on a different server. (v1.1)

The OOP model clashes badly with the relational data model used in all
our databases, requiring kludges and lots of code to work around and
translate, wasting large amounts of time.
See why here: http://en.wikipedia.org/wiki/Object-relational_mapping

One of the main justifications for OOP is a way of dealing with very
large, monolithic systems, separating functional pieces so they don't
affect each other unintentionally, and it does this reasonably well.
But web applications are self limiting in complexity as they are
divided up into pages, so the complexity never gets to the point where
OOP is worth the overhead.

Seems to be pathologically afraid of HTML, the simplicity and
directness of which revolutionized application development making it
fast, flexible and cheap, now they want to go back to the horrible,
slow, expensive, inflexible old model of windows development instead?
What the hell are they smoking? It seems Windows is the center of
their world, what a surprise.

They keep saying we can use rich user interface controls, when 99.9%
of applications don't need them.
They are often buggy and hard to configure. With a little poking
through the reference, and a small amount of thinking, plain old ASP
can construct whatever you need, exactly to your specifications.
You can do the same thing in dot net but it takes a lot more work to
get around the framework's obtrusiveness and attempts to 'help' you.

Regular ASP and PHP are much more powerful than dot net, as you have
explicit control over the HTML. You don't have to go learn a whole
new API just to manipulate HTML.

Everything in the toolbox can be done with plain old ASP or PHP,
except for maybe XML and the phone stuff which is worthless.
Databases should be handling data transfer between applications
anyway, except for web services.

Drag and drop development is a fundamentally misguided method for
building applications. It will allow you to quickly throw something
crude together, but the overhead it introduces when having to
customize it (that is why we are here as programmers and not in India)
and make it functional quickly outweighs the time savings. Most of
this overhead comes from OOP and the .NET framework.

The kind of projects we do don't fit in a wizard or a prebuilt
control, they require innovative, well thought out interfaces that
exactly fit the process, which is subject to large changes and
additions. Trying to do this in dot net causes large amounts of
rework and patch code, wasting large amounts of time.

Datagrids are the worst thing EVER. In VB 6.0 they were horrible.
They are a hole in which you burn large quantities of time and money
for NOTHING. NOTHING. How hard is it to create an HTML table and add
some data variables to it? You will save about two minutes when you
create the datagrid, then waste two weeks trying to get it to work and
look right and get any information out of it. You can see this by the
massive number of postings on usenet and blogs about datagrids. If
they actually worked no one would have to ask.

The designers of dot net haven't caught on to the concept that the
more they add to the development environment, the less productive it
is. They need to fix what was broken with the old ASP, not pile on
new complex and incompatible ways of doing simple stuff.

The complexity and shakiness of the environment means you can't depend
on anything or be sure that it is going to work due to the huge number
of dependencies. This is bad for clients and for you when things
break for no apparent reason.

Trying to get your head around what is going on and trying to fix it
when it frequently breaks takes your mind away from the problem you
are being paid to solve. If you are in business doing this you need
to charge a hefty premium and make yourself less cost competitive
which is death in today's IT market.

The edit, compile, run cycle is slower than ASP by a large margin.

It consumes a large amount of memory and disk space, and is very slow
to compile and run the first time, or when it gets flushed out of the
cache due to non use. Our users get upset if they have to wait all
the time.

The only useful things are the XML bits, webservices, and maybe the
site map template.

If there is an error anywhere in the website, it crashes the whole
thing, all pages. In old ASP only the affected file stops working.
This makes a test server mandatory, wasting time and money. No quick,
cheap fixing on the fly for us.

If you want to add a file to a project, such as a graphic, you have to
put it in the directory before you open Visual Web Developer 2005
otherwise it can't find the file because it presumably already thinks
it 'knows' what is in the project directory. I have to close then
reopen Visual Web Developer to see the file, wasting more time. This
is idiocy.
It is in Beta though, but this sort of thing should never happen.
When you click on the errors list, it thinks you want to jump down
through the errors, when I just want to look at the one I selected.
More idiocy.

You can't put a dynamic menus such as a header in the Master Page
because it is static and you can't send a parameter to it. How is this
an improvement? How hard is it to copy and paste a header or use an
include? I guess that is too straightforward and efficient.

The dot net website (http://beta.asp.net/GuidedTour/default.aspx),
which proudly says 'Powered By ASP.NET v2.0', crashed and was
unavailable for a while when I was looking at it.

The help system is so poorly designed it has a large 'Help on help'
section in it, and by looking at it, you know why it is absolutely
necessary.

Microsoft never gets it right until version 3.0, so stay away until
they finish it.

Component reuse is hugely overrated, and heavily pushed in dot net,
and I can count on one hand the number of times it would have been
useful in the last nine years. If you need lots of component reuse in
your application, the analysis is probably deeply flawed. However,
this may not apply to very large software projects and certain
applications where access is restricted and actions that are complex
must occur together, such as accounting.

Since every object, like a datagrid or a textbox has its own function
to populate it, it becomes a lot more work to get the results from one
query to be part of the criteria for another query on the same page,
wasting large amounts of time.

When everything is abstracted away and layered and put into multiple
places, it makes changes and maintenance a nightmare, wasting large
amounts of time.

There is way too much back and forth server traffic through postbacks,
so if your connection is slow or the server is overloaded, it will be
immediately apparent in the application. Programmers still don't get
it that most people don't have broadband, though within the workplace
they do.

Server validation is an order of magnitude slower than client
validation. In the book, Real World ASP.NET Best Practices by Farhan
Muhammad and Matt Milner, and I quote, "For example, suppose you are
asked to provide a drop-down list of credit card numbers, and, when
the user selects a number, to display the cardholder name and
expiration date by using text boxes.
One way to accomplish this task is to capture the SelectedIndexChange
event of the ASP.NET drop-down list control. When this event occurs,
the page makes a post-back trip to the server and triggers your event
handler. In the event handler, you can obtain the selected credit card
number and retrieve remaining information by querying the database.
This mechanism, even though it is an ASP.NET way of accomplishing
tasks, is very slow and causes unnecessary traffic on the Web server."

By the time you are finished typing in all the OOP overhead code even
for a small application, your fingers will be bloody stumps, or it
will feel like that. There is a high irrelevancy ratio with dot net,
where you are often
having to code things that have very little to do with the actual work
you are trying to accomplish, mostly OOP overhead.

PHP and Perl are far more powerful than dot net, and much more
satisfying and less frustrating to use.

The database wizards in Visual Web Developer 2005 don't always work.

The visual editor is finicky and imprecise, especially when it
interface is getting complex.

The built in controls have horrible ugly unrefined user interfaces.
To fix them requires more work than fixing plain html.

The coding complexity in dot net explodes when doing anything remotely
complicated. You can't easily follow the logic of what is
going on without jumping all over the place.

They are trying to make things more efficient by adding more code to
break operations up into smaller pieces, when having too much code is
the problem.

ASP.NET is like communism, it should work in theory, but in practice
it is a nightmare.

Instead of writing a breadcrumb control where the pages are defined
ahead of time, which in any real life application is a pain to update,
and will likely not get done, why isn't there one that just gets the
referring page title and put it into the breadcrumb trail?

Conclusion: Microsoft .NET represents huge step backward in
programming Web applications, by imposing an inappropriate
object-based programming model imposing large overhead costs and
bloat.

I am sure most of you will feel the opposite, but if you want to know
why dot net has not taken off like a rocket, read the reasons above.
I rest my case.
-c-

P.S. Java is horrible too and I think it is worse.

Jul 21 '05 #4
JD
You can still write old ASP style applications with ASP.NET, you don't have
to use any rich controls or OOP, its still all there for you. Personally I
find the new object model in ASP.NET better but hey its all a matter of
preference.
"DotNetIsHorrible" <ch********@yahoo.com> wrote in message
news:1f**************************@posting.google.c om...
I write CRUD database applications for a living for an audience of
about 100 users per application using classic ASP. I maintain and
frequently change on user's request 22 different applications by
myself.
Recently we have had .NET 1.1 then 2.0 installed and have been told to
use it.
After reading the books about it, and trying it for a couple of
months, I got so mad I decided to write down all of my issues and
rants and post them here.
I have been in this industry for too long to mindlessly drink the
kool-aid and eat up whatever impractical junk they are hyping at the
moment.
Some of these issues have been resolved by pressure on Microsoft in
version 2.0.

Why dot net is horrible for smaller scale Create Read Update Delete
(CRUD) web development:

Overly complicated, more things can and do go wrong, wasting large
amounts of time.

Slow to load the editor, slow to run.

Unhelpful and bizarre error messages, wasting large amounts of time.
I seem to frequently see Error in application "/".

Applications built using this are very inflexible and will cause us
huge problems in the future, forcing us to rewrite them instead,
wasting large amounts of time.

There is no advantage to using OOP for our scale of applications,
having less than 100 users, no more than 5 at a time.

Way more overhead to do simple things, wasting large amounts of time

Hard to refine user interface, everything is locked into controls,
making our clients unhappy and frustrated they can't have things the
way they want.

Dot net is more suitable for large projects with 20 people on each
one, not ~20 projects per person like we have.

Too many methods and objects to choose from, is faster just to write
one than to find the one that matches.

Poorly implemented security model requiring hacks just to function if
the database is on a different server. (v1.1)

The OOP model clashes badly with the relational data model used in all
our databases, requiring kludges and lots of code to work around and
translate, wasting large amounts of time.
See why here: http://en.wikipedia.org/wiki/Object-relational_mapping

One of the main justifications for OOP is a way of dealing with very
large, monolithic systems, separating functional pieces so they don't
affect each other unintentionally, and it does this reasonably well.
But web applications are self limiting in complexity as they are
divided up into pages, so the complexity never gets to the point where
OOP is worth the overhead.

Seems to be pathologically afraid of HTML, the simplicity and
directness of which revolutionized application development making it
fast, flexible and cheap, now they want to go back to the horrible,
slow, expensive, inflexible old model of windows development instead?
What the hell are they smoking? It seems Windows is the center of
their world, what a surprise.

They keep saying we can use rich user interface controls, when 99.9%
of applications don't need them.
They are often buggy and hard to configure. With a little poking
through the reference, and a small amount of thinking, plain old ASP
can construct whatever you need, exactly to your specifications.
You can do the same thing in dot net but it takes a lot more work to
get around the framework's obtrusiveness and attempts to 'help' you.

Regular ASP and PHP are much more powerful than dot net, as you have
explicit control over the HTML. You don't have to go learn a whole
new API just to manipulate HTML.

Everything in the toolbox can be done with plain old ASP or PHP,
except for maybe XML and the phone stuff which is worthless.
Databases should be handling data transfer between applications
anyway, except for web services.

Drag and drop development is a fundamentally misguided method for
building applications. It will allow you to quickly throw something
crude together, but the overhead it introduces when having to
customize it (that is why we are here as programmers and not in India)
and make it functional quickly outweighs the time savings. Most of
this overhead comes from OOP and the .NET framework.

The kind of projects we do don't fit in a wizard or a prebuilt
control, they require innovative, well thought out interfaces that
exactly fit the process, which is subject to large changes and
additions. Trying to do this in dot net causes large amounts of
rework and patch code, wasting large amounts of time.

Datagrids are the worst thing EVER. In VB 6.0 they were horrible.
They are a hole in which you burn large quantities of time and money
for NOTHING. NOTHING. How hard is it to create an HTML table and add
some data variables to it? You will save about two minutes when you
create the datagrid, then waste two weeks trying to get it to work and
look right and get any information out of it. You can see this by the
massive number of postings on usenet and blogs about datagrids. If
they actually worked no one would have to ask.

The designers of dot net haven't caught on to the concept that the
more they add to the development environment, the less productive it
is. They need to fix what was broken with the old ASP, not pile on
new complex and incompatible ways of doing simple stuff.

The complexity and shakiness of the environment means you can't depend
on anything or be sure that it is going to work due to the huge number
of dependencies. This is bad for clients and for you when things
break for no apparent reason.

Trying to get your head around what is going on and trying to fix it
when it frequently breaks takes your mind away from the problem you
are being paid to solve. If you are in business doing this you need
to charge a hefty premium and make yourself less cost competitive
which is death in today's IT market.

The edit, compile, run cycle is slower than ASP by a large margin.

It consumes a large amount of memory and disk space, and is very slow
to compile and run the first time, or when it gets flushed out of the
cache due to non use. Our users get upset if they have to wait all
the time.

The only useful things are the XML bits, webservices, and maybe the
site map template.

If there is an error anywhere in the website, it crashes the whole
thing, all pages. In old ASP only the affected file stops working.
This makes a test server mandatory, wasting time and money. No quick,
cheap fixing on the fly for us.

If you want to add a file to a project, such as a graphic, you have to
put it in the directory before you open Visual Web Developer 2005
otherwise it can't find the file because it presumably already thinks
it 'knows' what is in the project directory. I have to close then
reopen Visual Web Developer to see the file, wasting more time. This
is idiocy.
It is in Beta though, but this sort of thing should never happen.
When you click on the errors list, it thinks you want to jump down
through the errors, when I just want to look at the one I selected.
More idiocy.

You can't put a dynamic menus such as a header in the Master Page
because it is static and you can't send a parameter to it. How is this
an improvement? How hard is it to copy and paste a header or use an
include? I guess that is too straightforward and efficient.

The dot net website (http://beta.asp.net/GuidedTour/default.aspx),
which proudly says 'Powered By ASP.NET v2.0', crashed and was
unavailable for a while when I was looking at it.

The help system is so poorly designed it has a large 'Help on help'
section in it, and by looking at it, you know why it is absolutely
necessary.

Microsoft never gets it right until version 3.0, so stay away until
they finish it.

Component reuse is hugely overrated, and heavily pushed in dot net,
and I can count on one hand the number of times it would have been
useful in the last nine years. If you need lots of component reuse in
your application, the analysis is probably deeply flawed. However,
this may not apply to very large software projects and certain
applications where access is restricted and actions that are complex
must occur together, such as accounting.

Since every object, like a datagrid or a textbox has its own function
to populate it, it becomes a lot more work to get the results from one
query to be part of the criteria for another query on the same page,
wasting large amounts of time.

When everything is abstracted away and layered and put into multiple
places, it makes changes and maintenance a nightmare, wasting large
amounts of time.

There is way too much back and forth server traffic through postbacks,
so if your connection is slow or the server is overloaded, it will be
immediately apparent in the application. Programmers still don't get
it that most people don't have broadband, though within the workplace
they do.

Server validation is an order of magnitude slower than client
validation. In the book, Real World ASP.NET Best Practices by Farhan
Muhammad and Matt Milner, and I quote, "For example, suppose you are
asked to provide a drop-down list of credit card numbers, and, when
the user selects a number, to display the cardholder name and
expiration date by using text boxes.
One way to accomplish this task is to capture the SelectedIndexChange
event of the ASP.NET drop-down list control. When this event occurs,
the page makes a post-back trip to the server and triggers your event
handler. In the event handler, you can obtain the selected credit card
number and retrieve remaining information by querying the database.
This mechanism, even though it is an ASP.NET way of accomplishing
tasks, is very slow and causes unnecessary traffic on the Web server."

By the time you are finished typing in all the OOP overhead code even
for a small application, your fingers will be bloody stumps, or it
will feel like that. There is a high irrelevancy ratio with dot net,
where you are often
having to code things that have very little to do with the actual work
you are trying to accomplish, mostly OOP overhead.

PHP and Perl are far more powerful than dot net, and much more
satisfying and less frustrating to use.

The database wizards in Visual Web Developer 2005 don't always work.

The visual editor is finicky and imprecise, especially when it
interface is getting complex.

The built in controls have horrible ugly unrefined user interfaces.
To fix them requires more work than fixing plain html.

The coding complexity in dot net explodes when doing anything remotely
complicated. You can't easily follow the logic of what is
going on without jumping all over the place.

They are trying to make things more efficient by adding more code to
break operations up into smaller pieces, when having too much code is
the problem.

ASP.NET is like communism, it should work in theory, but in practice
it is a nightmare.

Instead of writing a breadcrumb control where the pages are defined
ahead of time, which in any real life application is a pain to update,
and will likely not get done, why isn't there one that just gets the
referring page title and put it into the breadcrumb trail?

Conclusion: Microsoft .NET represents huge step backward in
programming Web applications, by imposing an inappropriate
object-based programming model imposing large overhead costs and
bloat.

I am sure most of you will feel the opposite, but if you want to know
why dot net has not taken off like a rocket, read the reasons above.
I rest my case.
-c-

P.S. Java is horrible too and I think it is worse.

Jul 21 '05 #5
Hmm... sounds like you are doing something wrong.
Oh well.
Jul 21 '05 #6
On 1 Apr 2005 10:11:53 -0800, ch********@yahoo.com (DotNetIsHorrible)
wrote:

I don't think this was a joke. I mean, you don't write such large text
as a joke. No, this guy is serious.

Which makes if even a better joke.


--
Ludwig Stuyck
http://www.coders-lab.net
Jul 21 '05 #7
Thanks for the laughs guys!! People at work was looking at me like I am
crazy when I laughed out loud. This guy just need to get over it.

--
T. DAVIS JR
aka - Tampa.NET Koder
"DotNetIsHorrible" <ch********@yahoo.com> wrote in message
news:1f**************************@posting.google.c om...
I write CRUD database applications for a living for an audience of
about 100 users per application using classic ASP. I maintain and
frequently change on user's request 22 different applications by
myself.
Recently we have had .NET 1.1 then 2.0 installed and have been told to
use it.
After reading the books about it, and trying it for a couple of
months, I got so mad I decided to write down all of my issues and
rants and post them here.
I have been in this industry for too long to mindlessly drink the
kool-aid and eat up whatever impractical junk they are hyping at the
moment.
Some of these issues have been resolved by pressure on Microsoft in
version 2.0.

Why dot net is horrible for smaller scale Create Read Update Delete
(CRUD) web development:

Overly complicated, more things can and do go wrong, wasting large
amounts of time.

Slow to load the editor, slow to run.

Unhelpful and bizarre error messages, wasting large amounts of time.
I seem to frequently see Error in application "/".

Applications built using this are very inflexible and will cause us
huge problems in the future, forcing us to rewrite them instead,
wasting large amounts of time.

There is no advantage to using OOP for our scale of applications,
having less than 100 users, no more than 5 at a time.

Way more overhead to do simple things, wasting large amounts of time

Hard to refine user interface, everything is locked into controls,
making our clients unhappy and frustrated they can't have things the
way they want.

Dot net is more suitable for large projects with 20 people on each
one, not ~20 projects per person like we have.

Too many methods and objects to choose from, is faster just to write
one than to find the one that matches.

Poorly implemented security model requiring hacks just to function if
the database is on a different server. (v1.1)

The OOP model clashes badly with the relational data model used in all
our databases, requiring kludges and lots of code to work around and
translate, wasting large amounts of time.
See why here: http://en.wikipedia.org/wiki/Object-relational_mapping

One of the main justifications for OOP is a way of dealing with very
large, monolithic systems, separating functional pieces so they don't
affect each other unintentionally, and it does this reasonably well.
But web applications are self limiting in complexity as they are
divided up into pages, so the complexity never gets to the point where
OOP is worth the overhead.

Seems to be pathologically afraid of HTML, the simplicity and
directness of which revolutionized application development making it
fast, flexible and cheap, now they want to go back to the horrible,
slow, expensive, inflexible old model of windows development instead?
What the hell are they smoking? It seems Windows is the center of
their world, what a surprise.

They keep saying we can use rich user interface controls, when 99.9%
of applications don't need them.
They are often buggy and hard to configure. With a little poking
through the reference, and a small amount of thinking, plain old ASP
can construct whatever you need, exactly to your specifications.
You can do the same thing in dot net but it takes a lot more work to
get around the framework's obtrusiveness and attempts to 'help' you.

Regular ASP and PHP are much more powerful than dot net, as you have
explicit control over the HTML. You don't have to go learn a whole
new API just to manipulate HTML.

Everything in the toolbox can be done with plain old ASP or PHP,
except for maybe XML and the phone stuff which is worthless.
Databases should be handling data transfer between applications
anyway, except for web services.

Drag and drop development is a fundamentally misguided method for
building applications. It will allow you to quickly throw something
crude together, but the overhead it introduces when having to
customize it (that is why we are here as programmers and not in India)
and make it functional quickly outweighs the time savings. Most of
this overhead comes from OOP and the .NET framework.

The kind of projects we do don't fit in a wizard or a prebuilt
control, they require innovative, well thought out interfaces that
exactly fit the process, which is subject to large changes and
additions. Trying to do this in dot net causes large amounts of
rework and patch code, wasting large amounts of time.

Datagrids are the worst thing EVER. In VB 6.0 they were horrible.
They are a hole in which you burn large quantities of time and money
for NOTHING. NOTHING. How hard is it to create an HTML table and add
some data variables to it? You will save about two minutes when you
create the datagrid, then waste two weeks trying to get it to work and
look right and get any information out of it. You can see this by the
massive number of postings on usenet and blogs about datagrids. If
they actually worked no one would have to ask.

The designers of dot net haven't caught on to the concept that the
more they add to the development environment, the less productive it
is. They need to fix what was broken with the old ASP, not pile on
new complex and incompatible ways of doing simple stuff.

The complexity and shakiness of the environment means you can't depend
on anything or be sure that it is going to work due to the huge number
of dependencies. This is bad for clients and for you when things
break for no apparent reason.

Trying to get your head around what is going on and trying to fix it
when it frequently breaks takes your mind away from the problem you
are being paid to solve. If you are in business doing this you need
to charge a hefty premium and make yourself less cost competitive
which is death in today's IT market.

The edit, compile, run cycle is slower than ASP by a large margin.

It consumes a large amount of memory and disk space, and is very slow
to compile and run the first time, or when it gets flushed out of the
cache due to non use. Our users get upset if they have to wait all
the time.

The only useful things are the XML bits, webservices, and maybe the
site map template.

If there is an error anywhere in the website, it crashes the whole
thing, all pages. In old ASP only the affected file stops working.
This makes a test server mandatory, wasting time and money. No quick,
cheap fixing on the fly for us.

If you want to add a file to a project, such as a graphic, you have to
put it in the directory before you open Visual Web Developer 2005
otherwise it can't find the file because it presumably already thinks
it 'knows' what is in the project directory. I have to close then
reopen Visual Web Developer to see the file, wasting more time. This
is idiocy.
It is in Beta though, but this sort of thing should never happen.
When you click on the errors list, it thinks you want to jump down
through the errors, when I just want to look at the one I selected.
More idiocy.

You can't put a dynamic menus such as a header in the Master Page
because it is static and you can't send a parameter to it. How is this
an improvement? How hard is it to copy and paste a header or use an
include? I guess that is too straightforward and efficient.

The dot net website (http://beta.asp.net/GuidedTour/default.aspx),
which proudly says 'Powered By ASP.NET v2.0', crashed and was
unavailable for a while when I was looking at it.

The help system is so poorly designed it has a large 'Help on help'
section in it, and by looking at it, you know why it is absolutely
necessary.

Microsoft never gets it right until version 3.0, so stay away until
they finish it.

Component reuse is hugely overrated, and heavily pushed in dot net,
and I can count on one hand the number of times it would have been
useful in the last nine years. If you need lots of component reuse in
your application, the analysis is probably deeply flawed. However,
this may not apply to very large software projects and certain
applications where access is restricted and actions that are complex
must occur together, such as accounting.

Since every object, like a datagrid or a textbox has its own function
to populate it, it becomes a lot more work to get the results from one
query to be part of the criteria for another query on the same page,
wasting large amounts of time.

When everything is abstracted away and layered and put into multiple
places, it makes changes and maintenance a nightmare, wasting large
amounts of time.

There is way too much back and forth server traffic through postbacks,
so if your connection is slow or the server is overloaded, it will be
immediately apparent in the application. Programmers still don't get
it that most people don't have broadband, though within the workplace
they do.

Server validation is an order of magnitude slower than client
validation. In the book, Real World ASP.NET Best Practices by Farhan
Muhammad and Matt Milner, and I quote, "For example, suppose you are
asked to provide a drop-down list of credit card numbers, and, when
the user selects a number, to display the cardholder name and
expiration date by using text boxes.
One way to accomplish this task is to capture the SelectedIndexChange
event of the ASP.NET drop-down list control. When this event occurs,
the page makes a post-back trip to the server and triggers your event
handler. In the event handler, you can obtain the selected credit card
number and retrieve remaining information by querying the database.
This mechanism, even though it is an ASP.NET way of accomplishing
tasks, is very slow and causes unnecessary traffic on the Web server."

By the time you are finished typing in all the OOP overhead code even
for a small application, your fingers will be bloody stumps, or it
will feel like that. There is a high irrelevancy ratio with dot net,
where you are often
having to code things that have very little to do with the actual work
you are trying to accomplish, mostly OOP overhead.

PHP and Perl are far more powerful than dot net, and much more
satisfying and less frustrating to use.

The database wizards in Visual Web Developer 2005 don't always work.

The visual editor is finicky and imprecise, especially when it
interface is getting complex.

The built in controls have horrible ugly unrefined user interfaces.
To fix them requires more work than fixing plain html.

The coding complexity in dot net explodes when doing anything remotely
complicated. You can't easily follow the logic of what is
going on without jumping all over the place.

They are trying to make things more efficient by adding more code to
break operations up into smaller pieces, when having too much code is
the problem.

ASP.NET is like communism, it should work in theory, but in practice
it is a nightmare.

Instead of writing a breadcrumb control where the pages are defined
ahead of time, which in any real life application is a pain to update,
and will likely not get done, why isn't there one that just gets the
referring page title and put it into the breadcrumb trail?

Conclusion: Microsoft .NET represents huge step backward in
programming Web applications, by imposing an inappropriate
object-based programming model imposing large overhead costs and
bloat.

I am sure most of you will feel the opposite, but if you want to know
why dot net has not taken off like a rocket, read the reasons above.
I rest my case.
-c-

P.S. Java is horrible too and I think it is worse.

Jul 21 '05 #8
I agree with your assessment completely. These others are obviously clueless
nerds who've never worked at a real company with a responsibility to provide
the user with SOMETHING THAT WORKS FOR MORE THAN A YEAR! I've spent 10 years
with VB constantly updating the same code with the "newest" technology.
Funny how when I go back to my VB3 versions, it does the EXACT same thing as
my .NET versions. Weird how 7 years ago at VSLive (or what ever it was
called back then) I was told ActiveX was the "technology of the
future"...ActiveX? whats that? My company of 40,000 is so fed up they are
throwing Microsoft development products out and bringing in IBM...they
actually support their programming languages you know?
Sell you stock is my advise...

"T. DAVIS JR" wrote:
Thanks for the laughs guys!! People at work was looking at me like I am
crazy when I laughed out loud. This guy just need to get over it.

--
T. DAVIS JR
aka - Tampa.NET Koder
"DotNetIsHorrible" <ch********@yahoo.com> wrote in message
news:1f**************************@posting.google.c om...
I write CRUD database applications for a living for an audience of
about 100 users per application using classic ASP. I maintain and
frequently change on user's request 22 different applications by
myself.
Recently we have had .NET 1.1 then 2.0 installed and have been told to
use it.
After reading the books about it, and trying it for a couple of
months, I got so mad I decided to write down all of my issues and
rants and post them here.
I have been in this industry for too long to mindlessly drink the
kool-aid and eat up whatever impractical junk they are hyping at the
moment.
Some of these issues have been resolved by pressure on Microsoft in
version 2.0.

Why dot net is horrible for smaller scale Create Read Update Delete
(CRUD) web development:

Overly complicated, more things can and do go wrong, wasting large
amounts of time.

Slow to load the editor, slow to run.

Unhelpful and bizarre error messages, wasting large amounts of time.
I seem to frequently see Error in application "/".

Applications built using this are very inflexible and will cause us
huge problems in the future, forcing us to rewrite them instead,
wasting large amounts of time.

There is no advantage to using OOP for our scale of applications,
having less than 100 users, no more than 5 at a time.

Way more overhead to do simple things, wasting large amounts of time

Hard to refine user interface, everything is locked into controls,
making our clients unhappy and frustrated they can't have things the
way they want.

Dot net is more suitable for large projects with 20 people on each
one, not ~20 projects per person like we have.

Too many methods and objects to choose from, is faster just to write
one than to find the one that matches.

Poorly implemented security model requiring hacks just to function if
the database is on a different server. (v1.1)

The OOP model clashes badly with the relational data model used in all
our databases, requiring kludges and lots of code to work around and
translate, wasting large amounts of time.
See why here: http://en.wikipedia.org/wiki/Object-relational_mapping

One of the main justifications for OOP is a way of dealing with very
large, monolithic systems, separating functional pieces so they don't
affect each other unintentionally, and it does this reasonably well.
But web applications are self limiting in complexity as they are
divided up into pages, so the complexity never gets to the point where
OOP is worth the overhead.

Seems to be pathologically afraid of HTML, the simplicity and
directness of which revolutionized application development making it
fast, flexible and cheap, now they want to go back to the horrible,
slow, expensive, inflexible old model of windows development instead?
What the hell are they smoking? It seems Windows is the center of
their world, what a surprise.

They keep saying we can use rich user interface controls, when 99.9%
of applications don't need them.
They are often buggy and hard to configure. With a little poking
through the reference, and a small amount of thinking, plain old ASP
can construct whatever you need, exactly to your specifications.
You can do the same thing in dot net but it takes a lot more work to
get around the framework's obtrusiveness and attempts to 'help' you.

Regular ASP and PHP are much more powerful than dot net, as you have
explicit control over the HTML. You don't have to go learn a whole
new API just to manipulate HTML.

Everything in the toolbox can be done with plain old ASP or PHP,
except for maybe XML and the phone stuff which is worthless.
Databases should be handling data transfer between applications
anyway, except for web services.

Drag and drop development is a fundamentally misguided method for
building applications. It will allow you to quickly throw something
crude together, but the overhead it introduces when having to
customize it (that is why we are here as programmers and not in India)
and make it functional quickly outweighs the time savings. Most of
this overhead comes from OOP and the .NET framework.

The kind of projects we do don't fit in a wizard or a prebuilt
control, they require innovative, well thought out interfaces that
exactly fit the process, which is subject to large changes and
additions. Trying to do this in dot net causes large amounts of
rework and patch code, wasting large amounts of time.

Datagrids are the worst thing EVER. In VB 6.0 they were horrible.
They are a hole in which you burn large quantities of time and money
for NOTHING. NOTHING. How hard is it to create an HTML table and add
some data variables to it? You will save about two minutes when you
create the datagrid, then waste two weeks trying to get it to work and
look right and get any information out of it. You can see this by the
massive number of postings on usenet and blogs about datagrids. If
they actually worked no one would have to ask.

The designers of dot net haven't caught on to the concept that the
more they add to the development environment, the less productive it
is. They need to fix what was broken with the old ASP, not pile on
new complex and incompatible ways of doing simple stuff.

The complexity and shakiness of the environment means you can't depend
on anything or be sure that it is going to work due to the huge number
of dependencies. This is bad for clients and for you when things
break for no apparent reason.

Trying to get your head around what is going on and trying to fix it
when it frequently breaks takes your mind away from the problem you
are being paid to solve. If you are in business doing this you need
to charge a hefty premium and make yourself less cost competitive
which is death in today's IT market.

The edit, compile, run cycle is slower than ASP by a large margin.

It consumes a large amount of memory and disk space, and is very slow
to compile and run the first time, or when it gets flushed out of the
cache due to non use. Our users get upset if they have to wait all
the time.

The only useful things are the XML bits, webservices, and maybe the
site map template.

If there is an error anywhere in the website, it crashes the whole
thing, all pages. In old ASP only the affected file stops working.
This makes a test server mandatory, wasting time and money. No quick,
cheap fixing on the fly for us.

If you want to add a file to a project, such as a graphic, you have to
put it in the directory before you open Visual Web Developer 2005
otherwise it can't find the file because it presumably already thinks
it 'knows' what is in the project directory. I have to close then
reopen Visual Web Developer to see the file, wasting more time. This
is idiocy.
It is in Beta though, but this sort of thing should never happen.
When you click on the errors list, it thinks you want to jump down
through the errors, when I just want to look at the one I selected.
More idiocy.

You can't put a dynamic menus such as a header in the Master Page
because it is static and you can't send a parameter to it. How is this
an improvement? How hard is it to copy and paste a header or use an
include? I guess that is too straightforward and efficient.

The dot net website (http://beta.asp.net/GuidedTour/default.aspx),
which proudly says 'Powered By ASP.NET v2.0', crashed and was
unavailable for a while when I was looking at it.

The help system is so poorly designed it has a large 'Help on help'
section in it, and by looking at it, you know why it is absolutely
necessary.

Microsoft never gets it right until version 3.0, so stay away until
they finish it.

Component reuse is hugely overrated, and heavily pushed in dot net,
and I can count on one hand the number of times it would have been
useful in the last nine years. If you need lots of component reuse in
your application, the analysis is probably deeply flawed. However,
this may not apply to very large software projects and certain
applications where access is restricted and actions that are complex
must occur together, such as accounting.

Since every object, like a datagrid or a textbox has its own function
to populate it, it becomes a lot more work to get the results from one
query to be part of the criteria for another query on the same page,
wasting large amounts of time.

When everything is abstracted away and layered and put into multiple
places, it makes changes and maintenance a nightmare, wasting large
amounts of time.

There is way too much back and forth server traffic through postbacks,
so if your connection is slow or the server is overloaded, it will be
immediately apparent in the application. Programmers still don't get
it that most people don't have broadband, though within the workplace
they do.

Server validation is an order of magnitude slower than client
validation. In the book, Real World ASP.NET Best Practices by Farhan
Muhammad and Matt Milner, and I quote, "For example, suppose you are
asked to provide a drop-down list of credit card numbers, and, when
the user selects a number, to display the cardholder name and
expiration date by using text boxes.
One way to accomplish this task is to capture the SelectedIndexChange
event of the ASP.NET drop-down list control. When this event occurs,
the page makes a post-back trip to the server and triggers your event
handler. In the event handler, you can obtain the selected credit card
number and retrieve remaining information by querying the database.
This mechanism, even though it is an ASP.NET way of accomplishing
tasks, is very slow and causes unnecessary traffic on the Web server."

By the time you are finished typing in all the OOP overhead code even
for a small application, your fingers will be bloody stumps, or it
will feel like that. There is a high irrelevancy ratio with dot net,
where you are often
having to code things that have very little to do with the actual work
you are trying to accomplish, mostly OOP overhead.

PHP and Perl are far more powerful than dot net, and much more
satisfying and less frustrating to use.

The database wizards in Visual Web Developer 2005 don't always work.

The visual editor is finicky and imprecise, especially when it
interface is getting complex.

The built in controls have horrible ugly unrefined user interfaces.
To fix them requires more work than fixing plain html.

The coding complexity in dot net explodes when doing anything remotely
complicated. You can't easily follow the logic of what is
going on without jumping all over the place.

They are trying to make things more efficient by adding more code to
break operations up into smaller pieces, when having too much code is
the problem.

ASP.NET is like communism, it should work in theory, but in practice
it is a nightmare.

Instead of writing a breadcrumb control where the pages are defined
ahead of time, which in any real life application is a pain to update,
and will likely not get done, why isn't there one that just gets the
referring page title and put it into the breadcrumb trail?

Conclusion: Microsoft .NET represents huge step backward in
programming Web applications, by imposing an inappropriate
object-based programming model imposing large overhead costs and
bloat.

I am sure most of you will feel the opposite, but if you want to know
why dot net has not taken off like a rocket, read the reasons above.
I rest my case.
-c-

P.S. Java is horrible too and I think it is worse.


Jul 21 '05 #9
Hmm, if you have failed to significantly improve your applications since the
days of VB3, its no wonder that your internal clients are so "fed up" with
your IT department.
Somehow I doubt that the problem here is the technology (either MSFT or
IBM).
"Cutlass" <Cu*****@discussions.microsoft.com> wrote in message
news:E5**********************************@microsof t.com...
I agree with your assessment completely. These others are obviously
clueless
nerds who've never worked at a real company with a responsibility to
provide
the user with SOMETHING THAT WORKS FOR MORE THAN A YEAR! I've spent 10
years
with VB constantly updating the same code with the "newest" technology.
Funny how when I go back to my VB3 versions, it does the EXACT same thing
as
my .NET versions. Weird how 7 years ago at VSLive (or what ever it was
called back then) I was told ActiveX was the "technology of the
future"...ActiveX? whats that? My company of 40,000 is so fed up they
are
throwing Microsoft development products out and bringing in IBM...they
actually support their programming languages you know?
Sell you stock is my advise...

Jul 21 '05 #10
> Hmm, if you have failed to significantly improve your applications since
the
days of VB3, its no wonder that your internal clients are so "fed up" with
your IT department.
Somehow I doubt that the problem here is the technology (either MSFT or
IBM).

I have the impression that this guy likes the old days of programming where
everything was simple and better.
But in those days, hackers were rare, virusses and worms were rare, security
breaches were rare. We live in a different world now, where security is top
priority, and the .NET way is a big step forward because every .NET program
has security standard implemented. Unlike the conventional programming.

But I am wondering how he would solve the problem that everything is perfect
instead of complaining. What are his solutions to these problems? And why is
he jumping to ASP.NET if ASP was better?

My experience is that if you start to use newer technology and it fails and
crashes and slows down en any other complaints then it is 99% of the time
the reason that you try to use it the old way and violate every modern
design philosophy of that language.
My biggest guess is that he tries to do it the ASP way and not the ASP.NET
way in C#.

Let go that ASP way of thinking, and start thinking like a pure ASP.NET and
many problems you face now will be gone.
I admit that the step between conventional way of programming (ASP, PHP)
towards the ASP.NET way is very huge but I believe that it is worth it to
create even more secure programs.

One thing that makes me a little sad in his comments is the fact that the
..NET framework should only contain the components that HE needs. He doesn't
realize that other people might need different components. Ofcourse that
means a bigger online help file and I have to admit that even a cat would
not find its young in that help file.

---
http://www.skyscan.be
Jul 21 '05 #11
Our company built a web site for the US Navy using ASP. This web site is
extremely important for squadrons to order the aircraft components to save
the lives of pilots. Without these components, planes don't fly and soldiers
die.

Our ASP web site consisted of 2200 pages after it was partially complete.
We have 4 programmers to maintain these pages. We were looking forward to
being able to convert the site to .net in order so as to reduce the number of
pages and to expedite page processing. However after the deployment of
several new ASP.Net modules we have found the following issues.

Limited server resources are being utilized so heavily that at times it will
take 20 minutes or more to load a simple listing 15 data points.

The some programmers are relying on the highly toted garbage collector to
clean up their database objects instead of disposing of them explicitly
thereby creating large numbers of database connections that use up the
resources of the database server.

The literature on deployment extolled the virtues of the "xcopy" means of
deployment yet none of the objects want to work when deployed in this fashion
requiring extensive amount of troubleshooting on the production machines and
as well as time spent creating deployment packages.

Strange behavior quirks occur in the IDE that are different from machine to
machine and even project to project. This means that a lot of expensive
programming time is being spent learning about and dealing with these quirks.

Example. VS creates the inital page of a Web project to be webForm1,
obviously an unsatisfactory name for a web page. However, when the rename
function is used to rename the file, it does not rename the public Class on
the page behind the file. When this is noted, and handled, the inherits
statement in the aspx file still needs to be changed. Our programmers have
taken to deleting the initial webform and adding a new one with the name we
choose from scratch.

Another example, IIS prefers the initial file of a Web app to be named
"default". However VS will not allow the class of the code behind file to
have the name "default" so it renames it "_default". This is fine for the
first project created like this. But then when I opened a second project and
did the same thing, upon running an error reports that it could not load
type "projectname._default". After changing the name of the class to
something innocuous like "zeus", and putting a break point in the page load
event, Visual studio proceeded to show as open SECOND "default.aspx.vb" file
with a Public class named "_default"?!!?

Another example. A control gets dropped on a form. Then it's moved to
examine a new layout. When you try to put it back where it was it won't go.
The only alternative is to delete the control and start all over.

Another example: We wanted to convert one page at a time to use ASP.Net.
However we found that we opened an ASP.Net project in the folder of the page
we wanted to replace, That folder could no longer be seen in interdev. None
of the Design Time Controls that were toted so intensively a few years ago,
could be accessed from the VS.Net project. So there was no way to repair
pages that were breaking. When we asked Microsoft for assistance, we were
informed "We sorry. Visual Interdev is no longer supported. Please update
your applications and try again."

While any new product is going to have a learning curve and quirks, we still
have 2200 pages to maintain and convert. We don't have a enough programmer
resources to spend half each day searching the internet trying to deal with
all of these issues that keep cropping up. VS.Net is not making it easy or
helpful.

Jul 21 '05 #12
Hi,

I have partially the same idea about a lot what you wrote if it is about
ASPNET.

It is not easy to change things etc etc..
The documentation is very much based on classic ASP etc etc.

However I think that it has more value to discuss it in these newsgroups.

http://forums.microsoft.com/MSDN/default.aspx

Maybe is it already improved and maybe can your input help to make it
better.

Cor

Jul 21 '05 #13
Inline...

--

"OldProgrammer" <Ol***********@discussions.microsoft.com> a écrit dans le
message de news:06**********************************@microsof t.com...
Our company built a web site for the US Navy using ASP. This web site is
extremely important for squadrons to order the aircraft components to save
the lives of pilots. Without these components, planes don't fly and soldiers die.

Our ASP web site consisted of 2200 pages after it was partially complete.
We have 4 programmers to maintain these pages. We were looking forward to
being able to convert the site to .net in order so as to reduce the number of pages and to expedite page processing. However after the deployment of
several new ASP.Net modules we have found the following issues.

Limited server resources are being utilized so heavily that at times it will take 20 minutes or more to load a simple listing 15 data points.
Normal behavior ? Really strange IMO or is this such an old server ?

The some programmers are relying on the highly toted garbage collector to
clean up their database objects instead of disposing of them explicitly
thereby creating large numbers of database connections that use up the
resources of the database server.
Solved now that they know that. Lack of training prior to switching to
ASP.NET (IMO it's quite well documented).

The literature on deployment extolled the virtues of the "xcopy" means of
deployment yet none of the objects want to work when deployed in this fashion requiring extensive amount of troubleshooting on the production machines and as well as time spent creating deployment packages.
It works fine for us...

Strange behavior quirks occur in the IDE that are different from machine to machine and even project to project. This means that a lot of expensive
programming time is being spent learning about and dealing with these quirks.

Never had this one (though we are only 4 here)

Example. VS creates the inital page of a Web project to be webForm1,
obviously an unsatisfactory name for a web page. However, when the rename
function is used to rename the file, it does not rename the public Class on the page behind the file. When this is noted, and handled, the inherits
statement in the aspx file still needs to be changed. Our programmers have taken to deleting the initial webform and adding a new one with the name we choose from scratch.
Renaming manually also works. A bit annoying but that's not the everyday
task...

Another example, IIS prefers the initial file of a Web app to be named
"default". However VS will not allow the class of the code behind file to
have the name "default" so it renames it "_default". This is fine for the first project created like this. But then when I opened a second project and did the same thing, upon running an error reports that it could not load
type "projectname._default". After changing the name of the class to
something innocuous like "zeus", and putting a break point in the page load event, Visual studio proceeded to show as open SECOND "default.aspx.vb" file with a Public class named "_default"?!!?
I believe we had this one once... Not sure how we get around...

Another example. A control gets dropped on a form. Then it's moved to
examine a new layout. When you try to put it back where it was it won't go. The only alternative is to delete the control and start all over.
Try to move it in HTML mode (anyway due to HTML you can't always IMO be
rigourous when placing an HTML element, I tend to do fine layout tuning in
HTML view.

Another example: We wanted to convert one page at a time to use ASP.Net.
However we found that we opened an ASP.Net project in the folder of the page we wanted to replace, That folder could no longer be seen in interdev. None of the Design Time Controls that were toted so intensively a few years ago, could be accessed from the VS.Net project. So there was no way to repair
pages that were breaking. When we asked Microsoft for assistance, we were
informed "We sorry. Visual Interdev is no longer supported. Please update your applications and try again."
We are using VS.NET now for both ASP and ASP.NET applications (or for those
who have a mix of ASP, ASP.NET pages).

While any new product is going to have a learning curve and quirks, we still have 2200 pages to maintain and convert. We don't have a enough programmer resources to spend half each day searching the internet trying to deal with all of these issues that keep cropping up. VS.Net is not making it easy or
helpful.


Try to ask a question at a time to get help on particular subjects if
possible..
Patrice
Jul 21 '05 #14
"OldProgrammer" <Ol***********@discussions.microsoft.com> wrote in message
news:06**********************************@microsof t.com...
Our company built a web site for the US Navy using ASP. This web site is
extremely important for squadrons to order the aircraft components to save
the lives of pilots. Without these components, planes don't fly and
soldiers
die.


Holy crap!!!!

It's a scary thought that lives are dependent on a Classic ASP app!!!

Jul 21 '05 #15
> Holy crap!!!!

It's a scary thought that lives are dependent on a Classic ASP app!!!

LOL
Jul 21 '05 #16
I am sure that the families of the 1769 US service men and women that have
died in Iraq and the 500+ that have died in Afghanistan think it is very
funny as well.

I am sure that you could write in 20 minutes an application in compliance
with DoD regulations to replace the existing Web Site which was working
wonderfully until ASP.Net came along. Why don't you write the Dept of the
Navy and bid on the contract for the CAD/PAD VFS website.

"Cor Ligthert" wrote:
Holy crap!!!!

It's a scary thought that lives are dependent on a Classic ASP app!!!

LOL

Jul 26 '05 #17
Not sure what this is about, guess someone doesn't like classic ASP?? Not
sure what Afghanistan has to do with this. I've got a lot of programming
experience and to be honest I'd rather do any other kind of programming that
is NOT web based.

But whether the language is ASP, VB.NET with ASP.NET, HTML, XHTML,
JavaScript, VBScript, etc. etc. etc. -- the fundamental problems of
developing in this nightmare of an environment are:

1. Stateless
2. Security
3. Rendering pages

Those issues have not changed, we just have different tools with same set of
issues as the old tools. Change is needed, what that change will be I'm not
sure, but the current status of web development is ultimately doomed unless
we realize those changes soon.

My personal opinion and what can be achieved to some success today is rely
on .NET framework on client PCs -- since .NET framework is currently
available across platforms it might be a much better faster and more rebust
solution. Use basic HTML to retain the pretty graphics and basic linking,
but the links such for example "Manage Your Account" should just download
small footprint .NET apps that execute immediately on the client side
(outside of the browser). This will elminate stateless, and page rendering
and IF implemented correctly can be much more secure.

Rob.

"OldProgrammer" <Ol***********@discussions.microsoft.com> wrote in message
news:F2**********************************@microsof t.com...
I am sure that the families of the 1769 US service men and women that have
died in Iraq and the 500+ that have died in Afghanistan think it is very
funny as well.

I am sure that you could write in 20 minutes an application in compliance
with DoD regulations to replace the existing Web Site which was working
wonderfully until ASP.Net came along. Why don't you write the Dept of the
Navy and bid on the contract for the CAD/PAD VFS website.

"Cor Ligthert" wrote:
> Holy crap!!!!
>
> It's a scary thought that lives are dependent on a Classic ASP app!!!
>

LOL

Jul 26 '05 #18
What did I miss here? Obvsiously this took a serious turn somewhere but if
I can possibly be of any assistance, please let me know and I'll do what I
can
"OldProgrammer" <Ol***********@discussions.microsoft.com> wrote in message
news:F2**********************************@microsof t.com...
I am sure that the families of the 1769 US service men and women that have
died in Iraq and the 500+ that have died in Afghanistan think it is very
funny as well.

I am sure that you could write in 20 minutes an application in compliance
with DoD regulations to replace the existing Web Site which was working
wonderfully until ASP.Net came along. Why don't you write the Dept of the
Navy and bid on the contract for the CAD/PAD VFS website.

"Cor Ligthert" wrote:
> Holy crap!!!!
>
> It's a scary thought that lives are dependent on a Classic ASP app!!!
>

LOL

Jul 27 '05 #19
The basic thrust was that we have a 2200 page ASP web site in production that
is responsible for the delivery of vital aircraft parts to active duty US
Navy aircraft so that they may continue to fly and provide close air support
to our troops in Iraq and Afghanistan. This site needs to be updated to the
latest technology but VS.net kept placing obstacles in the way with its
inconsistent behavior. so of these kids seem to think it was funny that
peoples lives are dependent upon the proper operation of an application.
Re inconsistent behavior, The other day I was using a class level variable
to preserve state between post-backs as advertised and advocated by Microsoft
only to be informed that the latest information on the subject was advising
against the use of these constructs as they did not perform as advertised. I
was able to confirm this through experimentation and had to rely on an old
ASP trick of storing the variable in an hidden text box. This is not the
kind of product I have come to expect from Microsoft. I have been repeatedly
disappointed while using this environment. I think you must add to your list
ease of use. Unless a product can be consistently developed easily and
quickly, there is going to be increasing amount of hesitation in updating
the massive older applications to use the new technologies. I am sure
everyone remembers the big Y2K fiasco.

"Rob R. Ainscough" wrote:
Not sure what this is about, guess someone doesn't like classic ASP?? Not
sure what Afghanistan has to do with this. I've got a lot of programming
experience and to be honest I'd rather do any other kind of programming that
is NOT web based.

But whether the language is ASP, VB.NET with ASP.NET, HTML, XHTML,
JavaScript, VBScript, etc. etc. etc. -- the fundamental problems of
developing in this nightmare of an environment are:

1. Stateless
2. Security
3. Rendering pages

Those issues have not changed, we just have different tools with same set of
issues as the old tools. Change is needed, what that change will be I'm not
sure, but the current status of web development is ultimately doomed unless
we realize those changes soon.

My personal opinion and what can be achieved to some success today is rely
on .NET framework on client PCs -- since .NET framework is currently
available across platforms it might be a much better faster and more rebust
solution. Use basic HTML to retain the pretty graphics and basic linking,
but the links such for example "Manage Your Account" should just download
small footprint .NET apps that execute immediately on the client side
(outside of the browser). This will elminate stateless, and page rendering
and IF implemented correctly can be much more secure.

Rob.

"OldProgrammer" <Ol***********@discussions.microsoft.com> wrote in message
news:F2**********************************@microsof t.com...
I am sure that the families of the 1769 US service men and women that have
died in Iraq and the 500+ that have died in Afghanistan think it is very
funny as well.

I am sure that you could write in 20 minutes an application in compliance
with DoD regulations to replace the existing Web Site which was working
wonderfully until ASP.Net came along. Why don't you write the Dept of the
Navy and bid on the contract for the CAD/PAD VFS website.

"Cor Ligthert" wrote:
> Holy crap!!!!
>
> It's a scary thought that lives are dependent on a Classic ASP app!!!
>
LOL


Aug 15 '05 #20

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: R.Marquez | last post by:
I hope I don't bore you with this personal experience. But, I hope the details are helpful for other Python and/or Linux newbies, or for those thinking about becoming such. I have been using...
24
by: Hung Jung Lu | last post by:
Hi, Does anybody know where this term comes from? "First-class object" means "something passable as an argument in a function call", but I fail to see the connection with "object class" or...
2
by: John Finney | last post by:
Does anyone have early impressions or experience with Altova's MapForce2004? In particular, I want to know the things it cannot do -- every O/R tool I have seen so far has some fatal flaw.
12
by: Alan J. Flavell | last post by:
OK, today's email brought a comment from a reader, pointing out something that I'd long since noticed myself but hadn't done anything about it. On my pages, I've got a first-letter style on...
1
by: Patrick | last post by:
I am trying to get "first-letter" to work inline withing an anchor. Actually I have not been able to get it to work within an <a> tag whether inline, linked, or embedded. Using IE6 service pack 1....
2
by: Arsen V. | last post by:
Hello, Did anyone have some experience with the following: 1) Need to track high volume of impressions - 20,000,000+ per day 2) Backend is SQL Server 2000 3) Webfarm of IIS with ASP.NET 4)...
19
by: DotNetIsHorrible | last post by:
I write CRUD database applications for a living for an audience of about 100 users per application using classic ASP. I maintain and frequently change on user's request 22 different applications...
4
by: Milan Krejci | last post by:
int first=15,latest=15; QString typ=NULL; std::map<int,std::string>::iterator i; for(i = SeznamPracovniDoby.begin(); i != SeznamPracovniDoby.end(); i++) { if (typ==NULL) typ=i->second.c_str(); if...
1
AMT India
by: AMT India | last post by:
How can I get the page impressions and clicks? Regards, AMTIndia
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.