Discussion:
PowerBuilder / PowerDesigner confusion for creating web apps
(too old to reply)
asklucas
2009-01-04 18:26:40 UTC
Permalink
Dear all,

I'd like to develop a web application using a 4GL RAD CASE tool
and found PowerBuilder and PowerDesigner.

However, there are so many different products on Sybase's website;
I read through most of the white papers and still don't know, which
tools are the right for me and how many of them I have to combine.

I hope, some of you can bring forward a better perspective to me!


My requirements:


1. I want to model our business processes with a standards based
notation synchronized with a flow-chart-like visualization
(PowerDesigner?)


2. I want to develop an 3-tier web application out of this model
(PowerBuilder?)

o Changes in the development environment and the model designer
should by synchronized.

o All coding should be done using a 4GL language. I don't want
to learn HTML, JavaScript, CSS, XSLT, XML, Ajax, PHP, Phyton,
XHTML, WSDL etc.

o The abstraction of the 4GL language should be so high, that
implementing future web standards only require minimal code
changes, if any.
Say, before AJAX I had a simple web application, I want to be
able to recompile it using AJAX features without rewriting the
presentation layer, once AJAX-support is added to the IDE.

o Source control / versioning and code documentation should be
fully integrated into the IDE.

o With just a few clicks I want to deploy the whole application
to a test environment.

o After testing, again with just a few clicks I want to deploy to
the productive environment.

o Very rich client experience like AJAX is desireable, but
platform /
browser independence is more important. Important is, that I
can use
cursor navigation and function keys within the web interface.


3. I want to connect to the existing ERP System's SQL Database and
Web
Services, but ultimately replace the whole system using this in-
house
developed system.


4. Platform independence:

o With minimal, if any, code changes I want to deploy to
different
platforms for the DBMS, the application server, the web server,
the browser client, like free products (Apache, MySQL, Firefox
etc.).

o Currently we're using MS SQL Server, Java SE as application
server,
IIS ASP.NET as web server and only IE works as client (because
of
stupid ActiveX components).
I want to continue using MS SQL and maybe IIS, but I want to
have all
options open to move to free products and different platforms
(e.g. Linux).
For sure I want to replace IE with Firefox.

o Performance is not so much an issue, since I will only have 10
to 20
users working simultaneously. The database of the current
system is
way below 10 GiB.


5. Now the various Sybase products confuse me:

o PowerBuilder together with PowerDesigner seem to fullfill all
requirements.

o Appeon for PowerBuilder "deploys existing PowerBuilder client/
server
applications to the Web". Doesn't PowerBuilder natively offer
the
possibility to create web applications?

o EAServer: Do I need that, doesn't PowerBuilder support creating
web
applications without EAServer? Why then is there a Sybase paper
"Moving PowerBuilder to EAServer"? Will PowerBuilder be
depreciated?

o "WorkSpace combines the power of enterprise modeling with
comprehensive tooling capabilities." Doesn't PowerBuilder and
PowerDesigner already integrate into a single IDE? What is
WorkSpace
then there for?


Thanks for reading through all of that. Hopefully you can give me some
hints!

Lucas.
Paul Horan[Sybase]
2009-01-04 22:13:28 UTC
Permalink
Some thoughts:

Definitely PD for the Business Process Modeling. There are three basic
configurations of PD - and you'll need PowerDesigner Studio to get the
Business Process Modeling component.

