
Flask vs. Django - luord
http://stackabuse.com/flask-vs-django/
======
andy_ppp
Having used Flask on two large projects I would never want to use it again, it
gives too much freedom and the community isn’t as good as Django and the
application context means applying logic from the app to other things is more
convoluted. In the end you can come to a Django project and know how it works,
often that isn’t the case when inheriting Flask projects. Sqlalchemy is also
very slow and complicated and I prefer Django’s less complicated ORM.

After using something as simple, clear and elegant as Phoenix and Elixir I
never want to go back.

~~~
ScottWRobinson
Author here. Interesting to hear your perspective on this. I'm personally
biased towards Flask, which I was trying to avoid when writing this article.
Glad to see my thoughts on the two frameworks are reflected by other
developers as well

~~~
andy_ppp
There is definitely room for both opinionated and balanced thoughts on this.
Do have a play with Elixir, Phoenix and Ecto though, it'll change the way you
think about programming and mutable state forever.

~~~
submeta
Elixir is really awesome. All the things that I do not like in Python [0] and
[1] (and many more) are gone in a functional programming language where you
have functions that always return values. But I do miss the large community of
Python and the excellent documentation and discussion groups.

\--- [0] mutable vs non-mutable (strings and tuples) data structures for
instance. This leads to inconsistencies: text = "hey there", text.sort() is
not possible, data=[5, 7, 3], data.sort() is possible.

[1] since not every method returns a value we can't do method chaining. Ruby
and JavaScript would allow me to do things like this: data.split.sort.first().
I used to do things like that in Mathematica years ago by postfix notation:
f[data] // g // h (meaning: h(g(f(data)))). And Elixir allows this as well
with data |> f |> g |> h. Can't do things like that in Python, have to create
temp variables to capture intermediate results.

