1. Re: Python ... long .. includes Ray's rantings! :)
- Posted by Ray & Debbie Smith <smithr at IX.NET.AU> Aug 27, 2000
- 514 views
A couple of omissions you left out of your Python list David: 1. Python is open source, 2. Euphoria is much faster than Python 3. Python is an OO Language. ...anyone interested in my rantings can read on ... everyone else press "delete" now! 1. Python is open source - This has a far deeper consequence then just forking out 50 bucks to use the full system. Firstly anything "free" attracts people like flies to s??t. Put simply everyone wants a free lunch. Open source languages like Ruby, Perl and Python generate much more interest for that fact alone. Secondly there are many developers advancing the language. I don't know the full details but I believe the major designer of the Python language (plus a couple of people) have been employeed (or maybe just sponsered) by BeOS. What "I think" this means is that there are full time developers working on an open source language. Must be a good thing! I don't know the full details but I "beleive" there now is commercial backing for Python. I was just thinking the other day .... Imagine if Euphoria was open source and Pete (or a group of people) linked the Allegro games programming library for Dos, Window and Linux. What an awesome cross platform games programming language you would have!!! Then imagine if David (or a group of people) where working on linking Euphoria with wxWindows for Win32 and Linux (as far as I'm aware wxWindows doesn't have a dos port???). What a fantastic language you would have!!! Imagine that there where BeOS, MAC and other variants of Unix users who had interest in Euphoria and where porting Euphoria to these platforms. (OK all this work is probably 10 people years work and even a team of programmers could take years to develop if completely but I beleive other open source offerings show that it is possible) As good as Euphoria is, and as good of a programmer Robert is, the fact is it is proprietary software being developed by one person. It will never be able to compete with group efforts. Thirdly, "business" people need re-assurance that investing time and money developing programs in a particular system won't at some point in the future be worthless. OK, no one wants to imagine the worst but if anything bad happened to the guru Euphoria Wiz Rob, Euphoria is practically dead. I would have to take my shoes off to count the number of times I've heard the "run over by a bus" scenario when managers are making decisions (and it's a valid reason). 2. Python currently is very much slower than Euphoria. Is Euphoria the fastest scripting / interpreted language ever seen? (I guess maybe Perls string manipulation routines would give Euphoria a run for its money. I assume Euphoria achieves its speed because of its simplicity?? (and of course good programming techniques!) 3. Python is object oriented. I'm not much of an OO programmer but doesn't the fact that every major player in todays language market is OO based (at some level)? Just look at the list ... C++, Python, Perl, Ruby, Java, C#, Delphi, even Visual Basic implements some basic OO with rumours of the VB7 going a lot futher. In defense of Euphoria, I was very frustrated with Euphoria about 18 months ago, when I went through this above list. So much so I gave Euphoria away. And people did explain to me what Euphoria is all about. Euphoria isn't competing with all these languages listed above. It isn't even competing with all the features listed above. Euphoria isn't going to get you that 100K a year job. Correct me if I'm wrong .... Euphoria is fun!!! Isn't that it? I'm pretty sure Rob likes designing and coding software??? I don't think he would enjoy heading up an open source project consisting of a development, testing, documentation and marketing teams. I know for sure I wouldn't! Where is the fun in that? ... I was going to end off by saying ... thats my two cents worth, but if anyone has read this far I should be paying you a few dollars for your effort to get this far! Regards, Ray Smith ----- Original Message ----- From: Cuny, David at DSS <David.Cuny at DSS.CA.GOV> To: <EUPHORIA at LISTSERV.MUOHIO.EDU> Sent: Saturday, August 26, 2000 10:51 AM Subject: Python > Every now and then, I like to scope out the 'competition'. C and C++ hold no > charms for me; Java makes my grumpy, and Perl gives me a headache. But > Python is a different matter... > > Yes, I know that using indentation instead of proper delimiters is only > inviting trouble, but darn it, there are so many *nice* things about the > language, like: > > >>> 'x' + word[1:] > 'xelpA' > > which is akin to the oft-requested: > > "x" & word[2..] > > although I personally prefer: > > "x" & word[2..len] > > There are a number of other 'clever' things that are done using negative > indexes and such, but I'll skip them here. After all, I'm not trying to > write a Python tutorial. You can always go to: > > http://www.python.org > > and check out the tutorials yourself. And I'll also gloss over the fact the > Python strings are immutable. > > Now, I know that a that I could just to write a nice set of string handling > routines, since these are just clever implementations of BASIC's left$, > right$ and mid$ functions. Perhaps I might even grant that 'clever' makes > unreadable code a couple weeks down the line. I almost convince myself, but > then I read: > > "Degenerate slice indices are handled gracefully: an index > that is too large is replaced by the string size, an upper > bound smaller than the lower bound returns an empty string." > > Euphoria's handling of degenerate slices has always been one of my pet > peeves. And Python also has some neat list handling operators, especially > the item removal notation: > > >>> # Replace some items: > ... a[0:2] = [1, 12] > >>> a > [1, 12, 123, 1234] > >>> # Remove some: > ... a[0:2] = [] > >>> a > [123, 1234] > >>> # Insert some: > ... a[1:1] = ['bletch', 'xyzzy'] > >>> a > [123, 'bletch', 'xyzzy', 1234] > >>> a[:0] = a # Insert (a copy of) itself at the beginning > >>> a > [123, 'bletch', 'xyzzy', 1234, 123, 'bletch', 'xyzzy', 1234] > > Python has namespaces, so writing: > > >>> import fibo > > imports a module; routines in the module are accessed through the namespace: > > >>> fibo.fib(1000) > > If you intend to use a function often you can assign it to a local name: > > >>> fib = fibo.fib > >>> fib(500) > > You can import a list of functions: > > >>> from fibo import fib, fib2 > > Or even all the routines: > > >>> from fibo import * > >>> fib(500) > > Routines that are local to the module are specified by using an underscore. > But Robert already knows all this (and Java, and C++), so I'm sure he'll > take it into account when designing his own namespace solution. > > I won't even go into exception handling and classes. Did I mention that it's > linked to a zillion libraries, including wxWindows? But there are a lot of > things to like about the language. Python is just looking better and better! > > Ok, this isn't intended to be a Python lovefest. What's not to like about > it? > > For one thing, the sheer size of it. I wanted to play around with wxPython, > so I went to download it. First, I need the (several meg large) wxPython > installer. And Winsock 2.0 and OpenGL. But wait, there's more. I need the > core Python download as well (5 meg compressed) and possibly some additional > files. My mind reels when I think about having to distribute an application. > > There's also the dangerous use of indentation to delimit blocks, the slow > speed... Even so, it still looks very, very cool. I wish *my* language were > that cool... > > Yeah, yeah - the feature list is always greener on the other side. Still, I > wouldn't mind a bit if Robert decided to filch a few of them from Python for > us. > > -- David Cuny