Yes, PD can forward and reverse-engineer to PowerBuilder, but I can't
recommend using that approach for UI development. You can take specific
steps in your BPM, generate components into a fully UML-compliant Object
Oriented Model, and then generate those as PowerBuilder non-visual objects.
But you'll still need to write some PowerBuilder code in the PowerBuilder
IDE to flesh out the full implementation.
Post by asklucas
o Changes in the development environment and the model designer
should by synchronized.
Fully supported, with the caveats mentioned above. Just because you *can*
do this, doesn't mean you *should*.
Post by asklucas
o All coding should be done using a 4GL language. I don't want
to learn HTML, JavaScript, CSS, XSLT, XML, Ajax, PHP, Phyton,
XHTML, WSDL etc.
While I disagree with this requirement from a very fundamental perspective,
I can say that PowerBuilder does a fairly good job abstracting out much of
these technologies. Does it help to be conversant in them and know what
role they play in a well-constructed application? Sure...
Post by asklucas
o The abstraction of the 4GL language should be so high, that
implementing future web standards only require minimal code
changes, if any.
Say, before AJAX I had a simple web application, I want to be
able to recompile it using AJAX features without rewriting the
presentation layer, once AJAX-support is added to the IDE.
This is a tough one to nail down, as we don't have a "crystal ball" to see
what's coming in the future... For example, the new WPF platform from
Microsoft is a game-changer. The object model and event processing
infrastructure is almost completely different from Win32 and WinForms...
We're discussing internally now to determine what the best, if any, possible
migration strategy should be for PB users.
Post by asklucas
o Source control / versioning and code documentation should be
fully integrated into the IDE.
o With just a few clicks I want to deploy the whole application
to a test environment.
o After testing, again with just a few clicks I want to deploy to
the productive environment.
Fully supported in PB.
Post by asklucas
o Very rich client experience like AJAX is desireable, but platform /
browser independence is more important.
Yeah. You'll find that to be the "Holy Grail"... Everybody's looking for
it, but it's an elusive goal... The native WebForms deployment in PB is
limited to Internet Explorer and IIS (for now). Appeon also uses a single
ActiveX plugin, so IE is recommended.
Post by asklucas
o Performance is not so much an issue, since I will only have 10 to 20
users working simultaneously. The database of the current system is
way below 10 GiB.
This begs the question - why does this need to be a browser-based
application? This is the "sweet-spot" for a rich-client 2-tier
application...
Post by asklucas
o Appeon for PowerBuilder "deploys existing PowerBuilder client/server
applications to the Web". Doesn't PowerBuilder natively offer the
possibility to create web applications?
Yes. On the surface, PB's native support for WebForms and Appeon would seem
to be competing technologies, but there are subtle differences.
WebForms is limited to IIS on the server-side, and IE (for now) on the
browser side, and is targeted to .Net shops. Appeon, on the other hand,
translates the PB to Javascript and JSPs, and deploys the resulting web app
to EAServer as a J2EE application server. Appeon is a slightly more mature
technology, but there are additional license fees. Webforms deployment is
included with PB Enterprise.
Post by asklucas
o EAServer: Do I need that, doesn't PowerBuilder support creating web
applications without EAServer? Why then is there a Sybase paper
"Moving PowerBuilder to EAServer"? Will PowerBuilder be depreciated?
EAServer is not required for Webforms application deployment, because the
app server is IIS. EAServer is included in the license of Appeon, and it
hosts the generated web application as JSPs.
EAServer has always been able to run PowerBuilder non-visual components.
With EAS6.x, these are exposed as EJBs, and can be invoked from any webpage
on any platform. Based on your requirements, I would consider this approach
to be outside your scope.
Post by asklucas
o "WorkSpace combines the power of enterprise modeling with
comprehensive tooling capabilities." Doesn't PowerBuilder and
PowerDesigner already integrate into a single IDE? What is WorkSpace
then there for?
Workspace is collection of tools that run as Eclipse plugins. Think of
Eclipse as the tool-belt, and each Workspace plugin is a tool hanging from
that belt. Some of those tools are the PowerDesigner modeling components -
with the exact same functionality that is in native PD. There are also
Sybase server tooling components - managing ASE and IQ and SQLAnywhere
databases, for example. There's a Mobile development component, and a
Business Process Orchestration component. If your development shop has
already standardized on Eclipse as a Java development IDE, Workspace is a
great addition. The value to existing PB/PD shops is marginal.

HTH,
--
Paul Horan[Sybase]
paulhoran.pbdjmagazine.com

"asklucas" <***@gmx.net> wrote in message news:61d56ecc-6095-4e91-af49-***@v5g2000prm.googlegroups.com...
<snip>
asklucas
2009-01-15 22:46:02 UTC
Permalink
Dear Paul,

thank you very much for your extensive answers! You shone a bit of
light into the Sybase universe.


Still there are some confusing things:



1. Web application development

I believe in 3-tier architecture and Model-View-Controller principles.
Additionally I want to be client platform and browser independent.
Though I only have few users, there are different types of clients in
use. Additionally, I want to enable customers to access our system and
view or change their data / orders, another reason for platform
independence. A web app is more than a converted GUI app, it should
have a web enabled GUI which leverages the power of the web
technology, e.g. where I can click on a dataset and open it in a new
browser tab.
I think, these are the reason why everybody wants to web-enable their
applications.

Both DataWindow .NET and Appeon seem to be weird solutions; rather
than supporting the arguments I stated above, they mainly promote in
their papers to move an existing application preserving the GUI 1:1
from PowerBuilder to the Web. Appeon's approach of running the
PowerBuilder app inside a kind of ActiveX-Wrapper in IE seems like
printing out the IE-Window on paper, cutting out the inside and
sticking it on the screen's frame. That's way faster and cheaper. ;)


The XML WebDatawindow of PB 10 seems to be platform and browser
independent, is this now depreciated in PB 11?
[http://www.sybase.com/content/1036155/L02708_PB_XML_Web_DW_WP.pdf]


Bruce Armstrong writes in the PB Journal (2008-11-12) "I Still Haven’t
Found What I’m Looking For... ...Particularly in a means of moving
PowerBuilder applications to the web", that he proposes to use Micro
$oft Silverlight as PB Client platform, since it's platform
independent.
He writes:
[...] We need a better web solution today though. If you look at the
message traffic in Sybase’s newsgroups, you’ll see that web apps are
where the interest is. We opened up sections of the newsgroups
specific to the new .Net target types in June of 2007. Since then
(roughly a year and a quarter) there have been 300+ posts for .Net
assemblies, 550+ posts for .Net web services, 700+ posts for .Net
WinForms and 3000+ posts for .Net WebForms. People are interested in
deploying their PowerBuilder applications as web apps, and the current
thin-client solution is not (in my opinion) adequate for many people.
[...]
[http://pbdj.sys-con.com/node/693121]

I don't agree with him, because once Silverlight is widely accepted,
Micro$oft will cease development for non-M$-platforms. But I agree
about the importance of moving apps to the web.


Oscar Uriel Tobar Rios wrote (2008-10-25) an article "How to Use
PowerBuilder .NET Applications on Linux - Turning legacy apps into Web
apps" about his experiments with DataWindow .NET using Firefox and
Opera on Linux to access the web app.
[http://pbdj.sys-con.com/node/683109]

I don't get, why simple things like checkboxes and radio buttons don't
work in other browsers. AFAIK it is possible to develop browser
independent applications using ASP.NET. His patchy workaround is to
run Internet Explorer on Linux using WINE. But therefore you'd still
need a Windows License.


There are many free & open source web application frameworks
available, couldn't Sybase use one of them to create truly platform
and browser independent web apps? Also advanced stuff like treeview
controls are available in browser (and app server / DBMS) independent
implementations.



2. Support for different programming languages

Can I use PowerDesigner or Workspace to model applications for other
languages than PowerBuilder or Java, like Ruby on Rails or Grails?
What about one of the Informix 4GL implementations, Ingres OpenROAD or
Progress 4GL? What would be the difference in features between
PowerDesigner and Workspace in this case?

I'm interested in using Ruby on Rails, there is a free (GPLed) Eclipse-
based IDE available, RadRails and Ruby on Rails clearly follows the
Model-View-Controller architecture pattern. I like the "Convention
over Configuration" and "Don't repeat yourself" principles. Would
PowerDesigner or Workspace support me in this case?



3. What I meant about future, yet unknown, standards in my original
post:

E.g. if I defined a user input validation function for a DataWindow
entry field in an traditional PB app: When I wanted to move the app to
the web, the IDE's job would be to compile this function into
JavaScript and include it into the AJAX DataWindow implementation.
This shouldn't need further coding. And if there is a future web
standard, say AJAX++, the new release of PowerBuilder would compile
this validation function in the appropriate code of the new standard.
The programmer wouldn't have to learn new programming languages all
the time.
In the same example, if the order of the fields I can jump to using
the TAB-key was defined in DataWindow for the GUI app, PowerBuilder
should compile it to the web platform without requiring the programmer
to adopt the JavaScript source to support the TAB-order of the fields.

Another example would be reporting:
An old character-based text report could just be recompiled using a
style template to create new PDF reports. And if there ever be a
successor to PDF, it would be the PB compiler's job to support it. And
when they enable embedding of XML data into the PDF report, once the
PB compiler / application server supports it, the latest compile of
the application would support these XML PDFs. I don't see there a
necessity for programmer intervention other than tweaking a small
minor issues.

To what extend does PowerBuilder support such things, e. g. regarding
your past experience in moving traditional apps to the web?



4. Can I use PowerDesigner / Workspace to generate a kind of ISO 9001
Quality Manual out of the business process models?



5. How "integrated" is the PowerBuilder IDE regarding these web
standards (CSS, XSLT and so on)?
Do I have to hand-tweak CSS files for the layout or change XSLT files
manually, if I add another attribute to a table?
Another example: the XML Web DataWindow-paper I mentioned above
describes the CSSGen.PublishPath property. Do I need that? I don't
want to care where my CSS-files are! It would be the job of the IDE to
make sure that the CSS files are uploaded to the right position on the
web server and the Web DataWindows know, where to find them.



6. Model changes affecting code

If I have programmed an application using PowerDesigner for the
modeling, and I would later change the model, e.g. "outsourcing" an
attribute of an existing table to another table, how would that affect
the existing application? Would PowerDesigner change the database
automatically and move the data content of that attribute into the new
table, linking it with the old table, or do I have to manually write
an SQL script for that?



7. Proposal to Sybase

I don't understand the dependence of PowerBuilder on Win32 and
WinForms.
Other languages, like Java and Ruby are platform independent, yet
offer similar features (except OLE and this stuff).
I suggest of increasing the level of abstraction of PowerBuilder and
choosing an existing popular GPL-licensed framework (like Ruby or Ruby
on Rails). Then PowerBuilder could compile to this framework and thus
support any platform supported by the framework both for fat-client
GUI applications and for thin-client web applications (web server
independent, database independent).
The big advantage for Sybase would be that they wouldn't have to care
anymore about new standards, like Micro$oft WPF, and could concentrate
on RAD IDEs. The open source community would adopt the framework for
free to the most popular platforms.
Then, ideally, you could define the whole presentation "experience"
using the IDE and compile it to any platform, be it fat-client on
Windows or Linux, web app on Firefox or Internet Explorer or mobile
devices like iPhones, just by choosing the right "converion template".
Another point to consider is that when providing only Micro$oft
Win32 / WPF compatible IDEs, the competitor is Micro$oft themselves,
and future more RAD-based versions of Visual Studio. If PowerBuilder
supports any platform, it will always keep a clear USP over the Micro
$oft products.



Pooh, that got way too long. Hopefully you didn't fall asleep while
reading...


Many thanks in advance for your answers!!!


Lucas.




On Jan 4, 11:13 pm, "Paul Horan[Sybase]"
Post by Paul Horan[Sybase]
Definitely PD for the Business Process Modeling. There are three basic
configurations of PD - and you'll need PowerDesigner Studio to get the
Business Process Modeling component.
Yes, PD can forward and reverse-engineer to PowerBuilder, but I can't
recommend using that approach for UI development.  You can take specific
steps in your BPM, generate components into a fully UML-compliant Object
Oriented Model, and then generate those as PowerBuilder non-visual objects.
But you'll still need to write some PowerBuilder code in the PowerBuilder
IDE to flesh out the full implementation.
   o  Changes in the development environment and the model designer
      should by synchronized.
Fully supported, with the caveats mentioned above.  Just because you *can*
do this, doesn't mean you *should*.
   o  All coding should be done using a 4GL language. I don't want
      to learn HTML, JavaScript, CSS, XSLT, XML, Ajax, PHP, Phyton,
      XHTML, WSDL etc.
While I disagree with this requirement from a very fundamental perspective,
I can say that PowerBuilder does a fairly good job abstracting out much of
these technologies.  Does it help to be conversant in them and know what
role they play in a well-constructed application?  Sure...
   o  The abstraction of the 4GL language should be so high, that
      implementing future web standards only require minimal code
      changes, if any.
      Say, before AJAX I had a simple web application, I want to be
      able to recompile it using AJAX features without rewriting the
      presentation layer, once AJAX-support is added to the IDE.
This is a tough one to nail down, as we don't have a "crystal ball" to see
what's coming in the future...  For example, the new WPF platform from
Microsoft is a game-changer.  The object model and event processing
infrastructure is almost completely different from Win32 and WinForms...
We're discussing internally now to determine what the best, if any, possible
migration strategy should be for PB users.
   o  Source control / versioning and code documentation should be
      fully integrated into the IDE.
   o  With just a few clicks I want to deploy the whole application
      to a test environment.
   o  After testing, again with just a few clicks I want to deploy to
      the productive environment.
Fully supported in PB.
   o  Very rich client experience like AJAX is desireable, but platform /
browser independence is more important.
Yeah.  You'll find that to be the "Holy Grail"...  Everybody's looking for
it, but it's an elusive goal...  The native WebForms deployment in PB is
limited to Internet Explorer and IIS (for now).  Appeon also uses a single
ActiveX plugin, so IE is recommended.
   o  Performance is not so much an issue, since I will only have 10 to 20
      users working simultaneously. The database of the current system is
      way below 10 GiB.
This begs the question - why does this need to be a browser-based
application?  This is the "sweet-spot" for a rich-client 2-tier
application...
   o  Appeon for PowerBuilder "deploys existing PowerBuilder client/server
      applications to the Web". Doesn't PowerBuilder natively offer the
      possibility to create web applications?
Yes.  On the surface, PB's native support for WebForms and Appeon would seem
to be competing technologies, but there are subtle differences.
WebForms is limited to IIS on the server-side, and IE (for now) on the
browser side, and is targeted to .Net shops.  Appeon, on the other hand,
translates the PB to Javascript and JSPs, and deploys the resulting web app
to EAServer as a J2EE application server.  Appeon is a slightly more mature
technology, but there are additional license fees.  Webforms deployment is
included with PB Enterprise.
   o  EAServer: Do I need that, doesn't PowerBuilder support creating web
      applications without EAServer? Why then is there a Sybase paper
      "Moving PowerBuilder to EAServer"? Will PowerBuilder be depreciated?
EAServer is not required for Webforms application deployment, because the
app server is IIS.  EAServer is included in the license of Appeon, and it
hosts the generated web application as JSPs.
EAServer has always been able to run PowerBuilder non-visual components.
With EAS6.x, these are exposed as EJBs, and can be invoked from any webpage
on any platform.  Based on your requirements, I would consider this approach
to be outside your scope.
   o  "WorkSpace combines the power of enterprise modeling with
      comprehensive tooling capabilities." Doesn't PowerBuilder and
      PowerDesigner already integrate into a single IDE? What is WorkSpace
      then there for?
Workspace is collection of tools that run as Eclipse plugins. Think of
Eclipse as the tool-belt, and each Workspace plugin is a tool hanging from
that belt.  Some of those tools are the PowerDesigner modeling components -
with the exact same functionality that is in native PD.  There are also
Sybase server tooling components - managing ASE and IQ and SQLAnywhere
databases, for example.  There's a Mobile development component, and a
Business Process Orchestration component.  If your development shop has
already standardized on Eclipse as a Java development IDE, Workspace is a
great addition.  The value to existing PB/PD shops is marginal.
HTH,
--
Paul Horan[Sybase]
paulhoran.pbdjmagazine.com
<snip>
Mark Maslow
2009-01-06 01:03:09 UTC
Permalink
If you find a tool that enables someone with no understanding of HTML,
JavaScript, CSS, etc. and no desire to learn them to produce a complex,
high-quality web app with a rich client interface that can be rendered
in any standard browser - please let us know immediately. I want to be
sure to have a significant stake in the company that makes such a tool
before folks figure out that my knowledge and experience is no longer
needed.

But for some reason, I don't expect to be retiring any time soon. If
you have the aptitude and interest, learning these skills is not really
so hard. If you don't, I am not aware of any tool that is going to get
the job done for you. If your goal is to find an IDE that will make it
possible to develop high quality systems without skilled developers, I
suspect you will be disappointed.
Jerry Siegel [TeamSybase]
2009-01-06 01:58:38 UTC
Permalink
"To paraphrase Fred Brook's wonderful essay "No Silver Bullet," well over
half of the time you spend working on a project (on the order of 70 percent)
is spent thinking, and no tool, no matter how advanced, can think for you.
Consequently, even if a tool did everything except the thinking for you --
if it wrote 100 percent of the code, wrote 100 percent of the documentation,
did 100 percent of the testing, burned the CD-ROMs, put them in boxes, and
mailed them to your customers -- the best you could hope for would be a 30
percent improvement in productivity. In order to do better than that, you
have to change the way you think."
http://www.javaworld.com/javaworld/jw-07-1999/jw-07-toolbox.html?page=7
Post by Mark Maslow
If you find a tool that enables someone with no understanding of HTML,
JavaScript, CSS, etc. and no desire to learn them to produce a complex,
high-quality web app with a rich client interface that can be rendered
in any standard browser - please let us know immediately. I want to be
sure to have a significant stake in the company that makes such a tool
before folks figure out that my knowledge and experience is no longer
needed.
But for some reason, I don't expect to be retiring any time soon. If
you have the aptitude and interest, learning these skills is not really
so hard. If you don't, I am not aware of any tool that is going to get
the job done for you. If your goal is to find an IDE that will make it
possible to develop high quality systems without skilled developers, I
suspect you will be disappointed.
Mark Maslow
2009-01-06 03:36:36 UTC
Permalink
Post by Jerry Siegel [TeamSybase]
"To paraphrase Fred Brook's wonderful essay "No Silver Bullet," well over
half of the time you spend working on a project (on the order of 70
percent) is spent thinking, and no tool, no matter how advanced, can think
for you. Consequently, even if a tool did everything except the thinking
for you -- if it wrote 100 percent of the code, wrote 100 percent of the
documentation, did 100 percent of the testing, burned the CD-ROMs, put
them in boxes, and mailed them to your customers -- the best you could
hope for would be a 30 percent improvement in productivity. In order to do
better than that, you have to change the way you think."
http://www.javaworld.com/javaworld/jw-07-1999/jw-07-toolbox.html?page=7
The actual essay is excellent, and should definately be carefully considered
by the OP:

http://www.lips.utexas.edu/ee382c-15005/Readings/Readings1/05-Broo87.pdf

The javaworld link you provide points to another excellent and somewhat
controversial article by a person who I took some classes from. You
neglected to include the part immediately preceeding the part that you do
quote, which I quote below. He is not exactly a fan of RAD in general:


So why are the RAD systems useless in producing object-oriented user
interfaces? The short answer is, because they all use the
extract-data-then-shove-it-elsewhere approach I discussed earlier. Any
system whose design focuses on data flow, rather than message passing, is
fundamentally incorrect in the object-oriented model.

As a consequence, RAD tools deliver virtually none of their promise. That
application you throw together so quickly is going to take ten to twenty
times more effort to maintain than would hand-built code.
Jerry Siegel [TeamSybase]
2009-01-06 04:50:26 UTC
Permalink
And on page 5 he says
" (A determined individual can write garbage code in any language.) "
I call that the Chef Boy-Ar-Dee principle: procedural spaghetti, structured
lasagna, OO ravioli; you can make bad pasta with any programming paradigm.
I must side with Brooks - OO isn't the Silver Bullet either <G>.
Post by Mark Maslow
Post by Jerry Siegel [TeamSybase]
"To paraphrase Fred Brook's wonderful essay "No Silver Bullet," well over
half of the time you spend working on a project (on the order of 70
percent) is spent thinking, and no tool, no matter how advanced, can
think for you. Consequently, even if a tool did everything except the
thinking for you -- if it wrote 100 percent of the code, wrote 100
percent of the documentation, did 100 percent of the testing, burned the
CD-ROMs, put them in boxes, and mailed them to your customers -- the best
you could hope for would be a 30 percent improvement in productivity. In
order to do better than that, you have to change the way you think."
http://www.javaworld.com/javaworld/jw-07-1999/jw-07-toolbox.html?page=7
The actual essay is excellent, and should definately be carefully
http://www.lips.utexas.edu/ee382c-15005/Readings/Readings1/05-Broo87.pdf
The javaworld link you provide points to another excellent and somewhat
controversial article by a person who I took some classes from. You
neglected to include the part immediately preceeding the part that you do
So why are the RAD systems useless in producing object-oriented user
interfaces? The short answer is, because they all use the
extract-data-then-shove-it-elsewhere approach I discussed earlier. Any
system whose design focuses on data flow, rather than message passing, is
fundamentally incorrect in the object-oriented model.
As a consequence, RAD tools deliver virtually none of their promise. That
application you throw together so quickly is going to take ten to twenty
times more effort to maintain than would hand-built code.
Mark Maslow
2009-01-06 06:08:49 UTC
Permalink
Post by Jerry Siegel [TeamSybase]
And on page 5 he says
" (A determined individual can write garbage code in any language.) "
I call that the Chef Boy-Ar-Dee principle: procedural spaghetti,
structured lasagna, OO ravioli; you can make bad pasta with any
programming paradigm.
I must side with Brooks - OO isn't the Silver Bullet either <G>.
Yes, of course OO isn't the "Silver Bullet" because it in no way changes the
"essential complexity" of whatever problem you're trying to solve, which is
Brooks' main point. But Brooks does specifically mention OO concepts as
representing "real advances in the art of building software" because they
remove certain kinds of "accidental complexity" from the process and allow a
"higher-order expression of design". Used properly, OO may not be a silver
bullet, but it's still a good thing. It would certainly seem better to have
tools that support and encourage proper OO development than to have tools
that simply churn out lousy pasta real fast.
Jerry Siegel [TeamSybase]
2009-01-06 12:24:45 UTC
Permalink
Absolutely. I wasn't knocking OO, just pointing out that no tool is a
substitute for technique. You're going to get much better pasta out of the
food processor if Mario Batali is using it. To stretch the metaphor (pun
intended) a master can produce good pasta with unsophisticated tools
http://www.metacafe.com/watch/222305/chinese_noodles/ and a rookie can
produce decent pasta with the help of good cookbook. I'd be interested to
see what Holub has to say about the value of a well-designed framework.
Post by Mark Maslow
Post by Jerry Siegel [TeamSybase]
And on page 5 he says
" (A determined individual can write garbage code in any language.) "
I call that the Chef Boy-Ar-Dee principle: procedural spaghetti,
structured lasagna, OO ravioli; you can make bad pasta with any
programming paradigm.
I must side with Brooks - OO isn't the Silver Bullet either <G>.
Yes, of course OO isn't the "Silver Bullet" because it in no way changes
the "essential complexity" of whatever problem you're trying to solve,
which is Brooks' main point. But Brooks does specifically mention OO
concepts as representing "real advances in the art of building software"
because they remove certain kinds of "accidental complexity" from the
process and allow a "higher-order expression of design". Used properly,
OO may not be a silver bullet, but it's still a good thing. It would
certainly seem better to have tools that support and encourage proper OO
development than to have tools that simply churn out lousy pasta real
fast.
Mark Maslow
2009-01-06 18:40:45 UTC
Permalink
Post by Jerry Siegel [TeamSybase]
I'd be interested to
see what Holub has to say about the value of a well-designed framework.
Back in 2004, Mr. Holub had generally good things to say about a
persistence framework - Hibernate. "I was pleasantly surprised."
"Pretty well conceived and executed." High praise from someone who is
not easily impressed.

http://www.sdtimes.com/content/SDTimesPDFEdition.aspx?
File=SDTimes106.pdf

(requires registration)

But, of course, PB developers don't believe in such things as
persistence frameworks anyway ;-)
Loading...