The following url points to an article written by Damian Conway
entitled "Ten Essential Development Practices": http://www.perl.com/pub/a/2005/07/14/bestpractices.html
Althought the article has Perl as a focus, I thought that some of the
general points made might be of interest to the Python community. It
would certainly be interesting to put together an analogous version of
this article that centers on Python.
Best Regards,
g
Jul 28 '05
217 9213
Dan Sommers wrote: The Zen applies to all aspects of software (and other things, too, but they're off topic here), from human readable reports and requirements and documentation, to GUI's, to test cases, to code, to database schemta, as well as the development methodology and practices themselves.
Sometimes you have to look at the Zen sideways, so that "implementation " appears to be replaced by the particular aspect or aspects (or the software, or just software, as a whole, for the true Masters out there) you happen to be working on at the time, but such is the nature of Zen.
It also applies to Motorcycle Maintenance, of course... (as in "Zen and
the Art of").
-Peter
Dan Sommers wrote: On Thu, 28 Jul 2005 15:35:54 -0700, Robert Kern <rk***@ucsd.edu > wrote:
That said, I made a boo-boo. The Zen of Python is really a set of design principles (and some of them, like this one, are more specificall y *language* design principles), not Essential Development Practices. That'll teach me to not RTFA. May I respectfully disagree?
No, I'm afraid that you may only disrespectfully disagree with me. I
will not tolerate politeness. Why? Uh, my .sig quote justifies rudeness!
Yes, that's it![1]
The Zen applies to all aspects of software (and other things, too, but they're off topic here), from human readable reports and requirements and documentation, to GUI's, to test cases, to code, to database schemta, as well as the development methodology and practices themselves.
Sure, and I can find programming advice in the Old Testament, too, if I
try hard enough[2]. But that doesn't change the fact that the "Essential
Development Practices" (e.g. "Use a source control system") are in a
different category than the Zen of Python (e.g. "Namespaces are one
honking great idea -- let's do more of those!"). Hence Michael Hoffman's
very good question about how he might embody that particular bit of Zen:
it's just not applicable to the things he's doing because it's a design
principle for Python the language, not about development (or even
design!) in general.
Of course other pieces of the Zen are more generally applicable
("Readabilit y counts.") as a "developmen t practice," but that's
something of an accident. Usually, they're about design, sometimes
specifically about the design of Python the language.
Sometimes you have to look at the Zen sideways, so that "implementation " appears to be replaced by the particular aspect or aspects (or the software, or just software, as a whole, for the true Masters out there) you happen to be working on at the time, but such is the nature of Zen.
That's a bit too much navel-gazing for me. With enough effort, you make
anything a symbol of anything else. But that doesn't get any code written.
[1] http://groups-beta.google.com/group/...f205c9b6709163
[2] Proverbs 28:14 JPS "Happy is the man that feareth alway; but he that
hardeneth his heart shall fall into evil." Obviously an exhortation to
not ignore raised exceptions with "except: pass".
--
Robert Kern rk***@ucsd.edu
"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
Dan Sommers wrote: On Thu, 28 Jul 2005 15:35:54 -0700, Robert Kern <rk***@ucsd.edu > wrote:
That said, I made a boo-boo. The Zen of Python is really a set of design principles (and some of them, like this one, are more specificall y *language* design principles), not Essential Development Practices. That'll teach me to not RTFA.
May I respectfully disagree? The Zen applies to all aspects of software (and other things, too, but they're off topic here), from human readable reports and requirements and documentation, to GUI's, to test cases, to code, to database schemta, as well as the development methodology and practices themselves.
Sometimes you have to look at the Zen sideways, so that "implementation " appears to be replaced by the particular aspect or aspects (or the software, or just software, as a whole, for the true Masters out there) you happen to be working on at the time, but such is the nature of Zen.
Regards, Dan
If I canpoint out the obvious, the output from "import this" *is* headed
"The Zen of Python", so clearly it isn;t intended to be universal in its
applicability.
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/
Steve Holden <st***@holdenwe b.com> writes: If I canpoint out the obvious, the output from "import this" *is* headed "The Zen of Python", so clearly it isn;t intended to be universal in its applicability.
It's also mistitled there, given that it was originally posted as '19
Pythonic Theses' and nailed to, erm, something.
Cheers,
mwh
--
Remember - if all you have is an axe, every problem looks
like hours of fun. -- Frossie
-- http://home.xnet.com/~raven/Sysadmin/ASR.Quotes.html
On Fri, 29 Jul 2005 10:08:15 +0100,
Steve Holden <st***@holdenwe b.com> wrote: If I canpoint out the obvious, the output from "import this" *is* headed "The Zen of Python", so clearly it isn;t intended to be universal in its applicability.
Ok, not universal. But as usual, Zen is not easily nailed to a tree.
Was Tim writing about developing Python itself, or about developing
other programs with Python?
Regards,
Dan
--
Dan Sommers
<http://www.tombstoneze ro.net/dan/> gy**********@gm ail.com wrote: The following url points to an article written by Damian Conway entitled "Ten Essential Development Practices": http://www.perl.com/pub/a/2005/07/14/bestpractices.html
Althought the article has Perl as a focus, I thought that some of the general points made might be of interest to the Python community. It would certainly be interesting to put together an analogous version of this article that centers on Python.
Hmm, Perl is called a write once language, but it has thousands of
libraries.Any comment appreciated.
That said,those points are mixing different responsabilitie s in writing
code.I keep on mixing for fun:
-Writing libraries is not writing scripts.
-Writing readable,well structured,non redundant code is somewhat
perpendicular to tests.
-Writing tests is a must for more people to work on the same code.
-Deciding the interface and writing docs before coding can be bad for
experimental coding.
-Logic optimization can influence interfaces.
-Time optimization is a leverage to get paid in open source
software.Never think about that for free.
Paolino
_______________ _______________ _____
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it
[Steve Holden] If I canpoint out the obvious, the output from "import this" *is* headed "The Zen of Python", so clearly it isn;t intended to be universal in its applicability.
[Michael Hudson] It's also mistitled there, given that it was originally posted as '19 Pythonic Theses' and nailed to, erm, something.
'Twas actually posted as "20 Pythonic Theses", although most times I
count them I find19. Nevertheless, that there are in fact 20 was
channeled directly from Guido's perfectly Pythonic mind, so 20 there
must be. I suspect he withheld one -- although, as some argue, it's
possible he thinks in base 9.5, that just doesn't seem Pythonic to me.
[Dan Sommers] Ok, not universal. But as usual, Zen is not easily nailed to a tree. Was Tim writing about developing Python itself, or about developing other programs with Python?
Tim was channeling Guido, and that's as far as our certain knowledge
can go. It _seems_ reasonable to believe that since Guido's mind is,
by definition, perfectly Pythonic, any truth channeled from it
necessarily applies to all things Pythonic.
nevertheless-we-interpret-the-gods-at-our-peril-ly y'rs - tim
In article <m2************ @unique.fully.q ualified.domain .name.yeah.righ t>,
Dan Sommers <me@privacy.net > wrote: Was Tim writing about developing Python itself, or about developing other programs with Python?
Yes.
(C'mon, didja really expect any other answer?)
--
Aahz (aa**@pythoncra ft.com) <*> http://www.pythoncraft.com/
The way to build large Python applications is to componentize and
loosely-couple the hell out of everything.
<snip> although, as some argue, it's possible [GvR] thinks in base 9.5, that just doesn't seem Pythonic to me.
+1 QOTW
Peace
Bill Mill bi*******@gmail .com This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Shawn Berg |
last post by:
I have just finished reading the "Team Development with Visual Studio .NET
and Visual SourceSafe" patterns & practices white paper. I just wanted to
get a good feel from others if what they suggest here is really the best
implementation for team development. My company only has a handful of
developers (2 currently, as many as 5 possibly in the future) that need to
work on the same ASP.NET projects. All of our existing apps are in classic...
|
by: whodunit |
last post by:
What is the difference in development time, if you can use a rule of thumb,
between ASP and ASP.NET? I have read many places that ASP.NET makes you more
productive? Well, by how much?
I hear all the time that ASP.NET improves development time by 20%. I
realize there are many factors to consider, the type of project, etc. But if
anyone can generalize without losing the value to answer my question, please
do.
|
by: Amelyan |
last post by:
Could anyone recommend a book (or a web site) that defines best practices in
ASP.NET application development?
E.g.
1) Precede your control id's with type of control btnSubmit, txtName, etc.
2) Group relevant .aspx files into subfolders within your project
etc.
|
by: Collin Peters |
last post by:
I have searched the Internet... but haven't found much relating to this.
I am wondering on what the best practices are for migrating a
developmemnt database to a release database. Here is the simplest
example of my situation (real world would be more complex).
Say you have two versions of your application. A release version and a
development version. After a month of developing you are ready to
release a new version. There have...
|
by: abc |
last post by:
Our team have three developers. Each one have a PC as development. Because
these PC is slow if it also run VS.NET, IIS and SQL Server Express. For
improve debug and development performance, I will move SQL Server to Windows
2003 Server. Can I config three developers to run one web project on IIS
under Windows 2003 which is new server machine? If can, how should I do?
| |
by: RBD |
last post by:
Hi all,
I am a a self taught C# programmer. I have been developing custom apps
for a few years now, but they have mostly been very small apps for
individuals or departments. Now I am getting into fairly large custom
apps for small/medium sized companies.
My problem is I have been ok with the small apps, but I dont know how
to structure large apps. I need resources that will teach me how to
structure medium sized applications. I'm...
|
by: Pablo |
last post by:
Hello all,
Hope today finds you well.
I'm looking to take my knowledge of best practices within the
development lifecycle to the next level.
Basically I want to follow industry recognised, Microsoft approved
practices for every aspect of the lifecycle - so planning and
architecture, team development, testing procedures, change control and
bug-tracking, version control - etc etc. What software to use, which
|
by: situ |
last post by:
Hello all,
i have Database1 and database2,
is it possible to make database connection to database2 by running
stored procedure on database1.
Thanks and Regards
Situ
|
by: Nickolai Leschov |
last post by:
Hello,
I have done some programming, mostly on embedded systems but now I would
feel like I have to learn good development practices (i.e programmer's
good manners). Let's say I want to build an application using some
established open source library or application. Do I just download the
source and hack away? Or I'd better do it in some controlled manner, i.e
set up some source control system so that I can always compute the diffs
from...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
| |
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |