Hacker News new | ask | show | jobs
by defroost 5444 days ago
Seems to me to be another micro web framework influenced heavily by Sinatra.
1 comments

Do you know enough about the Python ecosystem to make that assessment? Aaron Swartz's web.py was around as a single-file web micro-framework years before Sinatra even existed. An early version of reddit, after they switched from Common Lisp to Python, was built starting with web.py.
I know that web.py was around years before Sinatra. But URL routing in Bottle is more similar to Sinatra than it is to the URL dispatching via a tuple at the top of a file. Even so, perhaps Bottle is influenced more by web.py. That doesn't mean there aren't a ton of ports of Sinatra (like Express for node.js, Scalatra) or those influence by Sinatra like itty (http://toastdriven.com/blog/2009/mar/07/itty-sinatra-inspire...) or even perhaps Flask.

I even noticed a comment above that said Bottle looks just like Itty. Yet because I brought up the Ruby framework that Itty is essentially a port of, I'm getting down-voted like crazy. I will never understand why Python people dislike Ruby so much, and vice versa.

> But URL routing in Bottle is more similar to Sinatra than it is to the URL dispatching via a tuple at the top of a file.

Decorators, a Python 2.5 feature, weren't around when web.py was first released, so they couldn't have been used initially. Even after Python 2.5 came out, it took some time for decorators to be widely embraced. But routing and other kinds of dispatching (e.g. adapters and multimethods) are an obvious and indeed commonplace use of them.

I didn't down-vote you. I did get ever so slightly annoyed with your implication that Sinatra was the first to do this kind of thing and therefore necessarily a source of influence. Neither half of this claim is correct. Sinatra wasn't the first. Even if it were, it need not have been an influence; I wouldn't claim that web.py had to have influenced Sinatra just because it preceded it.

Werkzeug, the library which provides the routes, predates Sinatra by at least a year (2007 compared to 2008 for Sinatra) and might be even older; it predates the SVN->git switch for Pocoo.

Python people don't dislike Ruby, they dislike the Ruby community's habit of assuming that Ruby somehow did it first and did it better. :3