Thread: The future of pgAdmin II...

The future of pgAdmin II...

From
Dave Page
Date:
Probably a little less dramatic than the subject implies, but I've now had a
chance to play with Visual Studio.NET and got to thinking about where we're
going with pgAdmin II.

I've performed a test upgrade of the pgAdmin II main project to VB.NET -
believe it or not, the upgrade report (attached) lists 413 issues post
upgrade!! Don't forget, that doesn't include pgSchema or any of the Plugins,
Exporters or Highlightbox.

In light of this, I propose that pgAdmin II should stay as a VB6
application, at least for the forseeable future.

For the longterm future (i.e. pgAdmin III), I think the way forward is C#.
I've been playing with this over the last few days and it seems fairly easy
to learn, and should easily do what would be required. The best bit is that
there should be an open-source compiler and class libraries available soon
(http://www.go-mono.com) which would enable us to target *nix platforms.

In the nearer future, it should be possible to build plugins & exporters for
pgAdmin II in C#, so I may well try this, and if successful, try porting
some of the existing ones across.

Anyway, I would welcome any comments *anyone* has about this.

Regards, Dave.


Attachment

Re: The future of pgAdmin II...

From
"Henshall, Stuart - WCP"
Date:
Hello,
    I don't know what elements would be needed for .NET but it would
certainly be a pain if older windows needed to spend ages downloading to get
it working (or worse, couldn't get a .NET version working). Also I'm not
sure but I thought the mono project had very few class libraries completed.
If your wanting it working under linux in the near future wine may be the
way to go (I don't know about other *nix though). Still in the future it may
be the way to go (after the mono project shapes up etc...) .
Cheers,
- Stuart

> -----Original Message-----
> From: Dave Page [mailto:dpage@vale-housing.co.uk]
> Sent: 27 March 2002 10:56
> To: pgadmin-hackers@postgresql.org
> Subject: [pgadmin-hackers] The future of pgAdmin II...
>
>
>
> Probably a little less dramatic than the subject implies, but
> I've now had a
> chance to play with Visual Studio.NET and got to thinking
> about where we're
> going with pgAdmin II.
>
> I've performed a test upgrade of the pgAdmin II main project
> to VB.NET -
> believe it or not, the upgrade report (attached) lists 413 issues post
> upgrade!! Don't forget, that doesn't include pgSchema or any
> of the Plugins,
> Exporters or Highlightbox.
>
> In light of this, I propose that pgAdmin II should stay as a VB6
> application, at least for the forseeable future.
>
> For the longterm future (i.e. pgAdmin III), I think the way
> forward is C#.
> I've been playing with this over the last few days and it
> seems fairly easy
> to learn, and should easily do what would be required. The
> best bit is that
> there should be an open-source compiler and class libraries
> available soon
> (http://www.go-mono.com) which would enable us to target *nix
> platforms.
>
> In the nearer future, it should be possible to build plugins
> & exporters for
> pgAdmin II in C#, so I may well try this, and if successful,
> try porting
> some of the existing ones across.
>
> Anyway, I would welcome any comments *anyone* has about this.
>
> Regards, Dave.
>
>

Re: The future of pgAdmin II...

From
Dave Page
Date:

> -----Original Message-----
> From: Henshall, Stuart - WCP
> [mailto:SHenshall@westcountrypublications.co.uk]
> Sent: 27 March 2002 10:55
> To: 'Dave Page'; pgadmin-hackers@postgresql.org
> Subject: RE: [pgadmin-hackers] The future of pgAdmin II...
>
>
> Hello,
>     I don't know what elements would be needed for .NET but
> it would certainly be a pain if older windows needed to spend
> ages downloading to get it working (or worse, couldn't get a
> .NET version working).

Windows 95 isn't supported by .NET, and even XP doesn't include the
framework. However, currently a pre-requisite is MDAC, which wouldn't be
required, neither would the >1Mb msvbvm60.dll.

However, I do take your point.

> Also I'm not sure but I thought the
> mono project had very few class libraries completed. If your
> wanting it working under linux in the near future wine may be
> the way to go (I don't know about other *nix though). Still
> in the future it may be the way to go (after the mono project
> shapes up etc...) .

Yeah, this is a problem with Mono, however I am talking *way* (== years) in
the future for pgAdmin III, by which time this shouldn't be a concern.

Regards, Dave.

Re: The future of pgAdmin II...

From
Justin Clift
Date:
Dave Page wrote:
>
<snip>
> For the longterm future (i.e. pgAdmin III), I think the way forward is C#.
> I've been playing with this over the last few days and it seems fairly easy
> to learn, and should easily do what would be required. The best bit is that
> there should be an open-source compiler and class libraries available soon
> (http://www.go-mono.com) which would enable us to target *nix platforms.

Hi Dave,

Purely as a matter of curiosity, what is it about C# which makes you
feel it's the best available choice (I know, years in the future
though).

:)

Regards and best wishes,

Justin Clift


<snip>
>
> Anyway, I would welcome any comments *anyone* has about this.
>
> Regards, Dave.
>
>   ------------------------------------------------------------------------
>                          Name: Upgrade Report.zip
>    Upgrade Report.zip    Type: Zip Compressed Data (application/x-zip-compressed)
>                      Encoding: base64
>
>    Part 1.3    Type: Plain Text (text/plain)
>            Encoding: 8bit

--
"My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there."
   - Indira Gandhi

Re: The future of pgAdmin II...

From
Dave Page
Date:

> -----Original Message-----
> From: Justin Clift [mailto:justin@postgresql.org]
> Sent: 27 March 2002 14:41
> To: Dave Page
> Cc: pgadmin-hackers@postgresql.org
> Subject: Re: [pgadmin-hackers] The future of pgAdmin II...
>
>
> Dave Page wrote:
> >
> <snip>
> > For the longterm future (i.e. pgAdmin III), I think the way
> forward is
> > C#. I've been playing with this over the last few days and it seems
> > fairly easy to learn, and should easily do what would be
> required. The
> > best bit is that there should be an open-source compiler and class
> > libraries available soon
> > (http://www.go-mono.com) which would enable us to target
> *nix platforms.
>
> Hi Dave,
>
> Purely as a matter of curiosity, what is it about C# which
> makes you feel it's the best available choice (I know, years
> in the future though).

If you believe the Microsoft hype (and I'm beginning to *this time* after
playing with it), it combines the power of C++ with the development speed of
VB.

Despite years of tinkering, I could never get my head round C++ (probably
didn't spend enough time in one go on it), yet my first app in C# (which
took about 4 hours to learn/write) featured complete exception handling and
input validation and allowed the user to enter connection details into a
gui, then connected to PostgreSQL and listed the tables & their rowcounts in
template1 into a listview.

C/C++ with QT (even if I did get C++) would be *slow* to develop in. I wrote
~30,000 lines of fairly bug free code for pgAdmin II in about a year of
spare time, working just little enough to keep the wife from throttling me.
I could never have done that in C/C++.

Java, *in my experience* is generally slow and clunky (before anyone starts,
I'm not trolling). I've had problems with most Java apps I've come across.

VB.NET is so different from VB6, that I don't want to learn it and spend the
rest of my time in VB6 projects deleting the .NET code I just typed in
without thinking. It's also not cross platform, not to mention the 400
upgrade issues with pgAdmin2.vbp!.

So that's it I suppose. It's quick to learn, and will be cross platform soon
(with a little effort fro Ximian + friends) and should do everything and
more that pgAdmin XXX will require.

Regards, Dave.

Re: The future of pgAdmin II...

From
"Steve Boyle"
Date:
Dave/All,

apologies if this has been discussed before but have you considered
boa/python/wxwindows as a target platform?

I haven't looked at boa for a while but it was usable a while back and
offered a very delphi like ide.  I think that potentially both projects
could benefit as a number of data aware wxwindows components would be
produced that could be added to the boa environment whilst existing
components could be used in pgAdmin III?...

Regards

Steve Boyle


Re: The future of pgAdmin II...

From
"Matthew M."
Date:
Dave,

If there's one motto I've learned over the years.. "If it ain't broke,
don't fix it."  Why move to VB.NET (C#, VB.NET, etc.) in the first place?
What new features and performances increases are going to be made
available over the VB6 implementation of it ?  I spent hundreds of dollars
on Visual Studio 6, and have no intention of upgrading to VB.NET, because
of cost concerns, and I'm sure there are many other developers that feel
the same way.

Perhaps in a few years it might really take off, but why lose the
prospective
developers that might join the project, that don't have VB.NET ?  A lot of
people have VB6 now, as it is, and know how to use it.  You'd possibly be
excluding an area of expertise, and developers that can't code in .NET.

Again though, why the extra work to convert it, re-test everything, when
there is already a working project, that anyone can jump in and modify if
they need to ?  It just seems like reinventing the wheel, when there is
already something that works well.  Why spend the extra development time
on a new .NET version, when you could be spending that time adding new
features and maturing the current version(s) ?

My two cents :)

Thanks,

- Matthew


Re: The future of pgAdmin II...

From
Dave Page
Date:

> -----Original Message-----
> From: Steve Boyle [mailto:boylesa@co.uk]
> Sent: 27 March 2002 19:24
> To: Justin Clift; Dave Page; pgadmin-hackers@postgresql.org
> Subject: Re: [pgadmin-hackers] The future of pgAdmin II...
>
>
> Dave/All,
>
> apologies if this has been discussed before but have you considered
> boa/python/wxwindows as a target platform?

To be honest, Python is the only one of those I've heard of. Do you know any
good sites I could look at or should I just use Google?

Regards, Dave.

Re: The future of pgAdmin II...

From
Dave Page
Date:

> -----Original Message-----
> From: Matthew M. [mailto:initri@initri.com]
> Sent: 27 March 2002 21:59
> To: pgadmin-hackers@postgresql.org
> Subject: Re: [pgadmin-hackers] The future of pgAdmin II...
>
>
> Dave,
>
> If there's one motto I've learned over the years.. "If it
> ain't broke, don't fix it."  Why move to VB.NET (C#, VB.NET,
> etc.) in the first place? What new features and performances
> increases are going to be made available over the VB6
> implementation of it ?

The main advantage would be cross platform capabilities provided by the Mono
project (when it's ready).

> I spent hundreds of dollars on Visual
> Studio 6, and have no intention of upgrading to VB.NET,
> because of cost concerns, and I'm sure there are many other
> developers that feel the same way.

Sooner or later most developers will probably upgrade. How many people do
you know that are still actively using VB4? It was only about 5 years ago
that that was the current version.

That aside, the .NET SDK is free and supposedly includes command line
compilers for VB/C#. I posted a URL for an IDE earlier. There is also the
free Mono compiler which works on Windows/Linux now, it just requires the
Microsoft class libraries until those are cloned as well.

> Perhaps in a few years it might really take off, but why lose
> the prospective developers that might join the project, that
> don't have VB.NET ?  A lot of people have VB6 now, as it is,
> and know how to use it.  You'd possibly be excluding an area
> of expertise, and developers that can't code in .NET.

Don't forget I'm looking forward to *at least* a year from now.

> Again though, why the extra work to convert it, re-test
> everything, when there is already a working project, that
> anyone can jump in and modify if they need to ?  It just
> seems like reinventing the wheel, when there is already
> something that works well.  Why spend the extra development
> time on a new .NET version, when you could be spending that
> time adding new features and maturing the current version(s) ?

After about 4 years, pgAdmin I got to the point where we just couldn't add
the new features we wanted because of the way the design had grown. After
much thought I decided to rewrite from scratch, taking into account how the
old code had grown and it's limitations and allowing for easy addition of
well structured new code. That's bought us a few more years, but we will
probably run into the same problems again. In fact, come to think of it I've
just committed a new feature to CVS which forced me to include database
knowledge in pgAdmin rather than pgSchema - something I always discouraged
myself and others from doing.

I can't stress enough - this *is not happening now*. I'm just considering
what form the next rewrite might take when it's required *in a few years*.

Regards, Dave.

Re: The future of pgAdmin II...

From
Jean-Michel POURE
Date:
> To be honest, Python is the only one of those I've heard of. Do you know
> any good sites I could look at or should I just use Google?

Dear all,

1) WxWindows
http://www.wxWindows.org
http://www.wxWindows.org/screensh.htm

2) WxPython
http://www.wxpython.org
http://www.wxpython.org/wxpshots.php

3) GUI
http://boa-constructor.sourceforge.net/
http://www.roebling.de/default.html (10 user licence = 399 EUR)
http://www.mema.ucl.ac.be/~rolinsky/xrced/
http://wxworkshop.sourceforge.net
http://wxstudio.sourceforge.net

4) http://www.roebling.de/info.html
........ Begin of extract
wxDesigner is a tool written to make creating dialogs for wxWindows based
programs easy and fast.

