+1 to that. -- James
On Mon, Apr 18, 2011 at 1:12 PM, Kevin LaTona <[email protected]> wrote: > > > I think one of the upcoming meetings about all the all the web frameworks > out there could make an interesting evening of discussion. > > > > -Kevin > > > > > On Apr 18, 2011, at 1:03 PM, Mike Orr wrote: > > On Fri, Apr 15, 2011 at 11:56 AM, Matt Towers <[email protected]> >> wrote: >> >>> Hi Everyone, >>> Just joined the list today and looking forward to learning more. >>> My company is in the process of ditching PHP as our web framework and >>> strongly leaning towards Python, though Ruby is in the running as well. >>> I >>> only have limited experience with both but will be ultimately responsible >>> for the application. Can anyone here comment on the relative strengths of >>> Python over Ruby (or vice-versa)? Some of the factors we're considering >>> are: >>> How do the learning curves compare for someone with a strong background >>> in >>> traditional object oriented design and languages (C++, Java, C#, etc.)? >>> Is there a decently sized pool skilled Python web developers in the >>> Seattle >>> area? >>> Given the maturity of Python, I assume there are large number of >>> developer >>> tools and libraries out there, but in terms of web development are there >>> any >>> obviously missing components found in other frameworks? >>> >> >> Hi Matt. I've been a Python web developer for eleven years so I've >> seen libraries and programming trends come and go. The language is >> "complete" in terms of what web developers have needed. And since a >> lot of companies are using Python web software including Reddit, >> Google, movie animators, scientific researchers, ITA (airline >> reservation database) and the like, they've filled in any missing >> pieces. The current generation of frameworks since 2005 (Django, >> Pyramid/Pylons, TurboGears, etc) were written to compete with Ruby on >> Rails, so they provide the same concept even though they may differ in >> specifics. Python's biggest growing pain is probably its >> package-downloading-and-installation utilities which are still >> fragmented (pip vs easy_install etc); this sometimes necessitates some >> extra work when installing packages. But that's a minor annoyance >> that's only indirectly related to web development, and the developers >> are working to clean it up. >> >> I haven't used Rails or Ruby myself so I can't compare their features >> to Python. I started to look at Ruby but found its syntax too >> Perl-like for my taste. (I am an ex Perl and PHP user.) But there are >> people on the SeaPIG list who use both Python and Ruby so there's >> overlap between the user groups. >> >> The first think you'll notice about Python is the large number of web >> frameworks. The difficulty is in choosing. The good thing is that >> they're more interoperable than they were five or even three years ago >> so they're converging. They'll probably never converge into one >> because there are a few different patterns for designing web sites, >> and different people like different patterns. I'm involved with a >> project called Pylons that over the past year has taken several >> frameworks under its umbrella and merged their developer communities, >> so that they can share ideas and implementations. Their current >> project is Pyramid, which reached 1.0 a month or two ago. It was >> designed to support multiple design patterns, and these are gradually >> being implemented by higher-level software, so that the app developer >> can choose which pattern he prefers and change his mind later, without >> having to abandon the framework and go to a completely different one. >> >> My main suggestion is that when exploring Python, take a look at >> several of these frameworks and consider which one best meets your >> needs and inclinations, as well as your possible long-term needs. >> Django has been mentioned several times and it's one of the largest >> and has good documentation, but it can also give the impression that >> Django is Python web development and there's nothing beyond it, and >> that's not true. it all comes down to what kind of person you and your >> company's developers are, what kind of site you're building and your >> particular needs, etc. Django has good documentation and a large user >> base; on the other hand it's more "monolithic" and less interoperable >> than most Python alternatives. It's great if you find what you need in >> Django. It's less great if you find that what you want is outside >> Django. For instance, Django has an object-relational mapper (to >> connect your Python objects to database tables and columns) which is >> widely seen as easy to use, but if you go beyond it (e.g., to >> SQLAlchemy) you'll find that many of the framework's features don't go >> with you (e.g., the db admin screens). This is a limitation which may >> not be apparent at the beginning. Again, it all comes down to what >> kind of libraries you're looking for and which features are most >> important to you. >> >> If you look around and later want to have a discussion about your >> needs and the advantages/disadvantages of various Python packages, we >> can do that either at a SeaPIG meeting or convene a small group >> outside the meeting to discuss the possibilities. >> >> -- >> Mike Orr <[email protected]> >> >> > -- James Cooper Principal Consultant - Bitmechanic LLC http://www.bitmechanic.com/
