Reasons for a 3-tier achitecture for Web? Why

  • Thread starter Thread starter Guest
  • Start date Start date
comments BELOW and INLINE...


nhoel said:
Sure, search and replace works really well, until you've forgotten to search
and replace one piece of your application. With N-Tier development, I
modify it in one place, compile, send it to my users and they plug it in. I
don't even have to bother other "production" components that are dependent
on my changes. Which one is easier to maintain now?

NO, NO, NO, NO......

Forgotten to replace one piece....HOW about the other way around? With OOP,
making the change in ONE place doesn't mean that EVERY PLACE is going to be
right.....Ohhhhhh....did I hear Design Pattern????????

What if it's a new business logic? Heck, we don't even need that! Where are
those Design Patterns NOW?

How do you know if the Object Model was correct in this INSTANCE????

With Search and Replace, at least I know and have a list of what's being
changed.....With OOP, you HOPE, READ H.O.P.E. that your Object Model was
done right and took into considering this NEW change that is being
added.....
A NEW CHANGE, that YOU DIDN'T anticpate from the very beginning.
A new change that was never designed into the Object Model.

Uh, Ohhhh....Did I hear on the News again another Windows Update ..Critical
Update from Microsoft.....

Oh, but since we trust OOP so much, this NEW Update, IS SUPPOSED TO NOT
affect anything IT shouldn't AFFECT...... BUT of course WE DON'T KNOW....

WE are SO PROUD of OUR OOP MODEL...IT SHOULD ALWAYS WORK....

HOWEVER, if it DOESN"T WORK, we can use the standard excuse, "BUGS ARE A
FACT OF LIFE, JUST LIKE ANYTHING ELSE"

HOW CONVENIENT????????

TO the other Poster, If I had a penny every time a Programmer said, "Bugs
are a Fact of Life...."

At least I'm smart enough to realize that not everything in life is perfect.
To assume that it is is plain stupid. And because of this assumption, I
find a constant role in correcting the imperfection and making people's life
better.

Oh really, "everything in life is NOT PERFECT"....BUT OOP is PERFECT?????

IS OOP is PERFECT, why do we have software patches every WEEK?




What you don't realize is that all the apps you've said also expose COM
components that applications can take advantage of. These components are
also easily used for N-Tier development.
all

Like I said, in N-Tier design, I modify the method I need to change and no
more search and replace for me. Which one is a lot faster... What if you
have to modify a whole code block? Damn, you're lucky if you're using
Regular Expressions so you can include CRLF characters on your text. What
you gonna do? Replace each occurrence of a certain command in your code,
line per line. Hmmm, business rule contains 10 lines of code (at least),
across 10 pages. Wow a 100 times you'll have to do cut and paste. Regular
Expression cut and paste style... figuring out the regular expression in
the find string and applying the correct one to the replace string... good

It's simple to use, yeah... But, the reason why it's not mentioned by most
OOP programmers is because it's just plain "STUPID." Knowing if we design
it well, we only need to change it in one place.
Architecture

Let me "Cut and Paste" what you indicated in your reply...


Don't deny what you wrote... and if you are, you're just contradicting what
you say. And if you contradict yourself, then your word as a "contributing"
member in a group of developers is not to be taken seriously. Your words
"as such for use in PDA's" suggest that you're thinking of putting the
business tier in it (just plain stupid as an idea though).

And to answer your question of different presentation layers are different
functions... NOT!!! Given an example of a simple (note the word simple)
Time And Attendance application. There is only one goal of the enterprise
app. That is, to log in the time the employee got in and out. Yet,
software companies have written a Web GUI, Voice Recognition Telephone
systems and swipe cards. Although these interfaces are different, all their
underlying rules are the same. For example, the employee cannot come in to
work before 7:00 AM. Despite the interfaces are different, they all follow
the same rule. Now, assuming you go with your 2-Tier design... the company
decides to change the rule to 8:00 AM... Wow, modification on 3 UI's.



And just how long will it take to modify 3 UI's? (seconds/ minutes /hours
please?)

Careful how you answer this?

This is exactly what I am looking for......

Hmmm.......



So,
where's the difference in the user's needs in this scenario? Take the
example of a retail application, since your major use for the internet is to
buy things. A company may open a website to sell their items, a 1-800
service over the phone and a retail store. In case you want a solid
example, take pizza hut as one. It has all three means of getting to the
customer... (Pizza hut is working on a central site, where people in one
location can take the order and forward it to their regional stores.) All
the rules are the same, you make your order, get charged and tax is added
into it plus other fees. Yeah, the rates may be different but if you design
it differently, you'd just grab it from the database and feed that
information to the interface. Even though each GUI may have additional
features, the basic rules of doing business still applies.

Man, this feels weird, it's like teaching a high school student to break bad
habits!!!


WRONG, COPY AND PASTE AND MODIFY and let each method of order entry stand
alone by itself.

Let's take a look at the time to copy paste and modify and single
method....will I be able to use a hot key...why NO....OK.

Control-C, Control-V 3 TIMES........Opppppsssss repetive stress
syndrome.......


How many seconds is that????????? Let's compare that time with the OOP
method?????


At least I'm smart enough to realize that not everything in life is perfect.
To assume that it is is plain stupid. And because of this assumption, I
find a constant role in correcting the imperfection and making people's life

However, bugs are not the only reason to issue updates and patches. You can
improve performance as technology becomes better. For a simple minded
person's sake... Consider that he created software that used, bubble sort
algorithm inside a method. Later on, he found out that a quick sort
algorithm will make his application work better... making the change on the
DLL across all applications that used his component is easier than changing
all the applications with that logic. EVEN WITH CUT AND PASTE!!!


WRONG. It's all encapsulated in a STANDARD METHOD......EASY to SEARCH and
REPLACE

You ALSO KNOW WHICH PAGES need to be replaced in the first place....Why is
this possible? K.I.S.S. Because the pages are named properly and can easily
figure out which pages should have been replace just by similarly named
pages...

EASY AS PIE......
What's the use of the riddle? And it's seems to be missing another "O."


Can you say honestly, that you've never changed your application once it
went to production. Or do you call it an entirely different product every
new release...


Yes, I have accepted bugs as a natural fact of life... and so is famine and
war and every little evil in this world. Not to accept it is to live a
false life. But should that stop me from putting out my patches or getting
them, the answer is definitely NO. In a digital world, no matter how secure
your application is, it's just plain nonsense to think that you are safe
from every hacker in this world. Nor should you assume that your
application works perfectly. One should design their system for growth,
adaptation and presentation. Perfection, is a false goal. As a seasoned
developer, I know that not everyone can be satisfied by your work. And
that's why, patches are released one right after the other. Why is it, that
Norton AntiVirus and McAffee, producing updates to their systems? They are
afterall, somewhat reliable. That's because it's a never ending battle.
Besides, life does not stop because your application has been rid of bugs.
You can constantly improve on it, give it more features and make it more
user friendly. Like I said, fixing bugs is not the only reason why you
issue a patch. Now, isn't that innovation? But I guess, I have to thank
you for calling me as such. (NOT!!!)

Here's the real plus of N-Tier design that I keep on forgetting to include
in my past messages. N-Tier development allows me to concentrate more on
building the application rather than spending time on the "infrastructure"
of my product. If you don't understand that, you can read up on Microsoft
DNA or J2EE development. They'll explain to you what I meant.

As for the moment, J2EE has the better infrastructure than Microsoft. Only,
Microsoft has the better IDE than most J2EE compliant tool I've used before.
That includes JBuilder... really need to improve it a whole lot more to
come par with Visual Studio. And if you think Microsoft has a patch every 2
months or so, JBuilder has a new version every 3 to 6 months. My point is,
no matter what technology you use, you'll constantly encounter bugs in the
system. Even the "glorified" mainframe applications have bugs. Remember,
Y2K? Now, that's a perfect example of how hairy it was to modify 2-Tier
applications. (As most COBOL programs have that very nature.) If it were
an N-Tier architecture... as I did with my clients... all I needed was a
patch from microsoft and modified one module. Beat that with your cut and
paste!!! (And yes, the companies continued to operate even after Y2K.)