wxWindows is a cross-platform toolkit and it thus cannot make use of native
resource formats as they typically exist for many platforms. For that reason,
wxWindows has been optimized over time to make writing dialogs by hand as
easy as possible, but this approach has limitations as soon as dialogs reach
a certain complexity. Even without the inevitable number of typos, writing
nice looking dialogs is a hassle and reordering the items in a dialog often
amounts to rewriting the dialog from scratch. In addtion to being quite some
work, writing dialogs also requires a profound and exact knowledge of the
syntax used for creating and positioning dialog items.

Another problem when writing dialogs using the wxWindows library is that some
users might want to make use of the RAD features of the Python bindings
during development, but create a native binary using C++ at the end. This
would entail rewriting (or at least reediting considerably) all dialog
related code. [...]
........ End of extract

Does it mean we can develop a visual application in an interpreted language
using Python bindings .. and obtain a native compiled binary in the end?

This seems very exciting.

Cheers,
Jean-Michel

Re: The future of pgAdmin II...

From
Dave Page
Date:

> -----Original Message-----
> From: Jean-Michel POURE [mailto:jm.poure@freesurf.fr]
> Sent: 28 March 2002 07:19
> To: pgadmin-hackers@postgresql.org
> Cc: 'boylesa@roselink.co.uk'; Justin Clift; Dave Page
> Subject: Re: [pgadmin-hackers] The future of pgAdmin II...
>
>
> > To be honest, Python is the only one of those I've heard of. Do you
> > know any good sites I could look at or should I just use Google?
>
> Dear all,
>
> 1) WxWindows
> http://www.wxWindows.org
> http://www.wxWindows.org/screensh.htm
>
> 2) WxPython
> http://www.wxpython.org
> http://www.wxpython.org/wxpshots.php
>
> 3) GUI
> http://boa-constructor.sourceforge.net/
> http://www.roebling.de/default.html (10 user licence = 399
> EUR) http://www.mema.ucl.ac.be/~rolinsky/xrced/
> http://wxworkshop.sourceforge.net http://wxstudio.sourceforge.net
>
> 4) http://www.roebling.de/info.html

