So many things that need to be decided....

  • Thread starter Heather Stovold
  • Start date
H

Heather Stovold

Wow - deciding to program in python sure requires a lot of decisions!

So far:

I've decided on python for the programming language.
I've decided on wxpython for the GUI....
I've decided on DrPython for the Editor....

I still need to decide on a database........ I've really only used Access,
and my SQL skills aren't that great. It would also need to be free....
Any suggestions??

Am I going to need a program/package for a report writer? or that might
depend on the database I use?

I've never had to make so many decisions to program in my life, because I've
generally only had a couple of options, or those options were decided by
other people.

I really appreciate the help this newsgroup has provided - both for my
previous post - and for the reading of other posts I've done. I'm sure
I'll have a million more questions soon!

Thanks for the help!

Heather
 
P

Peter Hansen

Heather said:
Wow - deciding to program in python sure requires a lot of decisions!

So far:

I've decided on python for the programming language.
I've decided on wxpython for the GUI....
I've decided on DrPython for the Editor....

I still need to decide on a database........ I've really only used Access,
and my SQL skills aren't that great. It would also need to be free....
Any suggestions??

Yes, provide background on your actual requirements so we aren't just
pulling suggestions out of our asps (this being a Python-related but
family-oriented newsgroup, that seemed more appropriate than the
alternative). What kind of app are you building, what kind of structure
will your database and app have, performance requirements, etc...

(You might have already mentioned something in your other posting, but I
didn't read/don't recall it and I'm sure many other potential
respondents are in the same boat.)

Also, a suggestion from the world of "agile development": stop making so
many decisions and start writing some actual code! :) That way you'll
gain confidence in the choices you have made, and will rapidly find
where you went wrong (as you'll inevitably decide you have about some
things), rather than waiting till you've chosen all the perfect
components and run out of time to get anything done. (This advice from
the voice of experience, me having been where you are 20 years ago, and
15, and ten years ago, and five years ago...)

-Peter
 
M

Mike Meyer

Heather Stovold said:
Wow - deciding to program in python sure requires a lot of decisions!

It wasn't for me.
So far:

I've decided on python for the programming language.
I've decided on wxpython for the GUI....

Hmm. I started writing CGI apps, so I didn't need to choose a
GUI - at least not until later. I finally settled on PyQT, though I've
used TkInter as well.
I've decided on DrPython for the Editor....

An editor for each language? Is that the kind of tower you get when
you start using IDEs? I just kept right on using the same text editor
I'd been using for the last 20 (now 30) years.
I still need to decide on a database........ I've really only used Access,
and my SQL skills aren't that great. It would also need to be free....
Any suggestions??

Access is just a way of talking to a database. Which is what most
Python database tools are - ways to talk to a back-end database. If
you're going to be writing fairly traditional applications, this is
probably overkill. Doing web back ends, I needed to deal with
simultaneous access, so had to go this route. I chose PostGreSQL, but
I've worked with MySQL as well.

You might be better off with something that doesn't require a separate
server. Gadfly appears to qualify. There are probably other packages
that give you a DB-API or SQL interace to an internal database that
will serve your purpose.

I've worked with the berkeley db modules, which provides a way of
storing arbitrary chunks of memory on disk, using arbitrary chunks of
memory as a key. That may well be enough. The shelve module is the
easy way to use this.
Am I going to need a program/package for a report writer? or that might
depend on the database I use?

That won't depend on the database. It will depend on what you want
your applications to do when it comes to generating reports - assuming
you generate any at all.

<mike
 
M

Maurice LING

Hi,

It seems that you are just starting on Python, same as my situation a
year ago. After almost going down the same route as you do, I tell
myself.... just start on something. You can decide on everything but by
the time you've decided, everything changes again.

Initially, I started on Java then came to Python. Ok, now you've decided
on Python, GUI library and Editor isn't an issue. Despite all the
negativities with PyDev with Eclipse, I am still using it.

I really don't see why you should lay everything in stone before you
start. Things may or may not fall into place. Worry about it when it
worries you.

"do not distress yourself with imaginings" -desiderata

Good luck.

Cheers
maurice
 
S

Steve Holden

Heather said:
Wow - deciding to program in python sure requires a lot of decisions!

So far:

I've decided on python for the programming language.
I've decided on wxpython for the GUI....
I've decided on DrPython for the Editor....

I still need to decide on a database........ I've really only used Access,
and my SQL skills aren't that great. It would also need to be free....
Any suggestions??
I'd try sqlite, since you can just install the python extension module
(which brings its own copy of the Windows DLL with it - since you
mention Access I assume you are no stranger to Windows].
Am I going to need a program/package for a report writer? or that might
depend on the database I use?
Generally speaking it would probably be a good idea to make sure that
none of your other software technologies depend too heavily on one
specific database, though this is generic advice which you can ignore to
meet other project goals like "easily portable".
I've never had to make so many decisions to program in my life, because I've
generally only had a couple of options, or those options were decided by
other people.

I really appreciate the help this newsgroup has provided - both for my
previous post - and for the reading of other posts I've done. I'm sure
I'll have a million more questions soon!
As Radio Shack are fond of saying, "You've got questions, we've got
answers". Make sure you pass them on. And take Peter Hansen's advice to
get elbow-deep in code.

regards
Steve
 
I

Ivan Voras

Heather said:
I still need to decide on a database........ I've really only used Access,
and my SQL skills aren't that great. It would also need to be free....

As many others have suggested, if you're comming from Access, SQLite or
Gadfly would probably be good starting points, because

- they both store data as files in the filesystem (as Access does), so
you don't have to maintain a database server
- they are easy to setup and use, there's lots of documentation on them.

My personal suggestion would be to go with SQLite because it's a
standard database which can be used with large number of other tools and
languages.

Keep in mind that such simple database systems have limits. Mostly,
you'll encounter performance problems if you have multiple users writing
data to the database at the same time (so if you're into web
applications or business systems, use something more powerful, like
PostgreSQL or Firebird).

As for report generating features, I don't know of any free report
generators that are as easy to use like the one in Access (e.g.
point-and-click). Same goes for GUI tools.
 
H

Heather Stovold

An editor for each language? Is that the kind of tower you get when
you start using IDEs? I just kept right on using the same text editor
I'd been using for the last 20 (now 30) years.

I have programmed in the past with a plain text editor too did it for
years. - but I much prefer programming with tools that have syntax coloring,
code completion, and the ability to run from the editor. Debugging tools are
a bonus too.

Access is just a way of talking to a database. Which is what most
Python database tools are - ways to talk to a back-end database. If

MS Access is also a file-based relational-database program in Windows, which
you can access the database files either through the program, or the
database directly through other tools - including most MS programming
languages.
You might be better off with something that doesn't require a separate
server. Gadfly appears to qualify. There are probably other packages
that give you a DB-API or SQL interace to an internal database that
will serve your purpose.

At this point, it would be the best to not require a seperate server. There
will be only 1 or a handful of people accessing the database at once.
That won't depend on the database. It will depend on what you want
your applications to do when it comes to generating reports - assuming
you generate any at all.

Some reports are a definate requirement.


Thank you

Heather
 
H

Heather Stovold

I really don't see why you should lay everything in stone before you
start. Things may or may not fall into place. Worry about it when it
worries you.

Well, my program is going to require all these things. Information required
to even build the screen is being stored in the database. (That is,
information about the program is going to be in a database, not just the
user data) - so I need to determine the database. It is a GUI program - so
I need some sort of ability to program a GUI interface, etc....

Thanks
 
H

Heather Stovold

My personal suggestion would be to go with SQLite because it's a
standard database which can be used with large number of other tools and
languages.

As for report generating features, I don't know of any free report
generators that are as easy to use like the one in Access (e.g.
point-and-click). Same goes for GUI tools.


Thank you - I'll check them out!
 
M

Mage

Heather said:
I have programmed in the past with a plain text editor too did it for
years. - but I much prefer programming with tools that have syntax coloring,
code completion, and the ability to run from the editor. Debugging tools are
a bonus too.
My opinion is that the GUI is for those who like the mouse. Since I play
many games I am included.

After tried some python editors I found Eclipse is mine. I have to tell
that I really don't like it, even it's "you must create a project in
every simple case" feature annoyes me. However I didn't find any other
editor which is able to do all of these:

- identing with tabs
- showing tabs as 2 spaces
- indicating if I use 2 spaces instead of a single tab (bad habit of
mine from pascal-php times)
- running the scripts
- easy switching between source files
- regular expression replacing
- nice look and good design

It should be able to show tabs with some different colors than spaces
but it isn't. However other editors fail one or more of these above.
Eclipse also supports subversion, but I use the command line svn client.

Mage
 
A

Anand S Bisen

Hi

I see everybody talking about Eclipse and PyDev i have not used it but
just wanted to know how does it compares with Activestate Komodo?

thanks

Anand
 
M

Mike Meyer

Heather Stovold said:
I have programmed in the past with a plain text editor too did it for
years. - but I much prefer programming with tools that have syntax coloring,
code completion, and the ability to run from the editor. Debugging tools are
a bonus too.

I've got syntax coloring. I'm not sure what you mean "run from the
editor". I can send functions/classes to an interpreter running in the
editor. I can run programs either via the editor command to run
programs, or from a shell running in the editor. I have no idea
whether or not the editor will do code completion. The only
autocompletion facilities I use while editing (as opposed to issuing
commands or looking for help) is looking up things in my email address
book.

MS Access is also a file-based relational-database program in Windows, which
you can access the database files either through the program, or the
database directly through other tools - including most MS programming
languages.

IIRC - and I may not - access uses the "Jet" (name may be obsolete)
database engine for it's file-based relational database access.
Some reports are a definate requirement.

How will they be displayed? If you want to print them, it will depend
on the platform. If you want to display them in a window, it'll depend
on the GUI toolkit.

<mike
 
D

Dennis Lee Bieber

IIRC - and I may not - access uses the "Jet" (name may be obsolete)
database engine for it's file-based relational database access.
Access is just a fancy GUI database & report designer whose
native database support is the same JET engine that came with Visual
Basic. The more recent versions of Access also included "Access
Projects" which use MSDE/SQL Server as the back-end, just storing the
report logic in the .mdb file.

--
 
M

Mike Meyer

Nick Vargish said:
Indenting with tabs is pretty much frowned upon in Python, as Guido
relates in PEP 8:

http://www.python.org/peps/pep-0008.html

I guess it doesn't matter much if you are the only person who will
ever touch your code, and you never, ever, accidentally mix spaces and
tabs...

What the OP probably meant was that the development environment
inserts the appropriate number of spaces when you hit the tab key. I'd
hate to work on Python - or in any group development environment -
where that wasn't the case.

<mike
 

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

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,577
Members
45,054
Latest member
LucyCarper

Latest Threads

Top