Help Required for Choosing Programming Language

B

Bjoern Schliessmann

Stef said:
Some examples:
- Creating a treeview (like in the M$ explorer), with full edit
capabilities and full drag & drop facilities: Delphi takes about
40 lines of code (most of them even ^C ^V). - Creating a graphical
overview of relations between database tables, which can be
graphical manipulated by the user (like in M$ Access): Delphi 20
lines of code. I wonder what this costs in Python ?

My Chrysler 300C SRT8 takes someVeryLowNumber seconds to accelerate
to 100 mph. I wonder how long this takes with a BMW?
I would love to see:
- a comparison between wx and gtk

Best would be to try the introduction tutorials yourself.

Also be aware that wxWidgets and GTK are C/C++ libraries and
wxPython and wxGTK are "just" Python bindings with a few
enhancements for it.
(QT doesn't have a very inviting license ;-)

GNU GPL isn't inviting?

Regards,


Björn
 
B

Bruno Desthuilliers

Stef Mientki a écrit :
(snip)
I'm not an (educated) programmer, so I don't always use the right terms :-(
If I look at a well established program like DIA,
and see that it still can't repaint it's screen always correctly, ...

I suppose you're talking about the Diagram drawing program Dia. If so, I
don't see how it is relevant to Python GUI programming since Dia is
written in C with the GTK toolkit. The stability problems you experience
have probably more to do with the status of the Windows port of GTK
(which is originally a X toolkit).
I've been using Python for just 2 months, and didn't try any graphical
design,

So how can you comment on GUI programming with Python ?
 
P

Peter Decker

Some examples:
- Creating a treeview (like in the M$ explorer), with full edit capabilities and full drag & drop
facilities: Delphi takes about 40 lines of code (most of them even ^C ^V).
- Creating a graphical overview of relations between database tables, which can be graphical
manipulated by the user (like in M$ Access): Delphi 20 lines of code.
I wonder what this costs in Python ?

You really need to get your thinking straightened out. You can't
compare Delphi to Python; Delphi is a product that uses Pascal as its
language, while Python is a language. When you compare a product for a
language to an entire language, it makes the rest of your arguments
look silly.

BTW, you said you looked at the Dabo Class Designer - did you know
that that tool itself was written in Dabo?

The power is there. The fact that you couldn't completely understand
it in a brief review says more about you than it does about Python,
wxPython or Dabo.
 
D

Diez B. Roggisch

Stef said:
No, but if that's your believe ..

I'm sorry, that was a misreading of mine.
Some examples:
- Creating a treeview (like in the M$ explorer), with full edit
capabilities and full drag & drop
facilities: Delphi takes about 40 lines of code (most of them even ^C ^V).

As does Qt.
- Creating a graphical overview of relations between database tables,
which can be graphical
manipulated by the user (like in M$ Access): Delphi 20 lines of code.
I wonder what this costs in Python ?

Qt has data-aware classes, albeit I didn't play with them.

I've been using Python for just 2 months, and didn't try any graphical
design,
I've other priorities first.

May I cite you:

"""
- Python is not capable of doing everything I need
(almost all interactive actions are very primitive and crashes a lot)
"""

To me, that sounded like you were talking about gui-design.

Diez
 
O

olsongt

I am VB6 programmer and wants to start new programming language but i
am unable to deciced.

i have read about Python, Ruby and Visual C++. but i want to go
through with GUI based programming language like VB.net

so will you please guide me which GUI based language has worth with
complete OOPS Characteristics

will wait for the answer

hope to have a right direction from you Programmer

Regards
Iftikhar
(e-mail address removed)

Despite what "real programmers" and various apologists might say,
there isn't much out there that comes close to the ease-of-use and
functionality of VB when it comes to designing a GUI. I say this not
to discourage you, but to let you know that if a GUI designer is your
sole criteria for a new language, you're going to be disappointed with
everything you see.

I'd suggest that with whatever new language you go with, you either
write apps that aren't gui-based, or write a web application with a
web-based GUI. Another alternative would be to write the "business
logic" in the new language, and have a shell VB app implementing the
GUI call it. You can do this easily in python by creating python
based COM components (not sure how easy it is in ruby, and it's a
comparitive pain-in-the-ass in C++)

Good luck,

Grant
 
H

Hendrik van Rooyen

Stef Mientki a écrit :
(snip)

So how can you comment on GUI programming with Python ?

I think we have a language problem here (no pun intended)

When Stef says "Gui Programming" he means using something like
Delphi or Boa to do the Graphical Layout, while on this group it
normally means writing the python code to make your own windows
etc., using Tkinter or better...

There is no doubt that the first approach gets you going faster,
albeit true that you have more flexibility with the second.

The learning curves are also different, the first approach feeling less
painful, as you seem to make progress from the start, and you don't
have to worry about questions like : "whats a frame/toplevel/mainloop/etc.?"

So from Stef's perspective he is right when he claims that Python's
"Gui Programming" is poor - in the standard library it is non existent,
as there are no Delphi-, Glade- or Boa-like tools available.

And one can argue that something like Boa or the WX.. packages are
not Python, as they are not included in the standard library...

- Hendrik
 
S

sturlamolden

- designing the GUI will cost me about 2 .. 3 times as much in Python

Use a design tool like GLADE for PyGTK, wxGlade for wxPython or Komodo
for tkinter. The more of the GUI code you can remove from your
functional code the better. GUI code tends to clutter up the
functional code. Have you ever tried to make changes in an MFC
project? The optimal solutions are Microsoft's 'Avalon' and GTK/
libglade, where all GUI code are placed inside an XML resource.

The second thing is that GUIs are made very differently in Python and
traditional Windows tools like Delphi and VS.NET. Most Python toolkit
have a concept of 'layout managers' that will size and lay out the
widgets for you. In Delphi and VB you will typically drag and drop
controls on a form, and use anchors and docking and manually size the
controls. You are therefore much more dependent on graphical GUI
design in these environments. In Python toolkits, the layout manager
do all this work for you. Layout managers are also found in Java
toolkits like Swing and SWT. In order to make effective GUIs in Python
you must learn to use these, and forget about all the bad habits
Delphi thought you. Try to imagine the GUI as a tree of containers,
where the widgets reside on the leafs, instead of controls dropped on
a form. When you can do that in your head, you can make GUIs more
quickly in Python than VB or Delphi.

The main advantages to using layout managers are: GUIs are less
tedious to develop, you don't have to worry about resizing and
adapting to different screen sizes, and large projects become easier
to maintain.
 
M

Muntasir Azam Khan

I am VB6 programmer and wants to start new programming language but i
am unable to deciced.

i have read about Python, Ruby and Visual C++. but i want to go
through with GUI based programming language like VB.net

so will you please guide me which GUI based language has worth with
complete OOPS Characteristics

will wait for the answer

hope to have a right direction from you Programmer

Regards
Iftikhar
(e-mail address removed)

There is no other GUI based programming language like VB. That's
because there is no such thing as a GUI based programming language. If
you want to learn a real general purpose programming language try
learning python. If you are only interested in making GUI's for
windows applications, better stick with VB or any of the other .NET
languages.
 
S

Steve Holden

Muntasir said:
There is no other GUI based programming language like VB. That's
because there is no such thing as a GUI based programming language. If
you want to learn a real general purpose programming language try
learning python. If you are only interested in making GUI's for
windows applications, better stick with VB or any of the other .NET
languages.
It's also worth remembering that you can use COM to drive a VB interface
from Python, and of course there's now IronPython that allows you to use
..NET-based interfaces directly.

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
Blog of Note: http://holdenweb.blogspot.com
See you at PyCon? http://us.pycon.org/TX2007
 
A

Andy Dingley

I am VB6 programmer and wants to start new programming language

Why? What is causing you to do this, and what do you need to achieve
by doing it?
i want to go through with GUI based programming language like VB.net

"GUI-based" is fairly unimportant as it's just how you build your
programs, not what they do afterwards. VB is GUI-based, Python can be
GUI-based but is usually fairly text-based.

What's probably more significant here is whether the resulting program
runs in a GUI or not. VB obviously does, on the Windows desktop. Java
also has a sizable market for cross-platform GUI applications. In many
ways Java is more capable than VB, but also far less easy to work with
for rapid simple applications (I'd take 10 year old VB over GridBag
any time!).

GUI programs are less important now than they were a few years ago,
owing to the huge importance of the web and HTML. Although HTML can
still be seen as GUI, it really needs to be worked with at the raw
HTML source level (at least for quality work). This doesn't need any
sort of GUI built into the language, so Python (or Ruby or Perl) are
ideal.

With the rise of AJAX toolkits, we're finally seeing "HTML as a GUI"
turn into a workable choice for building sophisticated GUI apps in a
sensible amount of time. Finally! The tools used here depend
significantly on the toolkits used and it's still early days to pick
winners.

If I had to write Windows-only desktop GUI apps, then I'd stick with
VB6 (which I wrote for years) or whatever M$oft decree to be its moral
successor. Actually I'd probably stick with VB6....

If I had to write cross-platform GUI desktop apps, then I'd be looking
at whatever the favoured toolkit for Java is this week. Maybe Swing,
if I wanted to get a paid job using it. Java Web Start needs looking
at too.

If I just had to make "a sophisiticated GUI app" appear on a lot of
corporate desktops, then it would probably be based on Java Server
Faces.


For nearly all of the choices above, the "language" part of the task
is minor in comparison to tiresome GUI building. That's just the way
commerce works, and why we don't all get to write everything in Scheme
or Haskell.


If I had a free hand in writing better shell scripts, or in writing
moderately complex algorithms with no visible UI, then I have chosen
Python. It beats the hell out of Perl and is (AFAICS) better than
Ruby.

For building web reporting apps that generate HTML, then I'm also
choosing to use my sparse Python knowledge rather than my substantial
Java / JSP knowledge. Seems to be working so far.

For web-hosted GUI apps, I don't know enough about Python to say.
Doesn't look like it beats JSF though.


There's also the question of what "OOP" means. For the "mainstream"
languages, then classic statically-typed OO is done best by writing in
Java. This has a cleaner OOP language design than C++, the benefit of
a decade's hindsight and a clean slate.

Dynamically or duck-typed languages like Python and Ruby are quite
different from this. It's still OOP, but not how your uncle Bjarne
knew it. Quite a culture shock too.
 
M

Mark Morss

I am VB6 programmer and wants to start new programming language but i
am unable to deciced.

i have read about Python, Ruby and Visual C++. but i want to go
through with GUI based programming language like VB.net

so will you please guide me which GUI based language has worth with
complete OOPS Characteristics

will wait for the answer

hope to have a right direction from you Programmer

Regards
Iftikhar
(e-mail address removed)

Good grief. I suppose it is Microsoft to whom we owe the idea that
there could be such a thing as a "GUI based" programming language.
 
P

Peter Decker

Good grief. I suppose it is Microsoft to whom we owe the idea that
there could be such a thing as a "GUI based" programming language.

Who do we blame for the idea that everyone in the world should be able
to express themselves in perfect English without confusion?

It was obvious what the OP meant. He's looking for something akin to
VB, but in Python.
 
B

Bruno Desthuilliers

Hendrik van Rooyen a écrit :
I think we have a language problem here (no pun intended)

When Stef says "Gui Programming" he means using something like
Delphi or Boa to do the Graphical Layout, while on this group it
normally means writing the python code to make your own windows
etc., using Tkinter or better...

It's now the *3rd* time I mention Glade, wxGlade and QTDesigner in this
thread. Hendrik, I know *exactly* what Stef is talking about - been
here, done that.
So from Stef's perspective he is right when he claims that Python's
"Gui Programming" is poor - in the standard library it is non existent,
as there are no Delphi-, Glade- or Boa-like tools available.
>
And one can argue that something like Boa or the WX.. packages are
not Python, as they are not included in the standard library...

Then ObjectPascal his poor too. All the GUI part of Delphi is to
ObjectPascal what wxPython etc are to Python.

From thiw POV, Python is much richer than ObjectPascal : you have at
least 3 or 4 usable GUI toolkits, at least two of them being
full-featured and cross-platform.
 
B

Bruno Desthuilliers

(e-mail address removed) a écrit :
Despite what "real programmers" and various apologists might say,
there isn't much out there that comes close to the ease-of-use and
functionality of VB when it comes to designing a GUI.

Lol.
 
S

Stef Mientki

It's now the *3rd* time I mention Glade, wxGlade and QTDesigner in this
thread. Hendrik, I know *exactly* what Stef is talking about - been
here, done that.

Doubt, that know what I'm talking about ...
.... Glade, wxGlade, QTDesigner are not my choice ;-)
.... at the moment I tend towards VisualWX + openGL for the future.

cheers,
Stef
 
L

Laurent Pointal

Mark Morss a écrit :
Good grief. I suppose it is Microsoft to whom we owe the idea that
there could be such a thing as a "GUI based" programming language.

Maybe HyperCard (and its language, HyperTalk) come before VB (SuperCard
and MetaCard too)... and its Apple...

Whatever we - as professional developers - think about these
tools/languages - its very nice to allow not-developers people to build
the tools they need, even if these are not perfect in a conceptual view,
these are software with users' need filled.

Note: I agree, in professionnal world with software service during long
years, with software growing to manage more and more tasks, some
languages and tools are better than others.

Different needs, different personal experience, different skills...
different languages.


L.Pointal.
 
J

Jordan

You might take a look athttp://dabodev.com

Dave Cook

Learn python, and then learn wxpython (python binding of wxWidgets).
wxWidgets is one of the most extensive and well built gui tools (in my
opinion) and is easier to implement in python than C++ (also my
opinion). The only reason I can see for using C++ over Python for gui
building is if for some obscure reason Python wasn't fast enough. On
the other hand, this brings up the argument of which is faster: Python
or C++ ;) so let's not get into that. Python + WxPython = Good
Language with Good GUI Toolkit.

Cheers,
Jordan
 
T

Thomas Bartkus

On Mon, 19 Feb 2007 08:03:43 -0800, Andy Dingley wrote:

GUI-based" is fairly unimportant as it's just how you build your
programs, not what they do afterwards

Most user apps. require 95% of coding effort to provide a usable user
interface and 5% effort on the algorithmic meat. The "afterwards" you
allude to. So why do we still endure so much programming effort on the
unimportant part?

Because elegent algorithms require bullet proof and intuitive user
interfaces or people won't use or buy your software.

GUI programs are less important now than they were a few years ago,
owing to the huge importance of the web and HTML.

Now with html the programming load rises to about 99.8% effort for the
user interface and 0.2% on the algorithmic core. All that coding
effort wasted on a user interface that looks and works like crap.

The top poster is quite correct to ask for a system like VB6 that banishes
the problem of user interface coding to the trivial role it deserves.
Why should a programmer waste even so much as 10% of his effort to throw
together a standard interface with ordinary textboxes, labels, and option
buttons? Over and over again?

Thomas Bartkus
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top