Email Program

J

J

Is it possible to make a GUI email program in Python that stores
emails, composes, ect? Also, could I create my own programming
language in Python? What are Pythons limits, or is this just a waste
of my time to learn it.
 
L

Lie Ryan

J said:
Is it possible to make a GUI email program in Python that stores
emails, composes, ect? Also, could I create my own programming
language in Python? What are Pythons limits, or is this just a waste
of my time to learn it.

Python is Turing Complete.
 
L

Lie Ryan

J said:
Is it possible to make a GUI email program in Python that stores
emails, composes, ect? Also, could I create my own programming
language in Python? What are Pythons limits, or is this just a waste
of my time to learn it.

Python is Turing Complete.
 
S

Shane Geiger

J said:
Is it possible to make a GUI email program in Python that stores
emails, composes, ect? Also, could I create my own programming
language in Python? What are Pythons limits, or is this just a waste
of my time to learn it.

Python is "Turing complete," which means it is a general-purpose
programming language. Generally speaking, this means you can do
anything with it that you can do with any other programming language.
Being a higher-level language, Python is often chosen over other
languages because it is faster to do many things in Python.

You could also create another programming language with Python. In
fact, another general-purpose programming language (C) was used to
create Python.

Python makes many things easy. For many tasks, Python saves you a lot
of time. It is a good general-purpose tool to know how to use well. It
is a good beginner's language, as it makes many of the annoying things
about programs non-issues.



--
Shane Geiger, IT Director
Council For Economic Education / www.councilforeconed.org
(e-mail address removed) / 402-438-8958

Teaching Opportunity
 
P

Paul McGuire

Is it possible to make a GUI email program in Python that stores
emails, composes, ect? Also, could I create my own programming
language in Python? What are Pythons limits, or is this just a waste
of my time to learn it.

This "waste of my time" phrase is a telling one - I guess your age to
be in the 12-15 range. I would suggest that you are not necessarily
in the best position to know what is or is not a waste of your time to
learn.

Imagine you are a baby and want to grow up to be a runner. Is it a
waste of time to learn to crawl, and then to walk? Is it a waste of
time to learn human nutrition, fitness, hydration? Is it a waste of
time to learn the discipline of diet and practice?

Is it a waste of time to learn something that may not pertain to your
personal occupational goal, but may make you a more interesting, or
philosophical, or thoughtful, or creative person?

I'm not sure that we are the best judges as to whether Python is a
waste of your time to learn. In general, I would say it is not a
waste of *anyone's* time to learn Python, but a lot depends on whether
the student is actually inspired by some inner curiosity and
creativity. If Python instruction is simply being shoved down their
throat, then yes, it probably is a waste of their time, and their
instructor's, and their fellow students' who may be more motivated to
actually learn the subject.

As to your question of whether Python can be used to write an e-mail
client, or to create a programming language, I assure you both are
possible. But also, given your unfamiliarity with Python, both are
well beyond your skills for some time yet, and you are nowhere near
reaching any of Python's limits any time soon. You will have to spend
a lot of time learning and practicing a number of design and
development skills before you reach that point. Whether that is a
"waste" of time or not is up to you.

-- Paul
 
P

Paul Rubin

Paul McGuire said:
As to your question of whether Python can be used to write an e-mail
client, or to create a programming language, I assure you both are
possible. But also, given your unfamiliarity with Python, both are
well beyond your skills for some time yet, and you are nowhere near
reaching any of Python's limits any time soon.

Mitch Kapor (of Lotus 1-2-3 fame) spent a lot of money hiring
very sharp Python programmers to write an email client called
Chandler, but from what I understand, progress so far has been
disappointing, at least in part for performance reasons.
 
P

Paul McGuire

Mitch Kapor (of Lotus 1-2-3 fame) spent a lot of money hiring
very sharp Python programmers to write an email client called
Chandler, but from what I understand, progress so far has been
disappointing, at least in part for performance reasons.

Yipes, have you read the book ("Dreaming in Code")? Chandler's
problems were much more organizational than technical. The staff was
loaded with Netscape/Microsoft/Apple alumni, well-respected, but also
well-heeled, perhaps a little too comfortable and complacent with
their IPO and stock option money, not hungry enough. And Kapor's
leadership from the top was too easy-going, not enough urgency or
drive. The project would tread water for months at a time, waiting
for some collective eureka to resolve philosophical design questions,
while the operational burn rate burned on. Kapor was both majority
investor and CEO/COO, which would make it difficult for Kapor the
Manager to see core problems when Kapor the Investor could just
plaster over them with more money. But when even the added cash ($5MM
initial + $2.5MM add-on) was burned through, the basic problems still
remained and ultimately, no product. (A partial package has been
released - for $7.5MM one would hope so!)

