Ten Essential Development Practices

P

Paul Rubin

Mike Meyer said:
No, it's not a discussion about estimates. The average household in
a G8 country has more computers that don't run Windows - and in fact
don't have GUIs at all - than otherwise. This is a fact of life.

Most of those computers aren't programmable in Python ;)
 
T

Torsten Bronger

Hallöchen!

Mike Meyer said:
Torsten Bronger said:
Mike Meyer said:
[...]

You didn't answer the question about how you define agile
project. Please do so if you expect a comment on this.

Projects with a high Sourceforge activity index.

That doesn't seem to match the common defintion of "agile" when it
comes to programming. Then again, you have a habit of using words
to mean whatever you want, without much reference to how they're
used by the rest of the industry.

I'm not part of the industry.

Sorry, but now the arguments are getting destructive. Agile
programming is a fixed phase, which I've never used. (And which
makes no sense in this discussion.)
[...]

Sorry, but you're wrong. FORTRAN is very much a general purpose
language. [...]

It's not about the potential use of a language, but its actual use.
[...]
... is wrong in my opinion. Why should this be?

Because any given proposition is either true or false.

If I say "most people are right-handed", then this means neither
that all people are right-handed nor that none is.
[...]
This becomes a discussion about estimates we both don't know
exactly, and weight differently, so I'll leave it here.

No, it's not a discussion about estimates. The average household
in a G8 country has more computers that don't run Windows - and in
fact don't have GUIs at all - than otherwise. [...]

However, it's about the types of software which is being produced
today.

Tschö,
Torsten.
 
R

Robert Kern

Paul said:
Yes, but it's an older version... isn't it 2.4?

2.5.something.pretty.close.to.2.6.but.not.quite.

--
Robert Kern
(e-mail address removed)

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
 
D

Dennis Lee Bieber

No, it's not a discussion about estimates. The average household in
a G8 country has more computers that don't run Windows - and in fact
don't have GUIs at all - than otherwise. This is a fact of life.
Maybe one needs to have an itemization to understand? <G>

Digital clocks, Digital watches, cellphones, digital radio/TV
tuners, DVD and CD players, Microwave ovens, VCRs, printers, the more
modern monitors with on-screen menus... (my dozen or so amateur, MURS,
GMRS, FRS radios), cordless telephones, my heater thermostat, answering
machine, pedometer...

--
 
T

Torsten Bronger

Hallöchen!

Dennis Lee Bieber said:
Maybe one needs to have an itemization to understand? <G>

Digital clocks, Digital watches, cellphones, digital
radio/TV tuners, DVD and CD players, Microwave ovens, VCRs,
printers, the more modern monitors with on-screen menus... (my
dozen or so amateur, MURS, GMRS, FRS radios), cordless telephones,
my heater thermostat, answering machine, pedometer...

I did understand, however, my MP3 player makes one whole "computer"
in Mike's statistics but it contains at most 5000 lines of own code.

Tschö,
Torsten.
 
C

Cliff Wells

Right. Let's go back to the original question: What's the app I use on
Unix that acts like py2exe on Windows and py2app on Unix?

Any archiving system can be coerced into collecting all the parts
together. None of them do it automatically. That automatically makes
them *not* an answer to the question.

Nothing. Since it isn't all written for you it can't be done.

Have a nice day.
 
M

Mike Meyer

Torsten Bronger said:
Hallöchen!
Mike Meyer said:
Torsten Bronger said:
[...]
You didn't answer the question about how you define agile
project. Please do so if you expect a comment on this.
Projects with a high Sourceforge activity index.
That doesn't seem to match the common defintion of "agile" when it
comes to programming. Then again, you have a habit of using words
to mean whatever you want, without much reference to how they're
used by the rest of the industry.
I'm not part of the industry.

That's no excuse for not learning the terminology, or at least
avoiding using phrases which already have a common meaning.
Sorry, but now the arguments are getting destructive. Agile
programming is a fixed phase, which I've never used. (And which
makes no sense in this discussion.)
Sorry, but you're wrong. FORTRAN is very much a general purpose
language. [...]
It's not about the potential use of a language, but its actual use.

Of course it's not about potential uses. All languages are equivalent
at that level. What it's about is the features and facilities of the
language, and how well they support general-purpose
alternatives. FORTRAN has always been a bit behind other alternatives,
but not so far behind that it doesn't get used for real work. That's
as true today as it was in 1955. The difference is ther are a lot of
other choices, so it gets chosen less often. But I note that at least
one of the 155 projects on SourceForge that list FORTRAN as a language
is a GUI application for Windows.
If I say "most people are right-handed", then this means neither
that all people are right-handed nor that none is.

Right. It means that *some* people are right-handed, and some people
aren't. Just like some C/C++ applications are legacy code, and some
aren't. Which contradicts your earlier assertion that C/C++
applications were all legacy code.
There are *lots* of applications areas that don't need GUIs, and
don't run on Windows.
This becomes a discussion about estimates we both don't know
exactly, and weight differently, so I'll leave it here.
No, it's not a discussion about estimates. The average household
in a G8 country has more computers that don't run Windows - and in
fact don't have GUIs at all - than otherwise. [...]
However, it's about the types of software which is being produced
today.

Ok, let's talk about the kinds of software being produced, and where
it's coming from?

All those computers need software. The embedded software market is
pretty active - and is hiring a lot of C (specifically C, not C++)
programmers. They may be hiring C++ programmers as well; I don't
examine those ads. Could those people be using VC++? I suspect not,
but can't say for sure.

Earlier, you said you wanted a popular language because they get cool
features faster. You hold up two proprietary VC++ (which is just an
development environment) and VB as "popular" languages. If you've been
watching software development long enough, you'd realize that "cool
things" usually come from open source projects first.

There are a number of reasons for this. One is that most of the
software written isn't written for commercial sale: it's developed to
make some product or employee more effective. Most of that is
developed by or for various governments, which in the US means it's
either PD (though possibly undistributed) or classified. People
working on such software are every bit as likely to come up with "cool
things" as people developing software for sale.

The other reason is that if you want to experiment with some "cool
thing", it's a lot easier to take an open source project and add that
feature than it is to get sources to a proprietary product or write
the thing from scratch. Once you do that, there's an incentive to give
the feature back to the community, in that you dont have to patch
every release of the product to include your feature.

These two things play off of each other. People working on inhouse
products don't have the legal headaches with open source software that
people working on proprietary products do. So they don't have problems
with making their business depend on them - and once they've done
that, they tend to let employees spend time working on those
products. I think this is a lot of open source development comes form
- developers getting paid to fix the software because their employer
needs it, not people working in their spare time.

Hmm. I seem to have gotten on a soapbox. Sorry about that...

<mike
 
T

Torsten Bronger

Hallöchen!

Mike Meyer said:
Torsten Bronger said:
Mike Meyer said:
[...] You didn't answer the question about how you define
agile project. Please do so if you expect a comment on this.

Projects with a high Sourceforge activity index.

That doesn't seem to match the common defintion of "agile" when
it comes to programming. Then again, you have a habit of using
words to mean whatever you want, without much reference to how
they're used by the rest of the industry.

I'm not part of the industry.

That's no excuse for not learning the terminology, or at least
avoiding using phrases which already have a common meaning.

Granted, I didn't pay enough attention to the fact that for industry
people "agile" has a much stronger connotation. Nevertheless, it's
an ordinary English word, too, so that's no excuse for not trying to
understand what I *mean*. Since nobody has any chance to see which
programming strategy the projects uses, you must deliberatly
misunderstand me for assuming that I meant "agile programming".
[...]

[...] The difference is ther are a lot of other choices, so it
gets chosen less often. But I note that at least one of the 155
projects on SourceForge that list FORTRAN as a language is a GUI
application for Windows.

I see no difference to special-purpose language then.
[...]

[...] Just like some C/C++ applications are legacy code, and some
aren't. Which contradicts your earlier assertion that C/C++
applications were all legacy code.
Reference?

[...]

Earlier, you said you wanted a popular language because they get
cool features faster. You hold up two proprietary VC++ (which is
just an development environment) and VB as "popular" languages. If
you've been watching software development long enough, you'd
realize that "cool things" usually come from open source projects
first.

That's right (or rather, I believe you). I just want to use a
popular langauge amongst the ones that have free success ("free" in
the sense of Free Software).

I used VB and VC++ for my assertion -- that you don't share -- that
GUI abilities are the only way to get much popularity, which is in
my opinion necessary for "cool things". If you say it's not
sufficient, okay.

Tschö,
Torsten.
 
M

Mike Meyer

Torsten Bronger said:
Hallöchen!
Mike Meyer said:
Torsten Bronger said:
[...] You didn't answer the question about how you define
agile project. Please do so if you expect a comment on this.
Projects with a high Sourceforge activity index.
That doesn't seem to match the common defintion of "agile" when
it comes to programming. Then again, you have a habit of using
words to mean whatever you want, without much reference to how
they're used by the rest of the industry.
I'm not part of the industry.
That's no excuse for not learning the terminology, or at least
avoiding using phrases which already have a common meaning.
Granted, I didn't pay enough attention to the fact that for industry
people "agile" has a much stronger connotation. Nevertheless, it's
an ordinary English word, too, so that's no excuse for not trying to
understand what I *mean*. Since nobody has any chance to see which
programming strategy the projects uses, you must deliberatly
misunderstand me for assuming that I meant "agile programming".

No, I didn't (mis)understand you to mean "agile programming." I didn't
understand what you said at all - which is why I asked how you define
an agile project.
[...] The difference is ther are a lot of other choices, so it
gets chosen less often. But I note that at least one of the 155
projects on SourceForge that list FORTRAN as a language is a GUI
application for Windows.
I see no difference to special-purpose language then.

Difference to what?

I notice that the Wikipedia doesn't have a definition for "special
purpose language", instead preferring the phrase "Domain Specific
Langauge". That matches the definition that agrees with what I think
is common usage, which is:

Trade some of the flexibility of a general purpose language for
capabilities that are more tailored to a specific task

Fortran certainly meets the requirements the wikipedia has for being a
general purpose language.
[...] Just like some C/C++ applications are legacy code, and some
aren't. Which contradicts your earlier assertion that C/C++
applications were all legacy code.
Reference?

See <URL:
http://groups-beta.google.com/group...9?q=wheel+reinvention&rnum=1#d2013c3f1eef49b9
, where you dismiss all C applications a legacy code.
That's right (or rather, I believe you). I just want to use a
popular langauge amongst the ones that have free success ("free" in
the sense of Free Software).

These leaves me with three questions for you:

Is there a free language you consider successful? I can't think of any
that are a lot more (i.e. - an order of magnitude) successful than
Python that aren't derived from C.

Are there any free language that have the GUI/IDE toolkit you want?

Have you noticed that languages with really cool features aren't very
popular? Unification, prototypes, real macros, and dataflow variables
all come to mind. Some of the languages that sport these features even
come with an integrated GUI/IDE, but they have at most 99 projects
mentioning them on sourceforge - assuming they are listed at all.

<mike
 
T

Torsten Bronger

Hallöchen!

Mike Meyer said:
Torsten Bronger said:

I notice that the Wikipedia doesn't have a definition for "special
purpose language", instead preferring the phrase "Domain Specific
Langauge". That matches the definition that agrees with what I
think is common usage, which is:

Trade some of the flexibility of a general purpose language
for capabilities that are more tailored to a specific task

Fortran certainly meets the requirements the wikipedia has for
being a general purpose language.

As does TeX. I don't think that this adds anything to the
argumentation.
[...] Just like some C/C++ applications are legacy code, and some
aren't. Which contradicts your earlier assertion that C/C++
applications were all legacy code.

Reference?

See <URL:
http://groups-beta.google.com/group...9?q=wheel+reinvention&rnum=1#d2013c3f1eef49b9
, where you dismiss all C applications a legacy code.

This URL points to an article by Paul McNett.

Probably you mean
[...] By which measure C is still immensely popular, because of
the large number of older applications that are written in it
that are available - Python being one such.

Legacy code is not a sign of success IMO because it implies a
difficult future.

Calling "older applications" "legacy code" is very different from
calling C/C++ a legacy code language.
[...]
[...] I just want to use a popular langauge amongst the ones
that have free success ("free" in the sense of Free Software).

These leaves me with three questions for you:

Is there a free language you consider successful?

Before the quibbling starts again: What do you mean with "free
language"? For me, that's every language that I can use using
exclusively Free Software tools.
[...]

Are there any free language that have the GUI/IDE toolkit you
want?

I don't know. I haven't seen it yet. Maybe Eclipse + SWT?
Have you noticed that languages with really cool features aren't
very popular?

This is probably true, but "really cool features" tend to become
"exotic features". I don't need them, neither the masses. A good
GUI toolkit is a nice "cool thing" to have.

Tschö,
Torsten.
 
P

Paul Rubin

Mike Meyer said:
Is there a free language you consider successful? I can't think of any
that are a lot more (i.e. - an order of magnitude) successful than
Python that aren't derived from C.
SQL

Have you noticed that languages with really cool features aren't very
popular? Unification, prototypes, real macros, and dataflow variables
all come to mind.

Lisp, except I'm not sure what you mean by dataflow variables. Does
that mean logic variables like in Oz?
Some of the languages that sport these features even
come with an integrated GUI/IDE, but they have at most 99 projects
mentioning them on sourceforge - assuming they are listed at all.

You could have said the same thing for dynamic types and GC not that
long ago. Users are couthing up.
 
D

Dan Sommers

Is there a free language you consider successful? I can't think of any
that are a lot more (i.e. - an order of magnitude) successful than
Python that aren't derived from C.

How about Postscript? (I believe that Postscript was developed as a
proprietary language, but it has since become sufficiently Free that
there is a Free interpreter that renders Postscript code, and a lot of
Free programs generate Postscript code as output.)

Stretching (but not too far) "language," how about HTML? Except for
toasters, almost every computing device sold these days contains an HTML
interpreter, and a great deal of embedded systems create HTML and use
HTTP as an administrative interface.

Regards,
Dan
 
D

Dennis Lee Bieber

Now /I'm/ getting confused...

As far as I'm concerned neither Python, SQL, REXX, that OTHER P
language, and lots of can be said to be "derived from C"...

This is not to say that they may not be IMPLEMENTED in C.

Derived from C? Uhmmm, C++, Objective C, probably C#, Java.

And one musn't forget that C was derived, in a way, from B,
which itself derives from BCPL -- the language the early version of the
AmigaOS was built upon.

Derived from Algol: Pascal, Modula-2, Ada

Implemented in C? Well, we have way too many (especially if one
counts all the languages that can be fed to the GCC system) which sort
of makes them "free".

And then there was DEC... Where BLISS was the language used to
implement the others...

--
 
M

Mike Meyer

Dennis Lee Bieber said:
Now /I'm/ getting confused...

As far as I'm concerned neither Python, SQL, REXX, that OTHER P
language, and lots of can be said to be "derived from C"...

The original question was asked of an OP who doesn't consider those
languages successful. I don't agree with him, and was asking *his*
opinion. He didnt' answer the first time, and I gave up the
conversation after that.

<mike
 
J

jbperez808