Hmm, does look good. I especially liked the Matrix Sizer on the wxworkshop
site.

> ........ Begin of extract
> wxDesigner is a tool written to make creating dialogs for
> wxWindows based
> programs easy and fast.
>
> wxWindows is a cross-platform toolkit and it thus cannot make
> use of native
> resource formats as they typically exist for many platforms.
> For that reason,
> wxWindows has been optimized over time to make writing
> dialogs by hand as
> easy as possible, but this approach has limitations as soon
> as dialogs reach
> a certain complexity. Even without the inevitable number of
> typos, writing
> nice looking dialogs is a hassle and reordering the items in
> a dialog often
> amounts to rewriting the dialog from scratch. In addtion to
> being quite some
> work, writing dialogs also requires a profound and exact
> knowledge of the
> syntax used for creating and positioning dialog items.
>
> Another problem when writing dialogs using the wxWindows
> library is that some
> users might want to make use of the RAD features of the
> Python bindings
> during development, but create a native binary using C++ at
> the end. This
> would entail rewriting (or at least reediting considerably)
> all dialog
> related code. [...]
> ........ End of extract
>
> Does it mean we can develop a visual application in an
> interpreted language
> using Python bindings .. and obtain a native compiled binary
> in the end?

I took it to mean that's exactly what you don't get.

Regards, Dave.