WRONG. YOU CAN"T SAY that 2-TIER was to blame for making that
difficult.....YOU don't even know if it was 2-Tier to begin with....these
were a lot of mainframes and databases logic...done long time ago and done
for performance reasons......DON"T even bring that as an example......

OUT OF CONTEXT AND REACHING......

I come to wonder, how do you build "internationalized" versions of your
applications. It must be a gruesome task to change its feature from english
to spanish to french. Oh, I can just imagine the currencies and the dates
(in case you didn't know, some countries use comma's instead of dots in
numbers, and dots instead of slashes)... Thinking of how to do it in a two
tier application gives me the horror of doing everything ALL OVER AGAIN on
the same logical code. That is one piece where your "CUT" and "PASTE"
wouldn't work too well... Still convinced that your favorite "CUT" and
"PASTE" will do the job? Don't ask me how, but for seasoned developers
(it's a trade secret for N-Tier developers and OOP programmers)... this is
an easy task with OOP and N-Tier development. Having a different method for
each language is not even necessary if you design it right. Just remember,
after it is all said and done, currency representation and dates, no matter
what the culture is, are all represented the same way in .NET at the end.

YOU DON'T KNOW ANYTHING ABOUT INTERNATIONAL APPS for the WEB.

Take a look at Microsoft Web site....is every web page in english have a
corresponding foreign language...NOPE....WHY is this?
How about just FRENCH or GERMAN? Still NO.....

I will let you think about this for a while
 
Let's keep adding things while I am still at it.

OOP is only good at making changes that have already been PRE-ANTICIPATED
and designed into the object model at the start. Hence, Design Patterns,
gang of four, blah, blah, crap. Hence, if it's not in the specifications,
your are royally screwed...Oh, but I though OOP can easily make
changes....NOPE, sorry, OOP can only make changes IF you had a CRYSTAL BALL
and could see it happening before your started your object model.....

2-Tier, being so very simple, can easily handle UN-ANTICIPATED changes and
changes that have never even been mention in the design specs. 2-Tier may
have to type just a TINY bit more, but being able to handle UNFORSEEN
changes is what typically happens in the real world. We don't have to
re-design an entire object model because we are not so ridicously abstracted
in some OOP glass house up in some mountain. 2-Tier architecture map
directly to business actual methods so it's easy to figure out and change.
We encapsulate via methods as that's what happens in real life as well.


OOP = good ONLY if you know what's going to happen(SPEC ONLY)

K.I.S.S. / 2-Tier = good if you know what's going to happen AND also good if
your DON'T know what's going to happen (with SPECS and WITHOUT SPECS)


HA HA HA HA HA HA HA HA HA HA HA HA

LET ME KNOW WHEN YOU HAVE GIVEN UP.....OK.......

Oh, you still got to answer the riddle.........OK......Well, maybe I don't
want to....got to have a little mercy....
 
Here YOU GO, MR. OOP.

Microsoft Acknowledges Glitch in XP SP1
http://www.pcworld.com/news/article/0,aid,110031,00.asp

Let's see WHERE IS THAT ENCAPSULATION????????


HA HA HA HA HA HA HA HA

OOhhhhhh, REMEMBER THIS ONE,

Windows 2000 fixes released -
63,000 thousand bugs in Windows 2000
http://zdnet.com.com/2100-1104-1021295.html

"....however, the operating system was ridiculed by one of Microsoft's key
developers for containing 63,000 known defects and bugs. The first service
pack was released less than six months later. The latest service pack
apparently has about 675 bug fixes. "

YES, IF I HAD A PENNY for every OOP BUG....

Oh, are we on SERVICE PACK 4.....but I thought OOP was able to make a TWO
(2) SECOND CHANGE

TICK TOCK, TICK TOCK.......

"One Thousand and ONE, One Thousand and TWO"......... DING DONG.......TOO
LATE....

OH well, I GUESS 63,000 is just TOO MUCH......So much for that object
model........the year is 2003, Service Pack 4 is out.....still not fixed
yet even though it's supposed to be EASY with OOP.....

I wonder what the numbers are for Windows 2003...we just don't know until it
crashes. AND I DON"T HEAR Microsoft touting more NINES than Windows
2000....could we have seen 6 or 7 NINES....They had at least 3 years to work
on it......NOPE.....TO BUSY WITH the OOP SECURITY MODEL THAT's ONLY GOOD FOR
KNOWN ATTACKS......TOO bad the bad guys don't tell Microsoft when and how
they are going to attack next.....YOU KNOW that OOP make things SO easy to
CHANGE....you would think there is this ONE generic business or class or
object for buffer overflows......I guess they haven't found it yet in the OH
SO ever GREAT OOP model....


WELL......................HA HA HA HA HA HA HA HA HA HA HA HA HA..THERE is
that OOP for you.....

STICK THAT IN YOUR E.A.R.
BUDDY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

HOW'S THAT FOR DOCUMENTATION???????????????
 
All this blabbering... what that has to do with "YOU AS A DEVELOPER"
writing supposedly "BUG FREE" software... You've never made mistakes
before. If it wasn't for OOP... 63,000 bugs would have taken more than 3
years. I wonder, how long would it take to cut and paste code... Oh no!!!
FOREVER!!!!
 
nospam said:
comments BELOW and INLINE...


in.

NO, NO, NO, NO......

Forgotten to replace one piece....HOW about the other way around? With OOP,
making the change in ONE place doesn't mean that EVERY PLACE is going to be
right.....Ohhhhhh....did I hear Design Pattern????????

Hey, mr. smart guy (NOT!!!) isn't search and replace prone to forgetting to
replace a piece too. At least in OOP, I can modify just that inner code of
the method. And if you design it right with interfaces, I can implement a
totally new class that will fix the problem. As for you, you have to
maintain an "Inventory" of the pages you needed to modify? How lame is
that... next thing I'll see is you'd probably be looking for spare parts...
And thank the Maker of Design Patterns... It makes my life so much
easier!!!
What if it's a new business logic? Heck, we don't even need that! Where are
those Design Patterns NOW?

Don't even need that? you end up with a spaghetti code coz you needed to
insert that new rule inside your pieced-together, cut and paste crap.
How do you know if the Object Model was correct in this INSTANCE????

Duh!!! You make a class for only that one function... And you use it
wherever it's needed. So, it's that instance. And with an object model, I
can logically see my components unlike a "Flowchart" that's several pages
long.
With Search and Replace, at least I know and have a list of what's being
changed.....With OOP, you HOPE, READ H.O.P.E. that your Object Model was
done right and took into considering this NEW change that is being
added.....
A NEW CHANGE, that YOU DIDN'T anticpate from the very beginning.
A new change that was never designed into the Object Model.

That's why... I can always introduce a new class to implement the new
change. And if it has nothing to do with the other layers, I don't even
have to worry about my GUI or my Data Layer. With cut and paste... oops, I
modified a pattern that was not suppose to be.
Uh, Ohhhh....Did I hear on the News again another Windows Update ...Critical
Update from Microsoft.....

What is it with you and Windows Update..... That's totally Microsoft's
problem. Let me put it this way, do you see JBOSS issue a critical update?
It's also totally OOP!!! The point here is, no matter what architecture you
use, you're still prone for errors if you're not carefull enough. At least,
they spend the time to fix it, rather than being in denial and claiming
their program is bug free, like you!!!
Oh, but since we trust OOP so much, this NEW Update, IS SUPPOSED TO NOT
affect anything IT shouldn't AFFECT...... BUT of course WE DON'T KNOW....

It's less riskier than CUT and PASTE, I tell you that...
WE are SO PROUD of OUR OOP MODEL...IT SHOULD ALWAYS WORK....

"IT SHOULD" not that it really would. And 2-Tier, non-OOP works all the
time? NOT!!!!
HOWEVER, if it DOESN"T WORK, we can use the standard excuse, "BUGS ARE A
FACT OF LIFE, JUST LIKE ANYTHING ELSE"

HOW CONVENIENT????????

It's a fact of life... I dare you to write a program without a bug.
According to statistics for every 15 lines of code you write, you generate
an error in most cases.
TO the other Poster, If I had a penny every time a Programmer said, "Bugs
are a Fact of Life...."

He's smart to know that... I feel sorry for you...
Oh really, "everything in life is NOT PERFECT"....BUT OOP is PERFECT?????

I never said OOP is perfect. In fact, at the end of my email, I even said
you should develop in Device Drivers. OOP has no place for that... (read
all the way to the end.)
IS OOP is PERFECT, why do we have software patches every WEEK?

Because, it's not OOP's fault that a "business" decision was made that
caused the problem. Or a programmer miskeyed a simple comma in a code (that
was responsible for crashing a probe in venus and I'd bet that was a non OOP
code).

You must be kidding or just plain insane!!! search and replace all over
rather than changin it in one method?
And just how long will it take to modify 3 UI's? (seconds/ minutes /hours
please?)

