Re: Official Language War Thread? - Rails vs.Turbogears.

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Official Language War Thread? - Rails vs.Turbogears.

Jimmy Retzlaff
Alex Martelli wrote:
> On 12/1/05, Deirdre Saoirse Moen <[hidden email]> wrote:
>    ...
> > One of the examples from the above chapter:
> >
> >      ['toast', 'cheese', 'wine'].each { |food| print food.capitalize
}
>
> Sure, but the Python style of coding this:
>
> for food in 'toast','cheese','wine': print food.capitalize()

That's exactly the kind of thing that makes Python my language of
choice... so many constructs allow you to simply read the text and the
English meaning is very close to what you are trying to do. In the above
example, it would be nice if "capitalize" were "capitalized" and there
could be an "each" dropped in there, but it's close enough to English
that nitpicking about grammar is all that remains. This has always been
my hang-up with Smalltalk and now Ruby, the Ruby version reads like a
robot in an old science fiction movie. But it's clear that many people
prefer to think of the constructs as they are presented in Ruby rather
than the English.

I think both of these languages are good enough that it comes down to
which one fits your way of thinking better so that you can spend more
time thinking about the problem domain rather than the language - for me
that's certainly Python.

Jimmy
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Official Language War Thread? - Rails vs.Turbogears.

Deirdre Saoirse Moen
On Dec 1, 2005, at 12:12 PM, Jimmy Retzlaff wrote:

> I think both of these languages are good enough that it comes down to
> which one fits your way of thinking better so that you can spend more
> time thinking about the problem domain rather than the language -  
> for me
> that's certainly Python.

Exactly. For me, it's Ruby, though before I knew Ruby, Python was  
much closer than any other language out there.

--
_Deirdre                                             http://deirdre.net


_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Official Language War Thread? - Rails vs.Turbogears.

Alex Martelli
On 12/1/05, Deirdre Saoirse Moen <[hidden email]> wrote:

> On Dec 1, 2005, at 12:12 PM, Jimmy Retzlaff wrote:
>
> > I think both of these languages are good enough that it comes down to
> > which one fits your way of thinking better so that you can spend more
> > time thinking about the problem domain rather than the language -
> > for me
> > that's certainly Python.
>
> Exactly. For me, it's Ruby, though before I knew Ruby, Python was
> much closer than any other language out there.

...and for me, it's close to a tie (of course, I know Python much
better, but I'm trying to factor out "familiarity", as that would soon
change if I were to use Ruby heavily for a month or two): some Ruby
things (such as calling methods w/o parentheses) irk me strongly (and
familiarity won't change that -- I hated this just as much in other
languages allowing such omission of parentheses, such as Basic and
Perl, even when I used them heavily), but then I also still dislike
some Python things no matter how perfectly I know them (namely,
parentheses being mandatory in the header of a function w/o arguments
BUT forbidden in the header of a class w/o bases -- heavy syntactic
overloading of parentheses and commas -- mandatory colons at end of
head clauses of composite statements)...


Alex
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Official Language War Thread? - Rails vs.Turbogears.

David E. Konerding
Alex Martelli wrote:

>
>...and for me, it's close to a tie (of course, I know Python much
>better, but I'm trying to factor out "familiarity", as that would soon
>change if I were to use Ruby heavily for a month or two): some Ruby
>things (such as calling methods w/o parentheses) irk me strongly (and
>familiarity won't change that -- I hated this just as much in other
>languages allowing such omission of parentheses, such as Basic and
>Perl, even when I used them heavily), but then I also still dislike
>some Python things no matter how perfectly I know them (namely,
>parentheses being mandatory in the header of a function w/o arguments
>BUT forbidden in the header of a class w/o bases -- heavy syntactic
>overloading of parentheses and commas -- mandatory colons at end of
>head clauses of composite statements)...
>  
>

It's been my experience lately that more and more languages are starting
to look a lot like Python.
Or rather, there is a semi-consensus on syntax which is shared among
several dynamic and statically typed
languages, with obvious commonalities in defining methods, signatures,
complex data types, etc, and Python is established within that
consensus.  Most days, I can move between Java, C++, C# and Python
without having to think too hard (mainly because we don't use
any syntax features which are unique to any of the languages).  I call
this type of programming style "C without pointer crap".

I'm pretty happy with Python syntax, although I think there are too many
languages features added recently (list comprehensions and directors)
which give me pause because they don't jibe with the basic philosophy of
readable code and principle of least-surprise.

Perhaps in a few more years somebody will converge all the desireable
features of this language subset into a new language which "gets it
right from the beginning" (functionally oriented, dynamically typed but
with conventions to allow programmers to specify static behavior,
self-consistent standard library
and we can all go back to being productive programmers rather than
arguing over which language is best :-)

Dave
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Official Language War Thread? - Rails vs.Turbogears.

Sam Penrose
See also:

http://www.acmqueue.org/modules.php?name=Content&pa=printer_friendly&pid=247&page=1

>From a Pythonista, IIRC.

> Perhaps in a few more years somebody will converge all the desireable
> features of this language subset into a new language which "gets it
> right from the beginning" (functionally oriented, dynamically typed but
> with conventions to allow programmers to specify static behavior,
> self-consistent standard library
> and we can all go back to being productive programmers rather than
> arguing over which language is best :-)
>
> Dave
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Official Language War Thread? - Rails vs.Turbogears.

David E. Konerding
In reply to this post by David E. Konerding
David E. Konerding wrote:

> Perhaps in a few more years somebody will converge all the desireable
>
>features of this language subset into a new language which "gets it
>right from the beginning" (functionally oriented, dynamically typed but
>with conventions to allow programmers to specify static behavior,
>self-consistent standard library
>and we can all go back to being productive programmers rather than
>arguing over which language is best :-)
>  
>

A few addendums to this:

1) when I recently read the C# introduction, I get very, very scared,
since I found myself having a very hard time taking issue with any of
their design decisions wrt to OO.  I assuaged my fear by realizing C# is
a static language (albeit one with a complete parser and compiler built in)

2) after playing with IronPython and the .NET API for a while I found
myself preferring the .NET API for achieveing pretty much everythign in
the CPython standard library (and enjoying the raw speed of the CLR
compared to the CPython VM).  I am now stuck in a very difficult state:
I have a great deal of legacy C code that interfaces with the CPython
interpreter and I'd have to rewrite all the interfaces, and I have lots
of code that uses parts of the standard CPython library but which will
probably not be implemented in IronPython.

It makes me wonder; if IronPython covered the CPython standard library
completely, wrapped the CPython extension system so that
my existing _whatever.so's and _whatever.dlls could be used without
recompilation, and Mono implemented enough of the .NET library that all
my existing code continued to work fine, what would I need CPython for?

Dave
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Python Application Servers

Sebastian Jayaraj
Hello,

With all these emails concerning the language wars one of the things
that caught my attention was Turbogears as an application framework. Can
anyone who has worked with python app servers make some recommendations
as to how these compare - TurboGears, CherryPy, WebWare, Twisted, Zope

My needs
1. Security & Session mgmt
2. Easy database acccess/mgmt
3. ability to integrate with third party programs (C, Java)
4. ability to integrate with custom Python libraries
5. XML-RPC support
6. Active development and community support
7. Robust enough for a production environment
8. Rapid development capability (unlike the steep curve one encounters
with Zope)

Incase you have come across anything else that worked well please feel
free to let me know.


Thank you for you inputs!

regards
Sebastian


_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Python Application Servers

Deirdre Saoirse Moen

On Dec 1, 2005, at 3:48 PM, Sebastian Jayaraj wrote:

> Hello,
>
> With all these emails concerning the language wars one of the things
> that caught my attention was Turbogears as an application  
> framework. Can
> anyone who has worked with python app servers make some  
> recommendations
> as to how these compare - TurboGears, CherryPy, WebWare, Twisted, Zope

TurboGears is built on top of CherryPy.

Oh, and you forgot Django. :)

--
_Deirdre                                             http://deirdre.net


_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Python Application Servers

Ben Bangert
In reply to this post by Sebastian Jayaraj
On Dec 1, 2005, at 3:48 PM, Sebastian Jayaraj wrote:

> With all these emails concerning the language wars one of the things
> that caught my attention was Turbogears as an application  
> framework. Can
> anyone who has worked with python app servers make some  
> recommendations
> as to how these compare - TurboGears, CherryPy, WebWare, Twisted, Zope

You'd prolly want to separate those more first, in this case by how  
many decisions were just made for you.

Full-stack framework (Everything decided, from templating, ORM, to  
layout style):
- TurboGears
- Django

Template languages:
- Myghty
- Cheetah
- ZPT
- Kid (used in TurboGears)
(prolly more I missed)

"Controller" framework in MVC:
- CherryPy (used in TurboGears)
- Myghty
- Webware
- Aquarium
- Quoxiote

ORM (Object Relational Mapper):
- SQLObject (well established, used in TurboGears)
- PyDO
- Durus (I think I spelled that right)
- SQLAlchemy (aiming to be the Hibernate of the Python world, still  
beta software)

TurboGears uses the CherryPy session object, Django has its own  
template language, session stuff, and ORM. There's also a Django  
addon to support ZPT.

> My needs
> 1. Security & Session mgmt
> 2. Easy database acccess/mgmt
> 3. ability to integrate with third party programs (C, Java)
> 4. ability to integrate with custom Python libraries
> 5. XML-RPC support
> 6. Active development and community support
> 7. Robust enough for a production environment
> 8. Rapid development capability (unlike the steep curve one encounters
> with Zope)
>
> Incase you have come across anything else that worked well please feel
> free to let me know.

Some of these tools are more tailored for certain environments.  
Django comes out of box with a very slick admin interface for your  
database models, thats production ready for use by staff. Obviously  
that comes with the assumption that your database is mainly content  
management of some sort and you have a 'staff' to use it. Django also  
has batches of 'generic views' which makes a lot of common object  
viewing stuff quite easy and quick.

TurboGears also now has a database model browser, sort of like  
Django's and development work on both projects is proceeding rather  
quickly.

I personally use Myghty, and our corporate website (parachute.com)  
has been running Myghty for close to a year now. Myghty makes very  
few decisions for you, so its expected that you know what you want  
(MVC? page-driven? etc.). Myghty is probably one of the most  
documented Python web frameworks and template languages I've come  
across, though Django and TurboGears are making great strides in this  
area as well. I mention more things about Myghty on my blog at  
www.groovie.org.

If you want the decisions made for you on how to solve the problems  
you mentioned, I'd suggest Django or TurboGears as they both have  
everything on your list of needs. Though I'm not sure how robust they  
are as they're both quite 'new', while the Django people will always  
point to sites 'using Django' that have been up for 2 years, the  
codebase has undergone so much development lately that those sites  
haven't actually been running the code you'd be installing.

Hope that helps,
Ben
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Python Application Servers

Richard Knowles
In reply to this post by Deirdre Saoirse Moen

Hi,

This discussion of Application Servers leads me to ask about an issue I
am looking into.  We have a very simple internal webpage mostly for people
to download company documents(on Apache).  Updating it consists of placing
a new file in the correct directory, and modifying the HTML code directly with good
old vi.   I think this could be a job for a content management server,
especially if it can let the HTML-illiterate place a document on the
server in a controlled-access way.  

Is there something relatively simple and Pythonic using mod_python for
example?  I myself know very little about the topic of content-management.


> > as to how these compare - TurboGears, CherryPy, WebWare, Twisted, Zope

--

Richard Knowles

_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Python Application Servers

Sebastian Jayaraj
Richard,

We have had very good success with Plone. Relatively simple to set up
and easy to teach users. Also check out its inbuilt site search
capability that index documents like PDF, word, etc.

http://plone.org/

-
Sebastian



Richard Knowles wrote:

>Hi,
>
>This discussion of Application Servers leads me to ask about an issue I
>am looking into.  We have a very simple internal webpage mostly for people
>to download company documents(on Apache).  Updating it consists of placing
>a new file in the correct directory, and modifying the HTML code directly with good
>old vi.   I think this could be a job for a content management server,
>especially if it can let the HTML-illiterate place a document on the
>server in a controlled-access way.  
>
>Is there something relatively simple and Pythonic using mod_python for
>example?  I myself know very little about the topic of content-management.
>
>
>  
>
>>>as to how these compare - TurboGears, CherryPy, WebWare, Twisted, Zope
>>>      
>>>
>
>  
>



_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Python Application Servers

Giles Bowkett
In reply to this post by Richard Knowles
I think this sounds like a job for Zope, but I couldn't really say for
sure. I've actually written a bunch of systems that match this
profile, and basically all you need is a template and some string
processing. Python's a good choice for that. There definitely are a
bunch of existing relevant frameworks, although I personally couldn't
say which one would be best for you, but with such a simple task, all
you really need to use is regular expressions and string variable
substitution. (Might be more fun to do it in Zope, though, and more
scalable too.)



On 12/2/05, Richard Knowles <[hidden email]> wrote:

>
> Hi,
>
> This discussion of Application Servers leads me to ask about an issue I
> am looking into.  We have a very simple internal webpage mostly for people
> to download company documents(on Apache).  Updating it consists of placing
> a new file in the correct directory, and modifying the HTML code directly with good
> old vi.   I think this could be a job for a content management server,
> especially if it can let the HTML-illiterate place a document on the
> server in a controlled-access way.
>
> Is there something relatively simple and Pythonic using mod_python for
> example?  I myself know very little about the topic of content-management.
>
>
> > > as to how these compare - TurboGears, CherryPy, WebWare, Twisted, Zope
>
> --
>
> Richard Knowles
>
> _______________________________________________
> Baypiggies mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/baypiggies
>


--
Giles Bowkett = Giles Goat Boy
http://www.gilesgoatboy.org/
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Python Application Servers

whit morriss
In reply to this post by Richard Knowles
Richard Knowles wrote:

>Hi,
>
>This discussion of Application Servers leads me to ask about an issue I
>am looking into.  We have a very simple internal webpage mostly for people
>to download company documents(on Apache).  Updating it consists of placing
>a new file in the correct directory, and modifying the HTML code directly with good
>old vi.   I think this could be a job for a content management server,
>especially if it can let the HTML-illiterate place a document on the
>server in a controlled-access way.  
>
>Is there something relatively simple and Pythonic using mod_python for
>example?  I myself know very little about the topic of content-management.
>
>
>  
>
>>>as to how these compare - TurboGears, CherryPy, WebWare, Twisted, Zope
>>>      
>>>
>
>  
>
 well, usually content-management balloons out to cover alot beyond
simply giving mortal the ability to make web pages (workflow, security,
versioning, groupware, etc).

In mod_python, you could build something rather simple and custom to
your needs with Django or TG.

someday maybe plone will run in mod_python, but I wouldn't hold your breath.

-w

-w

--
 
 | david "whit" morriss
 |
 | contact :: http://public.xdi.org/=whit 

 "If you don't know where you are,  
  you don't know anything at all"        
                                     
  Dr. Edgar Spencer, Ph.D., 1995    


 "I like to write code like  
 other ppl like to tune their
 cars or 10kW hifi equipment..."
 
 Christian Heimes, 2004



_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies

whit.vcf (464 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Python Application Servers

jennyw
In reply to this post by Sebastian Jayaraj
Sebastian Jayaraj wrote:

>We have had very good success with Plone. Relatively simple to set up
>and easy to teach users. Also check out its inbuilt site search
>capability that index documents like PDF, word, etc.
>
>http://plone.org/
>
I don't think you could get Plone to run with mod_python -- it's a Zope
application. It's also not the lightest-weight CMS out there.  That
said, it works great when you use it appropriately (I've set it up for a
pretty heavily visited Web site), and it puts most things that call
themselves CMSes to shame.

However ... it's only a breeze to setup and teach users if you accept
the defaults or need only simple changes.  They've done a great job with
the UI, so for an intranet you might well be satisfied with changes you
can make in CSS or  through settings in the ZMI. However, if you need to
do something more significant, you'll have a pretty steep learning curve
(unless you're already familiar with Zope).  If you find yourself in
that situation, I'd suggest buying one of the books on Plone (I like
Andy McKay's book; I have a colleague who J. Cameron Cooper's book).

Jen


_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Python Application Servers

Ben Bangert
On Dec 2, 2005, at 5:01 PM, jennyw wrote:

> Sebastian Jayaraj wrote:
>
>> We have had very good success with Plone. Relatively simple to set up
>> and easy to teach users. Also check out its inbuilt site search
>> capability that index documents like PDF, word, etc.
>>
>> http://plone.org/
> I don't think you could get Plone to run with mod_python -- it's a  
> Zope
> application. It's also not the lightest-weight CMS out there.  That
> said, it works great when you use it appropriately (I've set it up  
> for a
> pretty heavily visited Web site), and it puts most things that call
> themselves CMSes to shame.
>
> However ... it's only a breeze to setup and teach users if you accept
> the defaults or need only simple changes.  They've done a great job  
> with
> the UI, so for an intranet you might well be satisfied with changes  
> you
> can make in CSS or  through settings in the ZMI. However, if you  
> need to
> do something more significant, you'll have a pretty steep learning  
> curve
> (unless you're already familiar with Zope).  If you find yourself in
> that situation, I'd suggest buying one of the books on Plone (I like
> Andy McKay's book; I have a colleague who J. Cameron Cooper's book).

I'm inclined to agree with everything Jen said, I've also put Plone  
up for a moderately high traffic site. The performance out of box was  
very sluggish, but with a Squid caching server in front had no  
problems of course.

Django was built for CMS's, and is pretty good for a lighter weight  
custom CMS, expect less functionality than Plone though (No uploading  
content via webdav/ftp).

- Ben
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies