Domain: python.org
Stories and comments across the archive that link to python.org.
Comments · 1,513
-
Re:Why do we see so little of Python?
just reply to this one and tell me what features make Python a better language
Being more specific about how Python is superior is exactly equivalent to being more specific about how Perl is inferior, and yet that seems to be what you're whining about. Thanks for the attempted double bind, but I'll pass. Instead, what I'll do, and what I've already done, is try to steer you toward the information that will let you make your own informed choice about which language is better. Here (again) is a link to the Python tutorial. It really does a better job of "hitting the highlights" than I can here. Go through as much or as little of it as you feel you need. For your convenience, though, I'd recommend some of the following sections as particularly relevant or potentially indicative of differences between Python and Perl:
- Sections 4.6 and 4.7 (function definition, lambda).
- Sections 5.1.3 (functional programming) and 5.1.4 (list comprehensions).
- Section 9 (classes and scope).
There's also a separate document about extending and embedding Python, which I think is one of the best things about the language.
I hope you enjoy and learn from these sources of information. If you need more, somebody else has already pointed out that comp.lang.python is very newbie-friendly and full of helpful folks. It's true.
-
Re:Why do we see so little of Python?
just reply to this one and tell me what features make Python a better language
Being more specific about how Python is superior is exactly equivalent to being more specific about how Perl is inferior, and yet that seems to be what you're whining about. Thanks for the attempted double bind, but I'll pass. Instead, what I'll do, and what I've already done, is try to steer you toward the information that will let you make your own informed choice about which language is better. Here (again) is a link to the Python tutorial. It really does a better job of "hitting the highlights" than I can here. Go through as much or as little of it as you feel you need. For your convenience, though, I'd recommend some of the following sections as particularly relevant or potentially indicative of differences between Python and Perl:
- Sections 4.6 and 4.7 (function definition, lambda).
- Sections 5.1.3 (functional programming) and 5.1.4 (list comprehensions).
- Section 9 (classes and scope).
There's also a separate document about extending and embedding Python, which I think is one of the best things about the language.
I hope you enjoy and learn from these sources of information. If you need more, somebody else has already pointed out that comp.lang.python is very newbie-friendly and full of helpful folks. It's true.
-
Re:Python & XML supportPython has excellent XML support. Check out the newly released book XML Processing with Python(just the first link I found, not a particular endorsement of the site).
Also there's a report from XML.com on an paper presented at XML'99
There's an active XML SIG, with a page on Python org.
-
Seriously, Though...
For the new python user, what are the pros and cons of using the python.org version versus the pythonlabs.com version? Which is more current, and which is closer to the language specification? Is python.org's hosting The Python Consortium a real sign, or the equivalent of "People For Fair Play in Elections", ie semi-bogus.
I'd love to hear the skinny from an experienced developer. -
Re:Speed of Languages is Often DiscussedFor general Python performance issues, many of which apply to other C-based languages, see this page.
For Guido's comments on optimizing loops, see this page. One level up there are links to more good stuff, some of it outdated.
-
Re:Speed of Languages is Often DiscussedFor general Python performance issues, many of which apply to other C-based languages, see this page.
For Guido's comments on optimizing loops, see this page. One level up there are links to more good stuff, some of it outdated.
-
Python 2.0b1 also due out todayAccording to Guido here.
That is all.
-
Re:GPL Compatibility issues (slightly OT).
The Python 1.6 License FAQ may clarify some of these issues for you. CNRI owns the code that Guido and I and our co-workers wrote at CNRI -- and they have decided to release Python 1.6 with a license that RMS has an issue with.
The specific issue is that RMS believes that the clause in the Python license that says the contract is governed by the laws of Virginia is incompatible. The lawyers are still working on this one...
You can find even more information in the license-py20 mailing list archive. The most recent post from Bob Weiner, BeOpen's CTO, says:
We are doing a lot of work at BeOpen with CNRI to get them to allow the GPL as an alternative license across the CNRI-derived parts of the codebase. Bob Kahn of CNRI seems to dislike the GPL so he has been against doing this as part of a CNRI release but potentially has been amenable to allowing it to be done by BeOpen in a derivative release. We shall see in the next week whether or not this is true and will let everyone know how it goes. We at BeOpen want GPL-compatibility and have pushed for that since we started with any Python licensing issues.
-
Re:Python and objects
Filehandles, for instance, are by definition objects, so you would be hard pressed to get any input or output. I also find it difficult to imagine a program of any complexity that didn't go through the sys. or os. hierarchies.
Okay, point conceded in that sense
:) I wasn't thinking about the way modules, namespaces and files are treated as objects.That aside, it was my understanding back when I was working with Python on a regular basis that objects underlie everything in Python, whether or not you use their object-ness in your programs.
See here for more info - function objects, code objects, type objects, stack frame objects, traceback objects etc. etc. They're not really visible unless you're trying to use them though.
But on closer inspection, I see what you meant
:) -
Re:Simple solution - don't use it
-
Re:Offtopic, I know, but ...How do you even get started doing 3D stuff? Both still images and animated 3D? I'm looking for cost-free stuff that isn't cripware to get started. I have a very strong math/physics background, so I have no problem describing equations of motion, but I haven't the faintest as to how to get started.
It depends. If you want to program still and animated 3D graphics, then you have quite a few choices. Here are a (tiny) subset of the ones I know:
- Here is a series of accessible tutorials on the mathematics and implementation of 3d graphics
- OpenGL is the API of choice for most platforms. Simple, clear and easy to understand. It does assume that you know what the basics are though.
- Mesa is a free workalike implementation of OpenGL for most platforms. Reading the source to the included demos is a good way to start learning.
- Python is a very good language with OpenGL bindings with which to start messing around. If C and C++ seem too tedious just for experimenting then try PyOpenGL. Python itself can be learned in a weekend after which the GL module is there to play around with.
If you're not interested in programming - just modelling and creating then check out:
- Povray - a flexible raytracer
- Blender - a modelling, animation and sequence editing suite
- Some examples of what is possible
All of these tools and references are free and work on Windows and Linux alike.
Also, how prohibitive is the hardware for this kind of thing?
All you need is a resonable midrange PC and a decent accelerator. A hardware-accelerated graphics card on your platform is a must to view complex 3D graphics at any kind of framerate. Vendors with good Linux support include include Ati, nVidia, Matrox and 3Dfx.
-
Debian and Python licensing
(The following was posted to debian-devel.)
I argue that Debian needs to clarify immediately with copyright holder CNRI the
licensing of Python 1.5.2--whether CNRI considers the 1.5.2 license to be valid and
whether CNRI intends for 1.5.2 to be distributed with that license.
1) It's the safe and prudent thing to do.
The copyright files in Python 1.5.2 list Guido van Rossum as the author, but he had
signed over copyright to CNRI when he started working for them.(1) The copyright files
only list the dates 1991-1995, a decision http://www.python.org/doc/Copyright.html
says was "deliberate", and do not list CNRI as the copyright holder. Guido's
announcement of 1.6b1 includes the phrases "never placed a CNRI-specific license on the
software" and "clarify the licensing".(2)
Tim Peters has said "CNRI claims that the existing (CWI) Python license isn't a valid
license, and while that claim makes little sense to me I'm not a lawyer"(3) and
speculated "If CNRI claims they released software without a valid license, the legality
of using 1.5.2 and 1.6a2 is muddy... Since it seems very unlikely they'll agree to say that
the CWI license is valid, perhaps they could be persuaded to promise not to press any
claims based on the presumed invalidity of the CWI license excepting claims against BeOpen
PythonLabs."(4)
Guido van Rossum's announcements and Tim Peters postings could hardly have been
made in a more public manner, in Python's mailing lists and in Usenet's comp.lang.python.
I posted pointers and quotes to debian-legal about a week ago. Debian has said in the
past that releases are not made on a set schedule, they are made when the distribution
is "ready".
CNRI's opinion on these questions is simply unknown. Tim Peters has consistently
been advising in public writings that the copyright holder CNRI needs to be asked.
2) It's the right thing to do.
A policy of always asking the copyright holder when there is any doubt about the
intent of licensing builds trust between Debian and software creators and trust
between Debian and users. Debian's stance on including KDE was made despite the
extreme unlikelihood of any copyright holder suing Debian and despite other distributions'
judgment. Now we have a situation where the copyright holder CNRI has finished
detailed negotiations "to clarify the licensing" with BeOpen over a new license
for Python 1.6b1.
The license included with Python 1.5.2 states that: "Permission to use, copy,
modify, and distribute this software and its documentation for any purpose and without
fee is hereby granted" subject to certain easily met conditions such as retention of
original copyright notices. Yet Tim Peters has written: "The gripe here was that,
since they didn't believe the CWI license was valid, they-- as the copyright
holder --didn't believe we had the right to release a derivative work without a license
they *liked*. As things turned out, it appears the only license they like is the
one they wrote."(5) Now the context of what Tim was talking about was that BeOpen,
Guido van Rossum's new employer, wanted to cleanly get permission from CNRI, Guido van
Rossum's former employer, to avoid any chance of a lawsuit. The copyright holder
CNRI needs to be asked for the users' sake, so that users can know that the license of
software distributed by Debian truthfully reflects the will of the copyright holder.
(1) From: "Tim Peters" tim_one@email.msn.com
To: python-list@python.org
Subject: RE: Questions for Tim Peters
Date: Thu, 3 Aug 2000 02:12:02 -0400
Message-ID: LNBBLJKPBEHFEDALKOLCKELKGNAA.tim_one@email.msn.com
Newsgroups: comp.lang.python
(2) From: Guido van Rossum guido@beopen.com
Subject: Python 1.6b1 is released!
Date: 05 Aug 2000 00:00:00 GMT
Message-ID: cpog381l62.fsf@cj20424-a.reston1.va.home.com
Newsgroups: comp.lang.python
(3) From: "Tim Peters" tim_one@email.msn.com
To: "Greg Ewing" see@my.signature
Cc: python-list@python.org
Subject: RE: The State of Python
Date: Mon, 31 Jul 2000 01:50:53 -0400
Message-ID: LNBBLJKPBEHFEDALKOLCOEBCGNAA.tim_one@email.msn.com
(4) From: "Tim Peters" tim_one@email.msn.com
To: python-list@python.org, "Guido van Rossum" guido@python.org
Subject: RE: Questions for Guido van Rossum (Was: ...Tim Peters)
Date: Sat, 5 Aug 2000 22:25:23 -0400
Message-ID: LNBBLJKPBEHFEDALKOLCKEDCGOAA.tim_one@email.msn.com
(5) From: "Tim Peters" tim_one@email.msn.com
To: python-list@python.org
Subject: RE: Questions for Guido van Rossum
Date: Sun, 6 Aug 2000 02:14:24 -0400
Message-ID: LNBBLJKPBEHFEDALKOLCEEEBGOAA.tim_one@email.msn.com
Sincerely yours,
Henry Jones
-
The reality
This is a hoax. The reality has been leaked millions of times here on slashdot. Here are the real plans for Larry Well's rewrite of Perl.
-
Re:Long-term viability of B2C modelAn open business model like say many eyes = many credit card numbers? Should companies share all their advertising ideas? Should they release "beta commercials" early and often? Has this worked for RedHat? How about Pearl? What are you talking about? For crying out loud, open source barely works in the software world, why would any business want to open up their sales tactics? What does "installing Linux" have to do with open sourcing your business?
You are about as ridiculous as a "let's open source Natalie Portman" post.
-
Re:no vb no no vb
Yeah, the Python 1.6 download page says that Python 1.6 beta1 will be done on July 1, and beta 2 on July 14. It's July 17 now, and the only available download is alpha 2....
./configure
make comment
make post -
Re:securitywhat measures are beeing taken to ensure that VP does not expose *nix to some of the same problems that plauge Windows.
Python has some features that Visual Basic does not have.
- Sam
-
Re:no vb no no vbFrom reading the web page, it doesn't seem as though this is a product to do the same thing as VB. VB is a rapid application development tool, with strengths in database integration. The web page for Visual Python indicates that that it is meant for embedding in your application as a scripting language. (Now, you can already do that in Python itself....for more information look at http://www.python.org/doc/current/ex t/ext.html. What appears to make Visual Python unique is that it provides a uniform interface to the underlying desktop environment. So, if I interpret their web page correctly, a script would have QT widgets if the user had KDE. However, that same script would have GTK+ widgets if the user was on GNOME.
I suppose you could do application development using the Visual Python environment, however, if I may quote an answer to the question "What's the relationship between Visual Python and PyQt/PyKDE?" from the Visual Python FAQ: They are intended to serve different purposes. PyQt/PyKDE (and I guess the same applies to GNOME-Python) are intended to be used by developers to create full-blown applications in Python rather than C++. Developing the GUI is an important part of this development. Visual Python is intended to be used by end-users who just want to get a job done quickly and the last thing they want is to spend lots of time having to write GUI code.
Speaking of Python, does anyone know what's up with Python 1.6^H^H2.0? A while back, python.org had said that version 1.6 would be out on June 1. Then there was an announcement, mid-June that it would be delayed. Then at the end of June, this link was placed on python.org, and it was stated that the Python interpreter, version 1.6, was renamed to 2.0, and the first beta would be available on July 1. Now, on July 17, that link has been removed from python.org (although the webpage still exists), and the release schedule is gone!
./configure
make comment
make post -
Re:no vb no no vbFrom reading the web page, it doesn't seem as though this is a product to do the same thing as VB. VB is a rapid application development tool, with strengths in database integration. The web page for Visual Python indicates that that it is meant for embedding in your application as a scripting language. (Now, you can already do that in Python itself....for more information look at http://www.python.org/doc/current/ex t/ext.html. What appears to make Visual Python unique is that it provides a uniform interface to the underlying desktop environment. So, if I interpret their web page correctly, a script would have QT widgets if the user had KDE. However, that same script would have GTK+ widgets if the user was on GNOME.
I suppose you could do application development using the Visual Python environment, however, if I may quote an answer to the question "What's the relationship between Visual Python and PyQt/PyKDE?" from the Visual Python FAQ: They are intended to serve different purposes. PyQt/PyKDE (and I guess the same applies to GNOME-Python) are intended to be used by developers to create full-blown applications in Python rather than C++. Developing the GUI is an important part of this development. Visual Python is intended to be used by end-users who just want to get a job done quickly and the last thing they want is to spend lots of time having to write GUI code.
Speaking of Python, does anyone know what's up with Python 1.6^H^H2.0? A while back, python.org had said that version 1.6 would be out on June 1. Then there was an announcement, mid-June that it would be delayed. Then at the end of June, this link was placed on python.org, and it was stated that the Python interpreter, version 1.6, was renamed to 2.0, and the first beta would be available on July 1. Now, on July 17, that link has been removed from python.org (although the webpage still exists), and the release schedule is gone!
./configure
make comment
make post -
Re:Isn't this a bit useless?
Um, I've never used Python (I have issues with the block syntax), but I think most users of it would seriously protest against your classification of Python as a "web scripting language". In fact, by reading the What is Python? page over at www.python.org, I get the impression that Python is "an interpreted, interactive, object-oriented programming language". See? Nothing about it being specifically for the web there...
-
Re:Isn't this a bit useless?
Um, I've never used Python (I have issues with the block syntax), but I think most users of it would seriously protest against your classification of Python as a "web scripting language". In fact, by reading the What is Python? page over at www.python.org, I get the impression that Python is "an interpreted, interactive, object-oriented programming language". See? Nothing about it being specifically for the web there...
-
Dev time would take a hit.
Assembler has become somewhat of a black art, even amoung hackers and Real Programmers (tm). As a scientest I can't deny the need for FORTRAN like functionality (Numerical Basing), or C-like flexibility. But what I will say is this: I see languages out there that I'd much rather use if they were slightly different. Python is a key example. Unfortunately it's way to slow for my needs at present, but I've had a vision.
In the future, a new language will emerge that will combine the power of C with the syntax of Python. It will be called "Sheep". Sheep will be a portable assembler attempt in line with what C is trying to acheive, but much cleaner and more readable.C fans won't like it, but reasonable people will see the advantages of using Sheep to reimplement a lot of their software. System level software especially will benefit from be reimplemented in Sheep due to the far shorter development times it will produce.
C will seem like quite a laughable language in comparison. Microsoft will jump on the bandwagon and release Visual Sheep, but they won't move their existing codebase over from VC++ because of the sheer bloat of it. gcc will be coming out with a sheep compiler, gsp, (or something similar), in a few months. Java will be totally replaced as well, because if you think about, who needs an interpreted (bytecode interpreted then, whatever) WORA language, when there's a compiled language that does away with the #ifdef's of C, yet is faster than C and cleaner than both C and Java?A lot of C fundamentalists (some Open Source gurus amoung them) will protest and insist on keeping C as the official language. A new open source Operating system, a system written mostly in Sheep, including most of the kernel, will replace Linux and FreeBSD because of their lack of support (and by support I mean, rewriting all of their software in Sheep, including the kernels).
This new system will mostly be a clone of BeOS, but because of the better language, it will surpass BeOS is every way - and truly bring Open Source to the masses. It will combine the best elements of BeOS with the best elements of FreeBSD and Linux. A system that, while having a very smart GUI, will not be dependent on that GUI for normal operation, and will also be totally multiuser. C compatibility libraries, written in Sheep, will exist to make the transfer easier, but once reasonable developers start writing in Sheep, they will be sickened by the thought of going back to C.Hope you've enjoyed this look into the future
:-) -
"In" Languages, and languages of the future.
These MS languages aren't the "in" languages of the day. The "in" languages over the next few months will be Python and Squeak
In time I think that the fascination with Python and Squeak will disappear though, and a new language will emerge that will combine the power of C with the syntax of Python. It will be called "Sheep". Sheep will be a portable assembler attempt in line with what C is trying to acheive, but much cleaner and more readable.C fans won't like it, but reasonable people will see the advantages of using Sheep to reimplement a lot of their software. System level software especially will benefit from be reimplemented in Sheep due to the far shorter development times it will produce.
C will seem like quite a laughable language in comparison. Microsoft will jump on the bandwagon and release Visual Sheep, but they won't move their existing codebase over from VC++ because of the sheer bloat of it.gcc will be coming out with a sheep compiler, gsp, (or something similar), in a few months. Java will be totally replaced as well, because if you think about, who needs an interpreted (bytecode interpreted then, whatever) WORA language, when there's a compiled language that does away with the #ifdef's of C, yet is faster than C and cleaner than both C and Java?
A lot of C fundamentalists (some Open Source gurus amoung them) will protest and insist on keeping C as the official language. A new open source Operating system, a system written mostly in Sheep, including most of the kernel, will replace Linux and FreeBSD because of their lack of support (and by support I mean, rewriting all of their software in Sheep, including the kernels).This new system will mostly be a clone of BeOS, but because of the better language, it will surpass BeOS is every way - and truly bring Open Source to the masses. It will combine the best elements of BeOS with the best elements of FreeBSD and Linux. A system that, while having a very smart GUI, will not be dependent on that GUI for normal operation, and will also be totally multiuser. C compatibility libraries, written in Sheep, will exist to make the transfer easier, but once reasonable developers start writing in Sheep, they will be sickened by the thought of going back to C.
Hope you've enjoyed this look into the future :-) -
Re:Anime is cartoon child pornYou realize you are just splitting hairs here. You sound like ESR trying to force cracker on everybody instead of hacker. Hentai is simply a subset of Anime, but it is anime none the less. Sorry but movies about tentacles raping 15 year old girls is kiddie porn. Have you ever seen Kekko Kamen? That is some disgusting pedophilia.
-
Re:What's wrong with that?
Boy, the GPL certainly seems to be essential, given that there are no free software projects that have survived without it, and certainly no major ones.
Python looks healthy enough to me... -
crypto mini-howto
There are several issues here: peer review, architecture, algorithm and implementation.
Peer Review: At each step in the process (architecture, algorithm, and implementation), you should publish your ideas for criticism by experts. slashdot, Advogato, the Cypherpunks mailing list, sci.crypt, and the Crypto++ mailing list might (or might not) be good places to find such people.
Architecture: You should do a public key architecture where every participant has a public/private key pair and the public keys are used to sign and encrypt symmetric keys that are then used for encryption and authentication of messages. There are three feasible architectures for public key distribution. You have to choose one based upon your threat model. Almost all realistic threat models should be handled using the first option: "opportunistic public key distribution". If you don't have a threat model in mind at all then you might as well use the first option. If you do have a threat model which precludes using the first option then I'd like to hear about it -- you must be doing something very interesting indeed.
- Option one: "opportunistic public key distribution". The first time any pair of people talk to one another, they exchange public keys in an un-authenticated exchange. (Also: you could just do Diffie-Hellman key generation here.) After that, they remember each other's public keys for future use. This is susceptible to an active attack (a "Man In The Middle Attack"), during the first step (though not afterwards). However the cost to the attacker of executing a MITM attack is probably far more than the payoff. This depends on your threat model.
- Option two: make it the user's problem; Each user decides whether to use a given key to talk to another user or not. This is the user interface nightmare that single-handedly prevented strong crypto from becoming standard in e-mail, but for a few applications it might be the right thing.
- Option three: hardcoded; Generate key pairs yourself and include them in the application. For example if you are going to have a single central server in your system which you operate then you can generate a key pair for it, put the secret key on the server, and put a copy of the public key into each copy of the client (e.g. include the public key hardcoded into the client source code). This doesn't work as well if you want to distribute copies of your server for other people to operate, but refer to "Option one"...
Algorithm: You probably just want Triple-DES and RSA (after September of this year, when RSA becomes free of patents) or else Triple-DES and Diffie-Hellman. It should be easy to switch to a different symmetric cipher later after the new ones have been peer-reviewed and tried by fire, but for starters you want the old standbys that have already withstood the test of time. They will be fast enough for you at first and if you need more speed later you can switch.
Implementation: Your first choice should be to use an extant implementation. Don't try to implement it yourself no matter how simple it looks. Satan's Computer is deceptively subtle to people who are used to hacking Murphy's Computer.
I prefer Wei Dai's Crypto++ library, but that is because I'm doing complex non-standard crypto tricks. If you just want simple "encrypt/authenticate a stream" functionality then use a TLS implementation like OpenSSL. By the way, if anyone wants to make Python wrappers for Crypto++ (possibly with the aid of Swig) then I would love to hear about it!
Okay that's my advice. Specific pitfalls to avoid are: skipping peer-review, trying to design a generalized perfect public key architecture to handle all possible threat models, using a newfangled or non-standard algorithm ("In open source hackery, newfangled is good. In crypto, not."), and implementing it yourself instead of using a library.
Please direct all flames and accolades to: zooko@schowto.mad-scientist.com
-
Re:Constant release model?Eric Raymond, in his landmark Cathedra l and the Bazaar , which lead directly to the start of the Open Source Revolution, wrote so much, and am I to believe that you are more knowldgeable than the inventor of Open Source?
I beg to differ. The true father of the Open Source Revolution is none other than Richard M. Stallman. ers is nothing but an outcast, a reject, with inferiority syndromes because his contributions were not of high enough quality to be included in the allmighty emacs
.OSS programmers make fewer, if any, mistakes than their commerical counterparts, and scientific studies have backed this up.
Agreed. Only I would have chosen the British spelling: commercial.
Fetchmail is a very sucessful Open Source Projects which from Eric S. Raymond. I use it all the time.
But isn't emacs a much better example? It allows you not only to fetch mail, but to read it as well. Furthermore it allows you to read news, compile and even execute programs, play games and it is self documenting too! I hope you see the error of your ways and are more careful in the future when choosing who you listen to.
I'm just hoping they'll become interested in NetBSD!
Aha! Another indication of your ignorance, although I do not blame you. You have clearly been misguided by that blasphemous esr.
As the wonderful Richard M. Stallman says here NetBSD has numerous problems with its license, including even advertising clauses! Well, so much for Open Source Software.
Thank you.
-
It's just not the same without the "you know"'sNo, this won't do at all. Courtneey Love's speech is articulate and reasoned, whereas, as a loyal slashdot reader, I am used to getting my music piracy analysis from illiterate, inarticulate, long haired greasy halfwits who couldn't fall down a flight of stairs without missing at least half a beat. Could someone please write a "Lars-o-matic" program to insert "you know" and "well" and "um" every third word in order to bring some sort of sanity back to arrangements.
I must point out that I am not volunteering to do any such thing myself, merely adopting the "open Source" style of development by whinging about it in the hope that somebody else will. I certainly have no intention of learning Perl or any similar abortion of a line-noise emulation language (that's link, by the way, motherfuckers, so moderate me informative.
In conclusion, fuck you all.
--if only more people were more like streetlawyer.
-
A better reference for the language wars
Lutz Prechelt's preprint An Empirical Comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a Search/String-Processing Program (available in ps and pdf only)
See http://python.org/doc/Comparisons.html for a refreshingly unbiased, given that the source is one of the languages in question, selection of similar papers.
-
Re:Python web tools?
Take a look at the Python Web Programming Topic Guide. If that doesn't provide you with the answers you need, try asking your question on comp.lang.python.
-
Re:Python 3000?
The design stage for Python 3000 isn't exactly started at this point
:-). Given that uncertainity, I do not expect that any changes introduced by Python 3000 will be so radical that you will need to re-learn Python programming. If you learn Python, you should not have any trouble adjusting to Python 3000.There are good books and tutorials available for Python. The Python tutorial that comes with the documentation and books like Learning Python and The Quick Python Book are good places to start. They were written before Python 1.6, but there aren't too many changes; certainly not many that will affect teaching materials.
I don't know what will change in Python 3000, but I can tell you a little about what we hope to achieve. We would like to take the opportunity to fix some of the language's warts without being hamstrung by backwards compatibility. I think the language has few warts, though, so there should be few changes. Andrew Kuchling put together a list of language warts that captures the sort of thing we'd like to fix.
The internals of Python 3000 will change a lot, and the C API will surely be different. The internal changes are not going to cause a lot of monkey with the language definition.
-
Re:Python 3000?
The design stage for Python 3000 isn't exactly started at this point
:-). Given that uncertainity, I do not expect that any changes introduced by Python 3000 will be so radical that you will need to re-learn Python programming. If you learn Python, you should not have any trouble adjusting to Python 3000.There are good books and tutorials available for Python. The Python tutorial that comes with the documentation and books like Learning Python and The Quick Python Book are good places to start. They were written before Python 1.6, but there aren't too many changes; certainly not many that will affect teaching materials.
I don't know what will change in Python 3000, but I can tell you a little about what we hope to achieve. We would like to take the opportunity to fix some of the language's warts without being hamstrung by backwards compatibility. I think the language has few warts, though, so there should be few changes. Andrew Kuchling put together a list of language warts that captures the sort of thing we'd like to fix.
The internals of Python 3000 will change a lot, and the C API will surely be different. The internal changes are not going to cause a lot of monkey with the language definition.
-
ConspiracyFrom this page, I see that Guido's fiance is into verious martial arts. I just wonder if there's some kind of conspiracy going on with these northern european open source creators with wives who can kick butt...
Oh yeah: Python rocks! Finally, a read-write language!
--
-
Scientific computing linkAnother useful link: the Scientific Computing topic guide at python.org.
I work on a semiconductor-related project, and it's amazing how poorly written the fabulously expensive layout tools are. Take L-Edit as an example; the interfaces are ugly and poorly designed, the software quality is doubtful (it dumps core when you try to run it on a 16-bit X display). A free version, written to modern standards, would have a serious chance at winning out over the commercial stuff, or at least provide them with some competition.
-
Re: 1.6 curses moduleOnly alphas of 1.6 have been released; things aren't at a beta stage yet.
This week I checked in a relevant change; the old curses module has been replaced with a greatly expanded version that provides many ncurses features, such as colour. This means that you can no longer use the module with BSD curses implementations, but everyone has switched to SYSV curses (which is what ncurses implements), so there's no great loss except for people on really ancient platforms. The Curses HOWTO might help, though it needs extensive updating for the new module.
-
Re:Python
I agree that Python is *the* language to learn. From there, add C, and then anything else as necessary.
As to where to start, go with the simplest of programs at first-- it doesn't need to have an integrated MP3 player to be useful. Python runs on lots of POSIX machines, and has a win32 version. there's also a version that compiles python code to java byte code called JPython.
python home page
current python documentation -
Re:Python
I agree that Python is *the* language to learn. From there, add C, and then anything else as necessary.
As to where to start, go with the simplest of programs at first-- it doesn't need to have an integrated MP3 player to be useful. Python runs on lots of POSIX machines, and has a win32 version. there's also a version that compiles python code to java byte code called JPython.
python home page
current python documentation -
Well...
I don't know very much about Python (still making my way through Learning Python), but I remember they talk a bit about the cmd module, which is basically a menu-driven interface framework. You supply callbacks, and then run a main loop. (This probably isn't exactly right, see the online Python docs for details).
Hmmm.. Python 1.6 betas are out now, I see. Yummy. :) -
Start them off right: Python or Smalltalk
Two languages which are great for kids are Python and Smalltalk. They are both languages with the intent of making computer programming accessable to anyone who might want to program. They're both Object Oriented (Python still allows procedural programming though). Why does that matter? Studies have shown that teaching kids OOPL as a first language makes it easier to switch to or decide to use a procedural language, while those first taught a procedural language like Pascal or C, have a much harder time picking up on the ideas of Object technology.
I personally would stray from teaching them VB, Delphi, or C++. VB and Delphi can produce visual results fast, but teaching Python or Smalltalk could help them get a real handle on what's going on. C++ is simply too complex that it'll just muddle them up, and probably make them bitter little programmers.
Not to start a language/paradigm war, but do your kids a favor, and don't default to teaching them a structured or procedural language like BASIC or Pascal, two typical teaching languages. Like many others, I learned BASIC first. But the fact of the matter is, BASIC was designed back in the day when as a beginner's language, when what you moved on to were Fortran and COBOL. While Fortran and COBOL are still in use today, they're nowhere near being truely modern languages. Pascal would lead to C. I reccommend Python and Smalltalk because they're both comprehensible by kids, but usable in real applications by adults (or kids too, for that matter!).
You can find Python here, and Squeak Smalltalk here. Others have mentioned Alice -- Squeak Smalltalk includes a 3D system like Alice as well, where you can program and intereact with 3D objects. It's a lot of fun! :) -
Consider AliceTake a look at the Alice project. It's a 3D, interactive programming environment.
Plus I'll throw in another vote for Python and its Computer Programming for Everyone project.
And it turns out that Alice and Python work together nicely. Hooray for your kids!
-
Python
I can't say enough about this programming language. It's relativly straight forward, runs on most platforms, and best of all it's free. There are some good python books out as well. But I can't think of a better way to get a newbies feet wet than this. Python. Good luck and happy coding.
-
LOGO, BASIC, PythonWell, like most folks here, I started my "real" programming with Applesoft BASIC. But, before then, I used LOGO, and I think it really helped me get started.
Python (which is a great, great language) is making a big "Computer Programming For Everybody" (CP4E) push, and you can check out their education special interest group right here. I think it would probably be more appropriate for 7th-12th graders, though.
You can actually find a decent amount of material on Python for education here as well. One great thing about Python is the ease with which you can develop GUIs without using GUI builders. Not that there's anything wrong with GUI builders, I just question whether they're helpful for beginning programmers, who end up spending more time learning the interface of the particular IDE, rather than learning to program.
--JRZ -
You might consider Alice
To quote:
Alice is a 3D Interactive Graphics Programming Environment for Windows 95/98/NT built by the Stage 3 Research Group at Carnegie Mellon University. The Alice project is a public service to the wider computing and artistic communities; our hope is to make it easy for novices to develop interesting 3D environments and to explore the new medium of interactive 3D graphics. The current version of Alice authoring tool is free to everyone and runs on computers that are commonly available for reasonable prices. Worlds created in Alice can be viewed and interacted with inside of a standard web browser once the Alice plug-in has been installed.
The scripting language used by Alice is a slightly modified version of Python, a language itself designed to be used by novices.
I don't have a windows box, so I haven't played with it, but it looks like it would be a good, fun way to ease kids into programming.
Corran
-
Learn The Error Of Your Wicked Ways.You are a very poor troll or are a very poor Christian. Maybe you are both, I hope not. Please let me expain to you the error of your ways...
most people that are Christians are not true Christians. They do not attend Church twice a week and pray every night
A 'true Christian' (your term, not mine) would go to Church more frequently than twice a week (how about twice a day?), and would pray more regularly than every night. A true Christian would praise God with everything he says and does.
A place where Christianity is taboo has a much larger proportion of programmers than almost any other website I know of.
Christianity is not a taboo on Slashdot, what rubbish. However, Slashdot is a Linux website and discussions of Christianity would be off-topic. In fact, Slashdot gives a free platform from which Christians (such as myself) are able to air our views. Try Advogato and The Stile Project for even less coverage of Christian issues. You will then realise how tolerant Slashdot is to the discussion of Christianity and Christian issues.
Fourth: a farmhand is likely to have grown up in Middle America, a place of strong moral fiber, and to be free from many of the evil influences that the city brings.
Utter nonsense, trollboy. Middle America is a place of very poor moral fibre - it is an inherently racist region and a region ruled by violence. Guns (the tools Satan uses to turn man against his fellow man) are widespread in America, and the majority of Americans worship the ideals of consumerism rather than God. It is down to individual choice whether or not to follow Evil, and in this respect no region is better than any other. As far as "evil influences" of cities, surely cities have more churches per area than small less densely populated villages, therefore cities are intrinsically holy?
Most people with a Computer Science degree are lucky to remain with the slightest few sheds of religion that have not been indoctrinated out of them.
Hello? Computer Science degrees make no attempts influence people's religious views. While they may indoctrinate people that Python is better than Perl, Solaris is better than BSD, vi is better than EMACS and Microsoft is better than everything put together, these are not religous arguments. They are trivial.
Please, think before you post next time.
-
an ex-Perler now using Python
For a long time, Perl was my language of choice.
Its regular expressions are excellent, and its syntax is very nimble. However, there are various design flaws (such as lists not being intrinsically nestable without using a lot of ugly reference kludges). Perl's object orientation is somewhat of an afterthought. Also, because of its flexibility of syntax, Perl encourages unstructured coding.
A few months ago I looked at Python, and after going through the tutorial, I was hooked. It really is a much more elegant language for programming. Also, it has a first-class collection of classes and utility functions.
These days, I use Perl for writing short text-processing hacks and the like, and Python for anything larger, which includes most CGIs. -
Re:Using C++, but open to (constructive) suggestio
Another poster suggested Python, and I would like to agree with that suggestion.
On NT, Python can access any COM object that you can script with, say, Visual Basic. Since nearly every application on NT is also accessible via COM, this opens many possibilities.
On NT, Python also includes the ability to talk to ODBC data sources. I believe there is direct access via ODBC class libraries. If not, you can definitely use the ADO COM objects (I have done this to access SQLServer).
Python has good access to system calls on whatever platform it is running on via its rich class libraries. This is also the case with NT.
Python has a CORBA ORB, called FNORB, available that should be able to interoperate with Visibroker.
Check out www.python.org for more information about Python. There is a link from the main page to Mark Hammond's extensions to allow Python to run on Win32. You need to get two things for this: the base Python package for Windows, plus a package of extensions.
Finally, Python is undergoing a transition from the current version (1.5.2) to the new version (1.6) due out by the beginning of June. Any 1.6 stuff you see will be alpha/beta quality code.
Best of luck to you. I hope you find Python as enjoyable to work with as I have! -
What about the children?
Interesting points. But I feel that while PHP may be a good language, it has origins that I feel are somewhat suspect and disqualify it from any serious use in my web applications.
What, for example, is the name supposed to imply?
That this language is so far removed from reality that nothing will affect it?
That this language will give you feelings of strength, power, and invulnerability?
That this is a "supercharged" web scripting language that will stop at nothing to achieve whatever delusional whims you set out for it to accomplish?
That this language will put some real "rocket fuel" into your dotcom enterprise, even more so than, say, small investments from an angel? (Which would be "angel dust", no?)
Let me ask you, then - what kind of message does this send to our children? I have a twelve year old daughter who wants to be a webmaster, and she came home from school the other day and asked me about PHP. What am I supposed to tell her? That it's ok to use it professionally, but not recreationally? Only if you're putting up a website? Please -- we all know that that's the long slide towards addiction, a mad quest for the drug, and finally going broke and living under an overpass with a 40 oz. bottle of Old English, begging money from passing strangers and carrying on extensive conversations with crows, pigeons, and skinny, mangy rats.
Somebody needs to take a hard-line stance against this language and make sure that it spreads no further. Why can't people use sensible, wholesome languages such as Perl, Python, ASP, and TCL?
Next time, before you go and create a scripting language with dubious moral intent: think about the children. Please. -
Re:Bleh...
On top of that they pick Python, which is probably the only language they could pick that I have absolutely no knowledge of
:-)So take an afternoon and learn it. www.python.org
Seriously, if you've programmed in any other language you'll pick up Python in no time. Plus, you'll be glad you did.
-
For portability
If you want to have generic development tools available on any platform, these tools will be needed.
And the choice of Python is because of its portability.
Now that portability question if very important as far as you want to let everybody produce its own software or free software, even if you didn't live in a Unix world...
Have a look at Computer Programming 4 Everybody for a little more info on that subject. -
Python with htmlPARSER module
I used this a while back to generate pages from a template for a project where I work. You'll have to to a little work (write some Python code saying what variables to substitute with what), as well as taking a HTML page and making that into a template, but both are really easy and can integrate with the web via CGI (or Zope) really well.
You can find htmlPARSER here, and Python here. -
Who cares ?Einstein (and others) proved that time travel is an impossibility, and we can never travel faster than light. (because we would explode, or something) Given these facts, I have to wonder what is the point of this service ? And indeed what is the point of Astronomy period ?
I mean, supposedly these Astonomers can predict the future by looking at the stars, but I don't see how 1/12 of the worlds population can have the same future, so I think they are con-artists. In fact sometimes my horoscope is so far out it is almost the opposite of what happened to me.
Given the fact we can never visit the places we are looking at through the telescopes (indeed some of them have ceased to exist by the time the light reaches Earth) it seems to be a total waste of time. Why not spend the money on looking into the deep oceans of planet Earth. At least that exists right now.
It worries me somewhat that the government appears to be funding research into the pseudo-science of Astronomy, while there are legitimate astrologers out there doing real useful research (Hubble, Mars polar lander) and not making outrageous claims of predicting the future, who are underfunded. I'd like to see a more intelligent allocation of these resources.
Finally am I the only one who thinks this is all a bit arrogant of mankind to try and understand the mystical workings of the universe which is likely to be beyond his comprehension anyway ? Its like trying to find the meaning of that 2-week old perl script you wrote one morining at 3am wired up on caffiene and pizza. You know you are going to fail.