Torsten said:
I've been having a closer look at wxPython which is not Pythonic at
all and bad documented. Probably I'll use it nevertheless.

Aye. Couldn't agree more.
PyGTK and PyQt may have their own advantages and disadvantages.

I like PyGTK because the calls are C-based and not as confusing
as C++-based ones. It looks pretty good too... just a bit slow, but
that was about a year ago. Speed may have improved since.
However, in my opinion we don't need yet another binding so thin
that C or C++ is shining through, but a modern replacement for
Tkinter with its Pythonic way of thinking.

You will want to take a look at Fredrik Lundh's Tkinter 3000 and
Widget Construction Kit:

http://www.effbot.org/downloads/
http://www.effbot.org/zone/wck.htm

I believe it deserves to be much more well-known that it currently is.
 
B

Brian Victor

Aye. Couldn't agree more.

You know, whenever someone mentions wxPython being badly documented, I
have to wonder whether they know about the nearly 2000 page PDF of
wxWidgets documentation, which is available in html at
http://www.wxwidgets.org/manuals/2.6.1/wx_contents.html

wxPython has the same API as wxWidgets, except where indicated in that
manual. If in doubt, you can also consult
http://wxpython.org/docs/api/

And of course, the gaps are filled in by the wxPython wiki:
http://wiki.wxpython.org/

I apologize if you already know about these things, but I find myself
continually surprised that "wxPython is badly documented" has become
conventional wisdom when I have never found that to be the case.
 
B

Ben Finney

Brian Victor said:
You know, whenever someone mentions wxPython being badly documented,
I have to wonder whether they know about the nearly 2000 page PDF of
wxWidgets documentation, which is available in html at
http://www.wxwidgets.org/manuals/2.6.1/wx_contents.html

All of which is oriented toward C++ programmers, with all the language
assumptions inherent to that.
wxPython has the same API as wxWidgets, except where indicated in
that manual. If in doubt, you can also consult
http://wxpython.org/docs/api/

That being part of the problem. Putting pieces together in C++ is
quite a different mindset to putting them together in Python.
I apologize if you already know about these things, but I find
myself continually surprised that "wxPython is badly documented" has
become conventional wisdom when I have never found that to be the
case.

Quantity of documentation doesn't equal quality.

That said, the wxPython 2.6 release saw a renewed push toward getting
comprehensive API documentation online; it's coming together, slowly.
It still feels like wxPython is a second-class citizen in the wx
world.
 
D

David E. Konerding DSD staff

All of which is oriented toward C++ programmers, with all the language
assumptions inherent to that.

Actually, the real problem with the wxWidgets documentation is that it doesn't tell you
*how* to do things. It does only a barely adequate job as an API reference, but what it lacks is
an extensive howto. I waste too much of my time dinking around deep in wxPython demos trying to figure out
what is the 'right way' to do things.

See:
http://www.async.com .br/faq/pygtk/index.py?req=index

for an example of what's needed.

The wxPython Wiki is poorly organized (like nearly all wikis). It's mandatory reading (all of it) but
mainly because it's not obvious where important hints are hidden.

Dave
 
M

Magnus Lycka

David said:
Actually, the real problem with the wxWidgets documentation is that it doesn't tell you
*how* to do things. It does only a barely adequate job as an API reference, but what it lacks is
an extensive howto. I waste too much of my time dinking around deep in wxPython demos trying to figure out
what is the 'right way' to do things.

Robin Dunn does an amazing job in answering questions on the mailing
list, but the fact that it's Robin himself who responds to so many
questions does suggest a problem. I guess it would be really good if
someone (not me ;^) would wade through his postings to the mailing list
and turn that into some kind of documents.

The fact that his excellent, more or less daily postings are so badly
needed does indicate a problem, either with the design of the toolkit,
or with the docs. I'm not sure which.

When will that wxpython book appear?
 

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,014
Latest member
BiancaFix3

Latest Threads

Top