How is 5 seconds for you? That includes opening up my IDE, going to the
class, method and changing the method, assuming it was hard coded... (Of
course, we don't do that in the real world. It's either in a database or a
config file which is read by another Class and supplied to the business
layer.) The GUI does not even have to be modified because it will just
assume the new value. How long will that take you?
Careful how you answer this?

This is exactly what I am looking for......

Hmmm.......



So, is


WRONG, COPY AND PASTE AND MODIFY and let each method of order entry stand
alone by itself.

HELLO!!! Are you brain dead or just brain dead... The maintenance
nightmare of chaning a business rule means changing it in all three
interfaces...
Let's take a look at the time to copy paste and modify and single
method....will I be able to use a hot key...why NO....OK.

Control-C, Control-V 3 TIMES........Opppppsssss repetive stress
syndrome.......

Hah!!! At least I don't have to do that "MENIAL" task fo cut and paste.
But you see, you have to do that more than three times, if the code expands
to more than 1 line in a method. Duh...
How many seconds is that????????? Let's compare that time with the OOP
method?????

Cut and paste is FAR TOO LONG compared to OOP!!!
WRONG. It's all encapsulated in a STANDARD METHOD......EASY to SEARCH and
REPLACE

Sure you can "encapsulate" it in a standard method (by the way,
encapsulation is an OOP feature, it's one of the three pillars of an OOP
language). But realize that you're one step closer to OOP (how ironic).
And it's not like, I would just "SEARCH" and REPLACE it with the new code
lines. I can still do your "SEARCH" and "REPLACE." But if my component
used in 20 other different systems... I don't need to do it 20 times.
Changing it in one place is good enough. How about you? Tick tock, tick
tock... time is precious, you're not done yet cutting and pasting?
You ALSO KNOW WHICH PAGES need to be replaced in the first place....Why is
this possible? K.I.S.S. Because the pages are named properly and can easily
figure out which pages should have been replace just by similarly named
pages...

EASY AS PIE......

Like I said, I don't even need to know which pages need replacing... I just
change it in one method and the other pages takes advantage of it. Which
one is a K.I.S.S. here now? Like you said, Keep It Simple, Stupid!!!


as every



WRONG. YOU CAN"T SAY that 2-TIER was to blame for making that
difficult.....YOU don't even know if it was 2-Tier to begin with....these
were a lot of mainframes and databases logic...done long time ago and done
for performance reasons......DON"T even bring that as an example......

OUT OF CONTEXT AND REACHING......

WHAT!!! YOU'RE REALLY FUNNY. MOST MAINFRAME PROGRAMS ARE 2-TIER DESIGNS.
THE ONLY NEW ONES ARE COMING UP WITH MODULARIZED STYLE OF CODING.
UNFORTUNATELY, COBOL IS NOT AN OOP LANGUAGE, BUT THEY'VE REALIZED THE
IMPORTANCE OF N-TIER DEVELOPMENT THROUGH MODULES. IN FACT, I'VE HEARD OF A
NEW GENERATION OF COBOL, WHICH THEY CALL OBJECT-COBOL. AND EVEN IF THEIR
REASON WAS PERFORMANCE, IT WAS STILL A NIGHTMARE TO CHANGE. I THINK, THAT
WAS YOUR ORIGINAL ARGUMENT WAS FOR PERFORMANCE. BUT NOW THAT MACHINES ARE
MUCH FASTER THAN THEY USED TO BE, CODES RUN MUCH FASTER NOW THAT MAINTENANCE
BECOMES A MORE IMPORTANT FACTOR.
end.

YOU DON'T KNOW ANYTHING ABOUT INTERNATIONAL APPS for the WEB.

AND I SUPPOSE YOU DO??? MR. 2-TIER GUY AND KNOW IT ALL? I EVEN SHOWED SOME
OF THE BUSINESS REQUIREMENTS"
Take a look at Microsoft Web site....is every web page in english have a
corresponding foreign language...NOPE....WHY is this?
How about just FRENCH or GERMAN? Still NO.....

You know, you're experience of the INTERNET is so LIMITED. Have you
checked, Yahoo lately (http://fr.yahoo.com)? Or other "media" websites that
needed another language? Duh!!! how lame can you get? But just to satisfy
you're "Microsoft" bashing stuff... try this url,
http://www.microsoft.com/France/. Please feel free to put "German" for
"France" if you wanna see the "German" site. I GUESS YOU'RE THE ONE WHO
KNOWS NOTHING ABOUT INTERNATIONAL WEB APPS. In case you didn't notice, each
company does it differently. You know, I feel pitty for your lack of
"experience."
 
nospam said:
Oh, another thing.

I use methods, functions, whatever you want to call them....That gives me
the ability to know exactly what pages are affected before making changes...

Step 1a. Use Search on the method name first and remember the number of
matches found.
Step 1b. Use Search on the ENTIRE Method and see if the number of matches is
the same...
Step 2. Examine the pages that are going to be affected by the method
modification or update before doing a replace. Ask yourself, "Is this
right? Is this everything?"

( NOTE: for Step 2. You don't do this with OOP because OOP Elitists are TOO
ARROGANT to think THEIR OBJECT MODEL MIGHT NOT BE RIGHT as they spent
several months anticipating future changes and plus they used Design
Patterns that have never been wrong. However, OOP Elitists can always invoke
the "Software is always going to have bugs" excuse.
NOTE: OOP can't use this EXCUSE in a hospital environment...that's why OOP
isn't used and they are still working with COBOL. COBOL people don't say,
"Software is always going to have bugs" so too bad mr. dead
patient....Imagine if the COBOL programmer said that with TAXES, MR. OOP
Programmer)

Step 3. Do the replace and make sure the numbers match from Step 1.


Step 1. Modify the object that needs the change.
Step 2. Compile!!! (This would be step 4 (really 5) for you...)
Step 3. Deploy!!! (This will be step 5 (really 6) for you...)

I know my objects, if I design them... The same level of comfort you get
from your 2-tier design. As you can see, I scrapped your steps, 1 through 3
in my approach.
THE OOP METHOD
Let's see...how long does steps 1-3 take.....hmmmmmm minute or so......with
the OOP method, you're still figuring out and re-familiarizing yourself with
the object model you forgot 2 weeks ago cause you don't even know which
method OR methods to change in the first place because you totally FORGOT as
you went to other projects. There goes your so called OOP 2-second
maintenance change...it's now at least a 2-3 days change as you FORGOT the
Object Model..OH but WAIT...in order to do this...you might have to make a
SIGNIFICANT change to the Object Model as that was never mentioned in the
specifications...OH YES it WAS.....YOU JUST didn't read it properly or
didn't understand us correctly.......finger pointing......UH
OHHHHHHHHHHHHH...more OOP re-design.........we need another 6 weeks to
re-think this through....

Didn't think I would have pointed that little fact out, huh?????

WELL, YOU LOSE.......MR. OOP.....because we use K.I.S.S. and we can easily
handle these changes that were never specified because we didn't confuse the
crap out ourselves in the first place as we type a few more lines, BIG
DEAL.....

......HA HA HA HA HA

STICK THAT IN YOUR EAR......

LET"S SEE IF ANY MICROSOFT PEOPLE HERE ARE WILLING TO ARGUE...HOW ABOUT
MVP's or GURUS.....LET"S SEE IF THEY ARE WILLING TO STICK THEIR NAME OUT and
LOSE just like YOU did Mr. OOP......

I didn't lose... you did. I only have 3 steps unlike your 6 step
approach!!!
 
nospam said:
Let's keep adding things while I am still at it.

OOP is only good at making changes that have already been PRE-ANTICIPATED
and designed into the object model at the start. Hence, Design Patterns,
gang of four, blah, blah, crap. Hence, if it's not in the specifications,
your are royally screwed...Oh, but I though OOP can easily make
changes....NOPE, sorry, OOP can only make changes IF you had a CRYSTAL BALL
and could see it happening before your started your object model.....

This is so not true!!! That's a lot of CRAP to be said for someone who is
swimming in unknown waters... Be careful, a shark is gaining fast at you...
2-Tier, being so very simple, can easily handle UN-ANTICIPATED changes and
changes that have never even been mention in the design specs. 2-Tier may
have to type just a TINY bit more, but being able to handle UNFORSEEN
changes is what typically happens in the real world. We don't have to
re-design an entire object model because we are not so ridicously abstracted
in some OOP glass house up in some mountain. 2-Tier architecture map
directly to business actual methods so it's easy to figure out and change.
We encapsulate via methods as that's what happens in real life as well.

Please note, that you're one step into OOP development by using
ecapsulation. Unlike 2-Tier design, it leads to maintenance nightmares
specially when rules change. Yes, with two tier design, you can anticipate
changes (it's bad enough if you only need to maintain one application,
really gets worse when many applications use the same logic). Let me give
you an example... a simple logon screen. Say you have three applications
that uses the same style of logging (users and passwords in a database).
Then, all of a sudden, the company said, I want it implemented through an
LDAP server. Yikes... go to three applications and change that code!!! I,
on the other hand will only need to go to one component, modify it and
redeploy. How much easier does it get? Or say, you needed to change the
colors and appearance of your "logon" box. (I purposely included
appearance because, I know you're going to give me that CSS way of modifying
things, which by the way, in it's nature is also object oriented. Notice
the "." in the syntax?) Hmmm, I only need to change the one control I
created (which is OOP technology by the way) and I'm done with it. Beat
that with your 2-tier non-OOP design. You have to go through each page and
manually change the "HTML" content of your applications (applications, as in
plural of application). Now, if you anticipated this change, you'd probably
write the whole block that contains the logon screen in one line so you can
easily cut and paste. (What was that I keep on seeing in your posts about
K.I.S.S.? All of a sudden I have to replace it everywhere...) Also, with
OOP, i'm able to promote the same look and feel across my applications and
not worry about future changes in appearances. And with OOP, I can easily
use the IDE's "property" dialog box to change things in my control without
having to write a single code. My wrists are thanking me for that right
now. And I only had to write it once...
OOP = good ONLY if you know what's going to happen(SPEC ONLY)

When we get new specs, we just add it to our object model and start
implementing... same as you, when you need to add it to your "Flowchart!!!"
 
Then, I would not bother buying your products if I only knew the company you
worked for. Not anticipating bugs means you don't do QA. It's like putting
in an airplane part without testing it coz you believe it has no non
conforming characteristics and later on finding out, it's somewhere in the
middle of the pacific ocean. The whole idea of QA is to have a level of
confidence that the program is going to do it's job knowing that it is prone
to have bugs before being deployed in production. Or have you forgotten
that in Software Engineering 101.
 
Just to add... isn't that what QA is all about. Because the company
anticipates the program will have bugs and they want to catch it before it
goes out to production. I don't know about your company, but some companies
have serveral levels of QA testing. Some of them even do parallel testing
to make sure it works just like the older version and expect the new program
to work where the other failed.
 
Colin Young said:
No study. My own experience.

I think you need to start taking your meds again.
<snip>

Don't feed the trolls.

If I had copious free time, I might expand on where Mr. nospam is
correct in some aspects, but not nearly all. But his mind is not
open, and I believe that reasonable viewers will take his zealotry
with a grain of salt.
 
Please let your customers know that your company has the mind set of,
"Software will always contain BUGS" and our company will never re-examine
their own internal core ways of developing software to product bug free
software.

I am pretty sure your customers will be happy to know that.

Ta Ta.....
 
Are you saying Microsoft doesn't even have a QA department or process in
place?

Just remember Microsoft has more dollars than your company does and most
likely has the best QA process around; IF not, Microsoft has the most funded
QA.

HOWEVER, with all those dollars, programmers, and time, 63,000 bugs still
existed....

Now add that to your QA logic.
 
nhoel said:
Hey, mr. smart guy (NOT!!!) isn't search and replace prone to forgetting to
replace a piece too. At least in OOP, I can modify just that inner code of
the method. And if you design it right with interfaces, I can implement a
totally new class that will fix the problem. As for you, you have to
maintain an "Inventory" of the pages you needed to modify? How lame is
that... next thing I'll see is you'd probably be looking for spare parts...
And thank the Maker of Design Patterns... It makes my life so much
easier!!!

Implement a totally NEW class...You mean Inheritance...OOoooohhhh doesn't
Design Patterns say,
"Don't Use Inheritance"

OK, now you got some code that relies on "LEGACY" code......Funny, that's
what Inheritance means. After some time, now you got MUSEUM full of CRAP
legacy CODE. Now, after a change or 2, you have got different versions with
all SIMILAR names with every single OOP keyword to over ride, seal, shadow,
virtual an who knows what..... WOW!!! That will be just great for any
seasoned developer to start with..... HOW IRONIC.



are > > those Design Patterns NOW?

Don't even need that? you end up with a spaghetti code coz you needed to
insert that new rule inside your pieced-together, cut and paste crap.


Duh!!! You make a class for only that one function... And you use it
wherever it's needed. So, it's that instance. And with an object model, I
can logically see my components unlike a "Flowchart" that's several pages
long.


With your bloated legacy Object Model, you have "inherited-instances-legacy
code all over the place. All with similar names that you have no idea which
one does which. You have to read through every version comments...NO wait,
CODE, just to make sure.



That's why... I can always introduce a new class to implement the new
change. And if it has nothing to do with the other layers, I don't even
have to worry about my GUI or my Data Layer. With cut and paste... oops, I
modified a pattern that was not suppose to be.


WIth cut and paste, the HOUSE is kept clean instead of legacy code.
What is it with you and Windows Update..... That's totally Microsoft's
problem. Let me put it this way, do you see JBOSS issue a critical update?
It's also totally OOP!!! The point here is, no matter what architecture you
use, you're still prone for errors if you're not carefull enough. At least,
they spend the time to fix it, rather than being in denial and claiming
their program is bug free, like you!!!



Stop running from the fact of Windows Update is a clear example of OOP screw
up. DOn't worry, with the next alert, you will be using it AGAIN!



It's less riskier than CUT and PASTE, I tell you that...


PROVE THAT IT"S RISKIER.......DO A STUDY and LET'S SEE.....
MY STUDY SAY 63,000 BUGS are through OOP

"IT SHOULD" not that it really would. And 2-Tier, non-OOP works all the
time? NOT!!!!


WELL, let's look at all the MOM and POP's with simple and old .asp shopping
carts. NEXT, let's compare the number of BUGS they have and the number bugs
that some FULLY OOP solutions has.

Just remember, the OOP people have more programmer and money so don't use
that complexity excuse.

LET"S compare and show the NUMBERS.


It's a fact of life... I dare you to write a program without a bug.
According to statistics for every 15 lines of code you write, you generate
an error in most cases.


YES, but I am able to FIX it...with OOP, they try to fix it and break
something else.


Because, it's not OOP's fault that a "business" decision was made that
caused the problem. Or a programmer miskeyed a simple comma in a code (that
was responsible for crashing a probe in venus and I'd bet that was a non OOP
code).

YES, LET's SEE WHAT kind of Programmer that way

You must be kidding or just plain insane!!! search and replace all over
rather than changin it in one method?



SAME or LESS amount of TIME. HIGHER ACCURACY and I also KNOW what was
changed.
HELLO!!! Are you brain dead or just brain dead... The maintenance
nightmare of chaning a business rule means changing it in all three
interfaces...


Hah!!! At least I don't have to do that "MENIAL" task fo cut and paste.
But you see, you have to do that more than three times, if the code expands
to more than 1 line in a method. Duh...
Cut and paste is FAR TOO LONG compared to OOP!!!



SEARCH and REPLACE, not copy and paste


Sure you can "encapsulate" it in a standard method (by the way,
encapsulation is an OOP feature, it's one of the three pillars of an OOP
language). But realize that you're one step closer to OOP (how ironic).


WRONG, FULLY OOP has STEPPED toooo far beyond it's bounds and usefulness

And it's not like, I would just "SEARCH" and REPLACE it with the new code
lines. I can still do your "SEARCH" and "REPLACE." But if my component
used in 20 other different systems... I don't need to do it 20 times.
Changing it in one place is good enough. How about you? Tick tock, tick
tock... time is precious, you're not done yet cutting and pasting?


DID YOU EVER HEAR OF GLOBAL SEARCH AND REPLACE????

REPEAT, GLOBAL SEARCH AND REPLACE...that look inside a folder and works it's
way down there.

easily figure out which pages should have been replace just by similarly named

Like I said, I don't even need to know which pages need replacing... I just
change it in one method and the other pages takes advantage of it. Which
one is a K.I.S.S. here now? Like you said, Keep It Simple, Stupid!!!


HERE IS ANOTHER RULE.

IF IT WORKS, DON'T MESS WITH IT


THAT's EVEN simplier....


was

WHAT!!! YOU'RE REALLY FUNNY. MOST MAINFRAME PROGRAMS ARE 2-TIER DESIGNS.
THE ONLY NEW ONES ARE COMING UP WITH MODULARIZED STYLE OF CODING.
UNFORTUNATELY, COBOL IS NOT AN OOP LANGUAGE, BUT THEY'VE REALIZED THE
IMPORTANCE OF N-TIER DEVELOPMENT THROUGH MODULES. IN FACT, I'VE HEARD OF A
NEW GENERATION OF COBOL, WHICH THEY CALL OBJECT-COBOL. AND EVEN IF THEIR
REASON WAS PERFORMANCE, IT WAS STILL A NIGHTMARE TO CHANGE. I THINK, THAT
WAS YOUR ORIGINAL ARGUMENT WAS FOR PERFORMANCE.


ARGUMENT was for all good characteristics.....like RELIABILITY.....


AND I SUPPOSE YOU DO??? MR. 2-TIER GUY AND KNOW IT ALL? I EVEN SHOWED SOME
OF THE BUSINESS REQUIREMENTS"


You know, you're experience of the INTERNET is so LIMITED. Have you
checked, Yahoo lately (http://fr.yahoo.com)? Or other "media" websites that
needed another language? Duh!!! how lame can you get? But just to satisfy
you're "Microsoft" bashing stuff... try this url,
http://www.microsoft.com/France/. Please feel free to put "German" for
"France" if you wanna see the "German" site. I GUESS YOU'RE THE ONE WHO
KNOWS NOTHING ABOUT INTERNATIONAL WEB APPS. In case you didn't notice, each
company does it differently. You know, I feel pitty for your lack of
"experience."



Let's take a look at the Microsoft site CLOSELY.....

Seems like the MENUS are NOT EVEN THE SAME. another point is that most of
the pages are simple INFO pages...NO BUSINESS LOGIC.....

http://www.microsoft.com/france/office/achetez/default.asp


Alta Vista Babel Fish translation

Microsoft does not sell in France its products on line and chose an indirect
mode of marketing.
If you wish to acquire our products as of now, contact your usual retailer.
If not you can also do it via partners specialists who will be able to
analyze your needs and to implement the products Microsoft and other
data-processing solutions.


Having multiple languages is a LOT harder than you think, MR. OOP.

It has a lot to do with things OTHER than programming...It's lot about
understanding the MANY MANY differences in the foreign country as well that
are NOT language related.......
 
nospam said:
Implement a totally NEW class...You mean Inheritance...OOoooohhhh doesn't
Design Patterns say,
"Don't Use Inheritance"

I don't know who was it that taught you design patterns... Don't use
inheritance??? Have you heard of at least of the simple "Factory" pattern?
There are plenty more "Design" patterns that user inheritance. I suggest
that you don't say anything that will really confirm you're "STUPID."
OK, now you got some code that relies on "LEGACY" code......Funny, that's
what Inheritance means. After some time, now you got MUSEUM full of CRAP
legacy CODE. Now, after a change or 2, you have got different versions with
all SIMILAR names with every single OOP keyword to over ride, seal, shadow,
virtual an who knows what..... WOW!!! That will be just great for any
seasoned developer to start with..... HOW IRONIC.

I'm still wondering who thaught you PROGRAMMING. LEGACY and INHERITANCE are
two different things. Carefull, people might "THINK" (if not confirm) that
you're "STUPID." And I don't know how you define "LEGACY" but, OOP never
comes to mind when you say "LEGACY" programs. What mostly comes to mind in
terms of legacy are "CUSTOM" programs (and some are of age). The stuff both
you and I make no matter what kind architecture we choose.

And about those similar names... the only time you can have two functions
of similar names in OOP is if you're doing function overloading. And to an
OOP programmer, that's a good thing. But for you, well... I don't want to
say anything that will incriminate you to look "STUPID."
model,


With your bloated legacy Object Model, you have "inherited-instances-legacy
code all over the place. All with similar names that you have no idea which
one does which. You have to read through every version comments...NO wait,
CODE, just to make sure.

At least a new developer can start understanding the program with just the
comments. Unlike your new developers who would have to go through TONS of
code. And you're wrong... That's the beauty of OBJECTS. Unless, we had to
change that piece, we don't need to know the implementation piece of it. We
only need to know what it does and what each parameter needs. Now, when you
program in any language, do you have to "know" how the object's methods are
implemented (even in .NET)? I think not... we only need to know what it
does, it's functions (and overloads) and the parameters... Now how is it
again in procedural type programs? Oh yeah, you've got to trace through or
simulate it. Then, if you're lucky, the developer made some documentation
in a piece of restaurant napkin somewhere. By the way, if you don't know
how to read an Object Model, don't bother. I would now understand why you
despise something you don't understand.
oops,


WIth cut and paste, the HOUSE is kept clean instead of legacy code.

Except for a few "OOPS!!!" and "OH, NO... LET ME GET BACK TO IT." here and
there that you forgot to change!!! Hah hah hah, how IRONIC... I have to
use the word you despise the most to describe your problem.
Stop running from the fact of Windows Update is a clear example of OOP screw
up. DOn't worry, with the next alert, you will be using it AGAIN!

It's not OOP screw up... It's a program issue... and a human error made
despite rigorous testing and architecture. Can you at least show me a URL
you've worked on, and I promise you, I'd find at least one bug in your
system. Either by sending your site a virus or a security hack... I'll
show you, nothing's safe to a resourceful hacker. I might not even need to
that. I'm sure, just by going to your website, I'll find a thing or two!!!
But then again, you might blame it on me... coz you didn't anticipate the
user would not allow cookies or use his mobile device to get in!!!
PROVE THAT IT"S RISKIER.......DO A STUDY and LET'S SEE.....
MY STUDY SAY 63,000 BUGS are through OOP

What is it with you and 63000 bugs from microsoft. Microsoft and other big
companies like IBM are beyond your comprehension. Let's put your
application to the test!!! If we can't find a bug there, then, you might
convert some of us!!!
WELL, let's look at all the MOM and POP's with simple and old .asp shopping
carts. NEXT, let's compare the number of BUGS they have and the number bugs
that some FULLY OOP solutions has.

Like I said, let's put your application to the test. Let's see how many
bugs we will find... I'm sure we'll find quite a bit... Then, the next
test is, let's see how long you'd take to correct the bugs.
Just remember, the OOP people have more programmer and money so don't use
that complexity excuse.

Money and programmer resources are still limited based on the size of the
project. What the hell are you smoking, BOY!!!
LET"S compare and show the NUMBERS.

Yeah, put your product on the line!!! Let's see how you stand up against
your claims... If you can't, I suggest you don't reply to this anymore...
YES, but I am able to FIX it...with OOP, they try to fix it and break
something else.

Hmmm, i've fixed a lot of bugs and didn't break another... Why do you
compare bigger companies with your itsy bitsy project... Your project is
"NOTHING" compared to theirs. Let's compare apples to apples... little
projects like yours and mine.
YES, LET's SEE WHAT kind of Programmer that way

You're point being?
OOP




SAME or LESS amount of TIME. HIGHER ACCURACY and I also KNOW what was
changed.

WRONG... unless, you've implemented everything... what if you were going
to change someone else's code... YIKES... Oh, I forgot to check that out of
the source control, i didn't get a chance to review it... Excuses, excuses
when you miss something... I'd bet.

SEARCH and REPLACE, not copy and paste

And I QUOTE:

Duh, isn't that copy and paste, you @#!%^
WRONG, FULLY OOP has STEPPED toooo far beyond it's bounds and usefulness

WRONG... OOP is a programmer's nirvana!!!
DID YOU EVER HEAR OF GLOBAL SEARCH AND REPLACE????

Ha... and change some things you didn't mean to replace? Good luck!!!
REPEAT, GLOBAL SEARCH AND REPLACE...that look inside a folder and works it's
way down there.

Until you've realized that you were not suppose to change that!!! Bye bye
code!!!
place....Why


HERE IS ANOTHER RULE.

IF IT WORKS, DON'T MESS WITH IT


THAT's EVEN simplier....

Yeah, until users say it's too slow and your boss says, I don't like the way
it looks!!! Or is your system that outdated that you probably still charge
at old tax rates!!!
OF


ARGUMENT was for all good characteristics.....like RELIABILITY.....

Hmmmm... OOP is just as good, even better than 2-Tier in "RELIABILITY."
have



Let's take a look at the Microsoft site CLOSELY.....

STOP the microsoft bashing... Let's see how your application stacks up
against smaller OOP N-Tier designs. Ebay is not even in your league.
Seems like the MENUS are NOT EVEN THE SAME. another point is that most of
the pages are simple INFO pages...NO BUSINESS LOGIC.....

http://www.microsoft.com/france/office/achetez/default.asp


Alta Vista Babel Fish translation

Duh!!! different countries have different needs. But I assure you they're
using OOP derived technology that made it possible for them to maintain such
sites.
Microsoft does not sell in France its products on line and chose an indirect
mode of marketing.
If you wish to acquire our products as of now, contact your usual retailer.
If not you can also do it via partners specialists who will be able to
analyze your needs and to implement the products Microsoft and other
data-processing solutions.

Same here in the US... do you download Office? It just doesn't make
sense...
Having multiple languages is a LOT harder than you think, MR. OOP.

It has a lot to do with things OTHER than programming...It's lot about
understanding the MANY MANY differences in the foreign country as well that
are NOT language related.......

Of course... some of those would be the business decisions (like what age
should you sell alcohol in fance, compared to the US). But have you
implemented an international "site?" Other than the ones i've said, can you
name a few more? All talk and no example... (Oh, don't give the "text"
implementation in different languages and the character fonts... coz that's
a very well fact already.)
 
comments INLINE BELOW.......................



nhoel said:
I don't know who was it that taught you design patterns... Don't use
inheritance??? Have you heard of at least of the simple "Factory" pattern?
There are plenty more "Design" patterns that user inheritance. I suggest
that you don't say anything that will really confirm you're "STUPID."


From the GANG of FOUR book, that's where it says, ..not to use inheritance
if you don't have to."
I'm still wondering who thaught you PROGRAMMING. LEGACY and INHERITANCE are
two different things. Carefull, people might "THINK" (if not confirm) that
you're "STUPID." And I don't know how you define "LEGACY" but, OOP never
comes to mind when you say "LEGACY" programs. What mostly comes to mind in
terms of legacy are "CUSTOM" programs (and some are of age). The stuff both
you and I make no matter what kind architecture we choose.

And about those similar names... the only time you can have two functions
of similar names in OOP is if you're doing function overloading. And to an
OOP programmer, that's a good thing. But for you, well... I don't want to
say anything that will incriminate you to look "STUPID."


Inheritance MEANS LEGACY, PERIOD

You said it yourself, something along the lines of ...if I want to modify
this method, all I have to do is "INHERIT IT" and then ANY other thing that
calls the original method doesn't break......

So you made a modification, BUT left some of the OLD stuff around to
HOPEFULLY keep it working.....

At least a new developer can start understanding the program with just the
comments. Unlike your new developers who would have to go through TONS of
code. And you're wrong... That's the beauty of OBJECTS. Unless, we had to
change that piece, we don't need to know the implementation piece of it. We
only need to know what it does and what each parameter needs.

WRONG. WRONG. WRONG. WRONG. You always have to goto the CODE to be sure.

Comments, method names, Class names all have a good degree of vagueness.
THEY CAN ONLY DESCRIBE SO MUCH.

It's like, "Well this method name means this, but I am NOT totally 100%
SURE. But OOP says to trust the naming convention and comments of some
other developer....Ha Ha Ha Ha...."

Even if the developer is your best developer doesn't mean the new developer
is going to know what the other developer meant....they don't see through
the same glasses all the time....



Now, when you
program in any language, do you have to "know" how the object's methods are
implemented (even in .NET)? I think not... we only need to know what it
does, it's functions (and overloads) and the parameters... Now how is it
again in procedural type programs? Oh yeah, you've got to trace through or
simulate it. Then, if you're lucky, the developer made some documentation
in a piece of restaurant napkin somewhere. By the way, if you don't know
how to read an Object Model, don't bother. I would now understand why you
despise something you don't understand.


Except for a few "OOPS!!!" and "OH, NO... LET ME GET BACK TO IT." here and
there that you forgot to change!!! Hah hah hah, how IRONIC... I have to
use the word you despise the most to describe your problem.

Even if I forgot something, I can readily see it and fix it right away as
it's SIMPLE.

Easy to remember what was done as it's SIMPLE...
READ, S.I.M.P.L.E.....
ONE MORE TIME, SIMPLE

With OOP, you don't even know about it, you don't know what you did a few
days ago, and then you have to re-familiarize yourself with the OOP
model...AGAIN.



So Microsoft is EXEMPT from all their mistakes?????? HA HA HA HA HA


Let me put it this way, do you see JBOSS issue a critical

JBOSS....weak and poor example....not as many people use it...and it's not
hated as much as MS and thus not even attacked...Heck the JBOSS people could
be the ones doing some of the attacks anyway

But MS is an ENTERPRISE application...READ...BIG and COMPLEX...READ...OOP is
SUPPOSED TO HANDLE THIS WITH EASE over other methods....

Still is JBOSS, BUG FREE?????? YES or NO?

It's not OOP screw up... It's a program issue... and a human error made
despite rigorous testing and architecture. Can you at least show me a URL
you've worked on, and I promise you, I'd find at least one bug in your
system. Either by sending your site a virus or a security hack... I'll
show you, nothing's safe to a resourceful hacker. I might not even need to
that. I'm sure, just by going to your website, I'll find a thing or two!!!
But then again, you might blame it on me... coz you didn't anticipate the
user would not allow cookies or use his mobile device to get in!!!

[keep this in mind]
What is it with you and 63000 bugs from microsoft. Microsoft and other big
companies like IBM are beyond your comprehension. Let's put your
application to the test!!! If we can't find a bug there, then, you might
convert some of us!!!


YES.....that's a GOOD IDEA......PUT MY APPLICATION TO THE TEST......




Like I said, let's put your application to the test. Let's see how many
bugs we will find... I'm sure we'll find quite a bit... Then, the next
test is, let's see how long you'd take to correct the bugs.


YEA!!!! EVEN BETTER....LET"S see HOW LONG IT TAKES ME...

THAT WOULD BE EVEN A BETTER TEST....

Yeah, put your product on the line!!! Let's see how you stand up against
your claims... If you can't, I suggest you don't reply to this anymore...


YEAH!!! Let's put my app to the test..........

I know I won't be that hard with 65,000 errors for some OOP apps...
Hmmm, i've fixed a lot of bugs and didn't break another... Why do you
compare bigger companies with your itsy bitsy project... Your project is
"NOTHING" compared to theirs. Let's compare apples to apples... little
projects like yours and mine.


OH, wait just a second...they have thousands and thousands of the BEST
programmers. They have LOTS of money, resources, QA,,,,,,you name it, they
got it.....


WRONG... unless, you've implemented everything... what if you were going
to change someone else's code... YIKES... Oh, I forgot to check that out of
the source control, i didn't get a chance to review it... Excuses, excuses
when you miss something... I'd bet.


2-Tier can have source control just like N-Tier.

And I QUOTE:


Duh, isn't that copy and paste, you @#!%^


WEAK and DEAD argument.......

Search and replace or copy and paste 3 times....Just how MUCH time is that
REALLY?

a minute or 2?

WRONG... OOP is a programmer's nirvana!!!


More like an ADDICTION to drugs....short term gain....long term...65,000
bugs



Duh!!! different countries have different needs. But I assure you they're
using OOP derived technology that made it possible for them to maintain such
sites.


Really, "different countries have DIFFERENT NEEDS".... What a concept!!!!

How about the difference in a PDA and a notebook computer?
Of course... some of those would be the business decisions (like what age
should you sell alcohol in fance, compared to the US). But have you
implemented an international "site?" Other than the ones i've said, can you
name a few more? All talk and no example... (Oh, don't give the "text"
implementation in different languages and the character fonts... coz that's
a very well fact already.)


Hmmmmmm, have I implemented an international site......let me tell you
something.....have you?

I know it's a LOT more than just switching the languages.....
 
nospam said:
....

NOPE, Oracle people ASK for J2EE First, not .NET
PostgreSQL and MySQL ask for PERL first, not .NET

How is that relevant. Tying your business logic to a specific DB is
renarkably stupid no matter what DB people are asking for, since it
makes changing DB hard.
So, your analysis is for the few and rare cases.......

It is for all of the cases I have worked with, and with more than
15 years worth of application experience with huge companies, I have
seen quite a few projects.

....
IMAGINE???? SUN, IBM and MICROSOFT have been imagining for 3 or 5 years
with billions and billions of dollars and thousands upon thousands of
engineers and programmers. Contest after contest......NOTHING.....

People get in a CAR to DRIVE, NOT SURF the .NET.

You have never written an enterprise app of any kind of size. That is
incredibly obvious. You also have absolutely no imagination. The fact
that he was using integration with mobile apps as an example doesn't
mean that those are the only apps you need to integrate with.

When developing real enterprise apps you will *always* find your self
in a situation where you need to provide access to your app from a
number of other applications. These apps usually will integrate with
your app through CORBA or XML. Tying your display logic to your DB or
even business logic is then just plain dumb, since adding new
integration interfaces becomes hard or impossible.

Oh, and before you start another silly commment like: "That never
happens in the real world", I recommend you try a couple of years in
the real world developing real enterprise apps.

....
TABLETS will easily take over PDA's as they can get a standard web
page...PDA will always have a small screen and will always be hard to
use...

Irrelevant gibberish. There are a number of other things that will
want to interface with your enterprise app. You may be asked to add
a blogging interface to it (if it is for web only), you will be
asked to provide information from your application to Tivoli (if you
do not know what Tivoli is you have never developed even a minor
enterprise app) etc.

Again, he was using mobile computing as one example on how you may
have to add additional interfaces to your business logic.

....

What the hell are you babbeling about. You need to get off the drugs
man. OMG had nothing to do with the design of 3-tiered architectures.
The entire computer industry had a lot of input into that design.
NON-ANSWER......Just because you have 30 years of experience
doesn't give you the gift of innovation or creativity.

No, but 30 years of experience from a whole industry made all of the
newbies look for new solutions since the old solutions didn't work
or scale. I do not have 30 years of experience, but 2-tiered
solutions have been in the industry for more than 30 years.
Most innovation comes from BEGINNERS, NEWBIES, who have ZIPPO
EXPERIENCE...

There is a lot of truth in that. People who start out, and who know
the errors that have been made earlier, have made significant
progress in creating better solutions. One of those is multi-tiered
architectures. 2-tiered architectures is the *ancient* way of doing
things, and *anyone* with a minimum amount of experience in the real
world knows they do not work or scale for todays problems. That is
why the new generations of developers created the multi-tiered
architecture.

You are advocating we should go with something far smarter newbies
than you have realized doesn't work, they have realized this
because they have been looking at what the old farts are struggeling
with.

....
WHAT A STUPID ANSWER!!!!!

If learning from other peoples mistakes and come up with new and
better solutions is stupid, I am really glad that the majority of
software developers in the market today are not as "smart" as you
are. Moron.

....
J2EE are slow to develop? in comparison to what, machine language or
assembly?

Not only does it seem that you are, as I say above, a moron, it also
seems that you do not have the ability to read english. Where do I
say above that J2EE apps are slow to develop? Idiot.
 
nospam said:
comments INLINE BELOW.......................






From the GANG of FOUR book, that's where it says, ..not to use inheritance
if you don't have to."

And I quote... "if you don't have to." It's not totally rejected in design
patterns. And that suggestion is good. Why do inheritance in areas where
it is not needed. DUH!!! I guess you need to read up more and increase
youre level of comprehension.
Inheritance MEANS LEGACY, PERIOD

You said it yourself, something along the lines of ...if I want to modify
this method, all I have to do is "INHERIT IT" and then ANY other thing that
calls the original method doesn't break......

So you made a modification, BUT left some of the OLD stuff around to
HOPEFULLY keep it working.....

Hmmm... get a book on computer terms... see if they say it's the same. I
think a lot of programmers don't agree to what you're saying. Not because a
system is "OLD" means it's Legacy. It becomes "LEGACY" if it needs to
interface with another system.
had

WRONG. WRONG. WRONG. WRONG. You always have to goto the CODE to be sure.

Duh... did you see the open source code for the "OBJECTS" you use in ASP.
Did you have to know what the code underneath is for the Server, Request,
Response, etc. objects? Hmmm, I wonder, what's your turn around in learning
a language... (FOREVER, since I'm sure, they're not willing to give you the
code behind the objects). It's the same thing in OOP programming... you
just know there are objects out there, get their documentation and use them.
I'd say, you've never used 3rd Party components have you!!!
Comments, method names, Class names all have a good degree of vagueness.
THEY CAN ONLY DESCRIBE SO MUCH.

And Code has it own level of complication that you might as well rewrite
it...
It's like, "Well this method name means this, but I am NOT totally 100%
SURE. But OOP says to trust the naming convention and comments of some
other developer....Ha Ha Ha Ha...."

I guess, this shows what kind of developer you are. You write code that you
can't properly document. With CODE... you'll have to go through all the
other methods involved in the process. With OOP and object models, I know
what it is and all the methods. Please refer to the help files supplied by
many programming languages. Don't they explain it well enough for you?
Then again, I don't expect you to understand it, since you don't see the
code implementation in them.
Even if the developer is your best developer doesn't mean the new developer
is going to know what the other developer meant....they don't see through
the same glasses all the time....

Yes... that's why you define standards!!! That way, it's an equal level of
a playing field. Hmmm, then again, you must not have any experience working
with other developers. Have you ever gone through a full software
lifecycle. In most cases, teams from different department don't even talk
code. They only talk about interfaces and let each other work on their own
code.
Now, when you

Even if I forgot something, I can readily see it and fix it right away as
it's SIMPLE.

That's the problem... the system's in production and you have to apply a
patch? Where's that attitude of yours that "BUGS" are unacceptable?
Easy to remember what was done as it's SIMPLE...
READ, S.I.M.P.L.E.....
ONE MORE TIME, SIMPLE

Still, you've already introduced the bug!!! And it was all traced to CUT
and PASTE, or SEARCH and REPLACE which to my experience is almost 85% of
most programming errors.
With OOP, you don't even know about it, you don't know what you did a few
days ago, and then you have to re-familiarize yourself with the OOP
model...AGAIN.

Unless you're not the original developer of it. At least, with OOP, I only
need to search for that one object. How would you find it in 2-Tier if
you're not the original developer. (Hey, remember, we can also use SEARCH
in OOP. We only need to modify it once though.) With 2-Tier, you have to
look everywhere where the code has been implemented. 1 change vs a massive
"Search" and "Replace." Does this look like it's even worth comparing to
you?
So Microsoft is EXEMPT from all their mistakes?????? HA HA HA HA HA

No... But you're not either. And have you ever made a "perfect" program...
Let me put it this way, do you see JBOSS issue a critical

Yes, they have... Duh... keep up with the times!!! Haven't you seen them
go several version on major version 3?
JBOSS....weak and poor example....not as many people use it...and it's not
hated as much as MS and thus not even attacked...Heck the JBOSS people could
be the ones doing some of the attacks anyway

Hmmm... there goes your 63,000 bugs. I'd bet, with the other programmers
out there hating you... your program is lucky to even be able to execute
one of it's own threads. So, why don't you be proud of your work and put
out the URL of it. Unless, you don't have one and are just claiming to be a
"WEB" developer.
But MS is an ENTERPRISE application...READ...BIG and COMPLEX...READ...OOP is
SUPPOSED TO HANDLE THIS WITH EASE over other methods....

Still is JBOSS, BUG FREE?????? YES or NO?

No... it's not bug free, that, I don't assume it to be. But, there are
always work arounds that you can do when you encounter a problem. Should
that stop me from developing and deploying my apps? Definitely, NO!!!
It's not OOP screw up... It's a program issue... and a human error made
despite rigorous testing and architecture. Can you at least show me a URL
you've worked on, and I promise you, I'd find at least one bug in your
system. Either by sending your site a virus or a security hack... I'll
show you, nothing's safe to a resourceful hacker. I might not even need to
that. I'm sure, just by going to your website, I'll find a thing or two!!!
But then again, you might blame it on me... coz you didn't anticipate the
user would not allow cookies or use his mobile device to get in!!!

[keep this in mind]

It's my idea... You don't have to remind me...
YES.....that's a GOOD IDEA......PUT MY APPLICATION TO THE TEST......

SO, WHERE'S THE URL... OR ARE YOU CHICKENED ENOUGH NOT TOO?
YEA!!!! EVEN BETTER....LET"S see HOW LONG IT TAKES ME...

THAT WOULD BE EVEN A BETTER TEST....

SO, WHERE'S THE URL!!! I ASSURE YOU, THE FIRST THING YOU'LL WORK ON IS
SCALABILITY!!!
anymore...


YEAH!!! Let's put my app to the test..........

WHERE'S THE APP?
I know I won't be that hard with 65,000 errors for some OOP apps...

AGAIN, WHERE'S YOUR APP?
OH, wait just a second...they have thousands and thousands of the BEST
programmers. They have LOTS of money, resources, QA,,,,,,you name it, they
got it.....

Yet the resources are not enough, or you can't get that through your thick
skull of yours?
out


2-Tier can have source control just like N-Tier.

Yeah, but if you looked harder at my comment, "YOU FORGOT TO CHECK OUT THAT
FILE" and it caused you an error in the build!!!
WEAK and DEAD argument.......

Search and replace or copy and paste 3 times....Just how MUCH time is that
REALLY?

a minute or 2?

TOO LONG FOR A PROCESS THAT CAN BE MODIFIED IN ONE PLACE!!!
More like an ADDICTION to drugs....short term gain....long term...65,000
bugs

AND AN APP YOU WOULDN'T PUT YOUR MONEY AT... At least, to the "real"
developers here, bugs happen and we take the time to fix it. But our
methodologies allow us to fix it with hampering production too much!!!
Really, "different countries have DIFFERENT NEEDS".... What a concept!!!!

Obviously, you haven't developed an internationalized app. Take a
restaurant business like McDonalds. The restaurants outside the US operate
in the same manner as that in the US. They may have different menus,
pricing and currencies... but their business models are still the same
anywhere in the world. They all have the same concept of polling cash
registers (although, the cash registers might be different... and this is
where interfaces can really be helpful just about now), inventory control,
employee clocking, food prep (just to show you some)... and others. Now,
do you need to create a different logic for those? Obviously not, the
settings might be different but still the same rules. Take inventory
control for example... you sold a cheese burger (polled from your POS), you
deplete one patty from the inventory, a bun and a slice of cheese. Do you
deplete two patties in Japan or 0 in India? Duh!!!
How about the difference in a PDA and a notebook computer?

What about it? Still the same rules apply nomatter what interface you use.
Different GUI's, same business model. But yet, your thick skull doesn't let
matters get through your brain.
Hmmmmmm, have I implemented an international site......let me tell you
something.....have you?

To answer your question fairly, YES, I have... but obviously, you have
not!!! You can't even say anything about it other than challenge me.
I know it's a LOT more than just switching the languages.....

And that's the only thing you know!!! How unfortunate of you...
 
<<<< Do you deplete two patties in Japan or 0 in India? Duh!!! >>>>

That may be correct for India. I believe they don't eat the cow over there.
:>)

Bob Lehmann
 
Yeah, I was just trying to see, if Mr. NoSpam will actually see that in his
"Different" requirements so called business rule... :-)
 
Back
Top