Well, I had to use Google Translate, so not sure I got everything, but here 
are a few thoughts:

   - Sounds like he used web2py quite a long time ago, before the DAL was 
   re-written, and before countless other improvements, so this is not really 
   a criticism of the current web2py.
   - web2py does not have an ORM, it has a DAL. He seems to be thinking the 
   DAL was intended to be an ORM and somehow failed, hence his disappointment. 
   It's true that the DAL is closer to SQL, but it is not "SQL in disguise" 
   (you don't have to know any SQL), and in particular, it uses a single 
   universal syntax/API across all supported backends (just like an ORM). This 
   design actually makes the DAL more flexible than an ORM in terms of what it 
   can model. The DAL also tends to be faster than ORMs. It would be 
   interesting to ask what he thinks he can do with the Django ORM that could 
   not easily be done with the DAL. Anyway, this is somewhat a matter of 
   preference, though many web2py users consider the DAL to be one of web2py's 
   great strengths.
   - I don't understand what he's saying about objects returned by the DAL 
   (perhaps a translation issue). I'm not sure what mapping he thinks needs to 
   be done by hand.
   - The complaint about views being difficult to maintain because they 
   include Python + HTML + Javascript doesn't make any sense -- that's exactly 
   what Django does as well (though Django uses a specialized template 
   language rather than straight Python, but effectively no different in terms 
   of inter-mixing of code and ease of maintenance). Perhaps he simply saw 
   some bad examples.
   - Regarding "magic" and the existence of a few global API objects, such 
   as "request", so what? He seems to prefer the Django method of importing 
   and instantiating everything but doesn't explain the benefit of that. Why 
   does he like repeating the same boilerplate code everywhere for objects as 
   common as "request" and "response"? I refer him to the following quotes 
   from Zed Shaw: https://twitter.com/#!/zedshaw/status/80415443558477825, 
   https://twitter.com/#!/zedshaw/status/80418794526351360.
   - Regarding executing models, I'm not sure exactly what he means about 
   overhead, but we now have conditional models, and you can always import 
   your models from modules, just like in Django.
   - Regarding the admin editor, it is not intended to replace Vim, Emacs, 
   etc. It is just a convenience for minor editing and to help beginners get 
   started. Using it is completely optional, so it's an odd reason to give for 
   leaving web2py -- just don't use it. Also, it's a third-party editor that 
   was simply plugged in, so including it did not take away precious 
   development time from the framework as he suggests (the current web2py also 
   has a much better editor than the one he would have been using back then).

Some further reading: 
http://www.quora.com/What-are-the-advantages-of-web2py-over-Django

Anthony

On Thursday, May 3, 2012 7:40:45 AM UTC-4, Ramos wrote:
>
> a person just wrote this about web2py in a portuguese forum
> Anyone care to coment?
>
>
> Viva,
>
> Eu conheci primeiro o web2py e só uns meses depois o Django.
> Ao início achei bastante interessante (a ferramenta de admin, tutorial 
> fácil de seguir, etc.). O que me fez saltar do web2py para o django e nunca 
> voltar para trás foi, entre outros, o seguinte:
>
> - web2py não tem um ORM, tem uma api OO mas que segue o mesmo paradigma de 
> SQL, No fundo, ao fazer .select() / .union() estamos a escrever SQL 
> disfarçado. Um bom ORM permite não ter de escrever SQL em 90% dos casos, 
> poupando trabalho.
>
> - Os objectos retornados pela camada de persistência do web2py não têm 
> classes que façam sentido no domínio (Books, Persons, whatever seja o 
> domínio), aquilo retorna umas instâncias de Record (ou lá o que é) que não 
> são mais do que dicts. O mapeamento disso para instâncias de classes do 
> domínio tem de ser feito à mão.
>
> - A ideia de poder meter python arbitrário no template parece gira mas 
> facilmente descamba para ficheiros com python+html+javascript tudo 
> entrelaçado e impossível de manter.
>
> - A magia da framework. Se bem me lembro os dados do request actual são 
> postos em variáveis globais sem qualquer necessidade (podiam ser passados 
> para a view, como no django).
>
> - Os models são executados ( exec() ) a cada pedido. Não há necessidade 
> para este overhead.
>
> - Com tantos editores excelentes (emacs,vim,eclipse,vstudio,..),porquê 
> usar um editor inferior no browser? Se gastarem tempo a trazer esse editor 
> ao nível dos outros, perderam tempo que podia ter sido usado para melhorar 
> outras partes da framework.
>
> - A qualidade do código é incomparável. Pequeno exemplo: Lembro-me que o 
> núcleo da persistência do web2py na altura era um sql.py com algumas 3000 
> linhas, todo martelado com ifs para emitir SQL cozido ou assado consoante a 
> BD e, de ver o Massimo* argumentar na mailing list que não era crítico 
> melhorar aquela parte.
>
> Para mim, o web2py é bom como uma ferramenta de aprendizagem, nada mais.
>
> Cumprimentos.
>

Reply via email to