When starting a project, you have three priority factors: time, money,
and scope. You have to pick the top 2, and the third has to give.
Chandler did not have any time driver, fuzzy scope, and *lots* of
money, maybe too much. If the money had been tighter, the deadlines
and scope would have had to get a lot crisper.

Python performance may be the reason why the delivered package is
sluggish, but it is far from being the root reason for the project's
lackluster results.

-- Paul
 
M

Mike Driscoll

Is it possible to make a GUI email program in Python that stores
emails, composes, ect? Also, could I create my own programming
language in Python? What are Pythons limits, or is this just a waste
of my time to learn it.

The book, "Programming Python 3rd ed." by Lutz has a command-line and
a Tkinter-based GUI email program in it. I don't recall if it stored
emails or not, but that should be fairly trivial to add. I've written
a simple GUI program for sending emails via POP3, but haven't dug into
downloading or displaying emails on a server.

Mike
 
M

Mike Driscoll

Hi James,

You can look at Digsby for an example of an email program.


I've followed Digsby for a while, but it's an instant messenger /
social network aggregator, not an email client. It's much like a fancy
Pidgin and it's not open source, so I don't see how I can "take a
look" at it.

The developers for Digsby announced it on the wxPython list for some
reason, so I was a little disappointed when the source was
unavailable.

Mike
 
V

Ville M. Vainio

Alan said:
3. Chandler is not really an email client. So specifically,
which of its functionalities is it slow, and what evidence
if any is there that Python is causing this?

I remember reading "somewhere" that the cause of slowness is/was
architectural - perhaps it was that chandler was persisting too much stuff
to disk, or something. In any case, this might help you google for more
detail.
 
A

alex23

I remember reading "somewhere" that the cause of slowness is/was
architectural - perhaps it was that chandler was persisting too much stuff
to disk, or something. In any case, this might help you google for more
detail.

My understanding was the Philip Eby's oft-quoted Python Is Not Java[1]
post was a direct response to how he saw the Chandler project being
developed:

"I was recently looking at the source of a wxPython-based GUI
application, about 45.5KLOC in size, not counting the libraries used
(e.g. Twisted). The code was written by Java developers who are
relatively new to Python, and it suffers from some performance issues
(like a 30-second startup time). In examining the code, I found that
they had done lots of things that make sense in Java, but which suck
terribly in Python. Not because "Python is slower than Java", but
because there are easier ways to accomplish the same goals in Python,
that wouldn't even be possible in Java."

[1]: http://dirtsimple.org/2004/12/python-is-not-java.html
 
T

Tim Wintle

I remember reading "somewhere" that the cause of slowness is/was
architectural - perhaps it was that chandler was persisting too much stuff
to disk, or something. In any case, this might help you google for more
detail.

I've been using it, and the only major issue I've got is the long
shutdown times, which is caused by backing up a copy of _Everything_ to
disk, so that upgrades can happen cleanly - sure that's going to be
fixed though.

Startup time is a bit slow too, but it's designed to be left open all
the time, and it's fairly zippy once it's open IMO.

Tim Wintle
 
V

Ville M. Vainio

Ville said:
I remember reading "somewhere" that the cause of slowness is/was
architectural - perhaps it was that chandler was persisting too much stuff
to disk, or something. In any case, this might help you google for more
detail.

Here's the "somewhere":

http://blog.chandlerproject.org/200...y-i-use-chandler-and-what-would-make-me-stop/

QQQ

Alex, you’re right that VM usage is a big factor, although there are cases
where the CPU is doing too much, too. So far as why this is, there are many
contributions. The biggest one is that architectural decisions taken early
on in the project meant that way too much data is being persisted. For
example, the app persists all schema and GUI layout information, leading to
on-disk and mapped memory bloat. (There is also redundancy in the data
stored on disk that leads to more of this kind of bloat).

QQQ
 

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,537
Members
45,020
Latest member
GenesisGai

Latest Threads

Top