3 ms·
For what it's worth, the internals of Bottle are very clean (and extremely simple - the entire library/framework is just one file).
by calpaterson 13y ago
For what it's worth, the internals of Bottle are very clean (and extremely simple - the entire library/framework is just one file).
- the_mitsuhiko 13y agoI know I'm biased on that, but if the internals of Bottle are clean it's doing something wrong :) WSGI/HTTP are incredible complex and in fact, too complex to fit into a single Python file. There is a good reason for why Werkzeug (which Flask is based on) is 15000 lines of code.
- aptwebapps 13y agoIt's in a single file which happens to be a little under 3500 lines long ...
- habitue 13y agoRight, he's implying that the implementation is not as complete, or is incorrect because the problem space is more complex than that.
- aptwebapps 13y agoI doubt he or she was aware it was 3500 lines long. While not the same as 15000, it isn't all that far off.
- schleppy_oc 13y agoI am pretty certain that he, the_mitsuhiko (aka. Armin Ronacher), being the main developer behind Werkzeug and Flask knows exactly how long bottle.py is.
- aptwebapps 13y agoYeah, I did't know who he was and I took it as a drive-by comment. I somehow missed the "I know I'm biased ..." bit unless he edited the post after I replied.
- coldtea 13y agoHe is implying with not any evidence, aka FUD.
- irahul 13y agoHe is implying with the evidence that werkzeug which he wrote is much bigger than bottle owing to complexities of wsgi/http, and bottle's smaller size means either the implementation is incomplete or the implementation is too clever or both.
- coldtea 13y agoStill no evidence in your comment. Repeating his "I had to make X big to support all of wsgi/http so anyone who made a similar framework but much smaller has made it incomplete or too succint and clever in a bad way" is not evidence. You say: >bottle's smaller size means either the implementation is incomplete or the implementation is too clever or both. That's a statement of fact (actually a dichotomy of facts). What's the evidence to support these are the only two possible options? The mere fact that Armin had to make Werkzeug bigger "owing to complexities of wsgi/http" is not proof. To take it as proof is to assume his coding (and understanding of wsgi/http) as the golden standard by which the Bottle developer should be measured. Who said this is the case? For one, it took him a year after Bottle to support Python 3, so he might not be that focused, anyway. My problem is that, the way he and you say it, "incomplete" implies broken or lacking, whereas "too clever" implies fancy tricky code that's too succinct for it's own good. How about the third option that he needlessly convoluted Werkzeug to work around wsgi/http edge cases that no one really faces, whereas Bottle has been pragmatic about it? Or the fourth option, that Werkzeug is needlessly verbose, whereas Bottle is not "too clever" but just as clever as needed?
- jessaustin 13y agoIt would have taken less effort just to try out both frameworks, and then you wouldn't need anyone else's "evidence".
- 13y ago
- ishbits 13y agoI've also found Tornado to be quite readable. But my norm is corporate closed source code which is pretty unreadable.
- dtwwtd 13y agoI agree here, I think Tornado is really quite readable. I was pleasantly surprised the first time that I looked at the source.