Hacker Newsnew | past | comments | ask | show | jobs | submit | AnthonyB3's commentslogin

No, notice that "builtins" was in quotes. web2py does not actually add new members to __builtins__. Rather, web2py executes model files, controllers, and views in a pre-defined environment that includes a number of web2py API objects (though not the entire API). This includes about a dozen core objects, such as request, response, session, and cache, plus a set of HTML helpers (all derived from the same class and named after their HTML counterparts) and a set of form validators (all derived from the same class). This is all very well documented.

People like you who have never actually used web2py routinely express concern that this will somehow set up false expectations and confuse people about how Python modules and imports work, but in practice this is simply not the case. Note, web2py also includes a number of modules that require explicit importing, and applications can include their own modules as well as import standard library and third-party modules. As a result, web2py developers are perfectly comfortable with normal Python imports and do not have any false expectations.

Web2py is indeed using its "great power" responsibly.


> web2py appears both bad and unpopular to me.

Regarding popularity, for some time now the web2py Google Group has had more postings than the Django group, and the web2py group membership has been growing at a much faster rate than Django. Overall, Django is still more widely used, but web2py is certainly popular and growing rapidly.

Regarding whether web2py is "bad", that's obviously your opinion, but it is notable that you did not provide any argument or evidence whatsoever to support it.


> If I found myself talking to someone who had used web2py, I'd be very interested in their critique, but sadly in every case so far, it's been second hand.

In two years of active mailing list participation, I've never seen any actual users complain about these problems. They are hypothetical concerns that simply do not arise in real world usage.


> the smartest web hackers I know universally regard web2py as a fundamentally incorrect way to approach web development

Would you care to elaborate on that? Have any of these smart web hackers used web2py for real web development? I ask because web2py has had thousands of happy users building and maintaining web applications for several years now, and in practice, no one seems to be having the kinds of problems one might expect from a "fundamentally incorrect" approach. What exactly is fundamentally incorrect?


Well, according to InfoWorld, web2py is the best Python framework (http://www.infoworld.com/d/application-development/pillars-p...). It also won a 2011 Bossie Award for open source development software (http://www.infoworld.com/d/application-development/pillars-p...) and a 2012 Technology of the Year Award (http://www.infoworld.com/slideshow/24605/infoworlds-2012-tec...).

Don't listen to the naysayers about web2py -- it is rare to find one who has actually ever used it. Meanwhile, web2py has a large, active, and steadily growing base of real users who are very happy and doing just fine producing and maintaining web applications with it. In fact, many web2py users are former Django users who simply find web2py more productive (see http://www.quora.com/What-are-the-advantages-of-web2py-over-...).

Note, most of the criticisms of web2py have all the earmarks of FUD (http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt) -- lots of references to authority and calls to stick with a perceived standard way of doing things, but not much discussion of actual technical merits nor presentation of any empirical evidence to back up the strong claims being made (see http://www.quora.com/Is-web2py-a-good-Python-web-framework/a...). Some of the critics seem overly concerned with the notions of "explicitness" and "magic", but not everyone shares their concerns: https://twitter.com/#!/zedshaw/status/80418794526351360.


> try modeling a school, for example, with the relationships between teachers, students, parents, and classes.

The DAL can be used to model any set of tables and relationships that can be created in an RDBMS, so it's not clear what the problem would be modeling the relationships among these entities. Should be fairly straightforward.


It would be interesting to see how you tried it in the DAL and the alternative that you found easier in SQLAlchemy. Can you show an example?


Thanks for asking politely (I mean that truly). I'm on deadline now but I'll post back here in a day or two with the problems I ran into.


Great. Thanks.


Sounds like FUD. Care to share some examples? Note, in most cases, the DAL has fewer, not more limitations than a typical ORM. web2py does use standard Python. What bad practices? Have you seen this: http://www.infoworld.com/slideshow/24605/infoworlds-2012-tec...?


No, the 1.0 vs. .08 is for the entire eight year period depicted, during most of which Node.js didn't even exist. What's relevant is the trend and how they compare right now -- RoR is going down, Node is going up, and Node is right now nearly as high as RoR. If you change it to show only the last 30 days, RoR is 1.0 and Node is .87 (i.e., RoR is getting only 15% more searches, not 12 times the searches).


Many experienced developers use web2py and find it to be quite flexible and powerful. For example, see comments here (http://harrywolff.com/2011/01/web-application-development-fr...) regarding questions about function re-use and form customization. In web2py, I don't think the complicated stuff is generally any harder than it would be in other frameworks, yet many things are often much easier. Granted, though, sometimes documentation is lacking for some of the more complex stuff. A recipes book is due out soon, so hopefully that will help.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: