I think the reason was because it came with batteries included and I could create complex applications using only the standard library or very few packages.
I think the reason was because it came with batteries included and I could create complex applications using only the standard library or very few packages.
I tried reading the official docs, but while they're great for reference, probably not the best in terms of tutorials/learning.
All my other previous attempts at using functional languages, like for instance Haskell, ended up in trivial applications, usually based in numerical analysis.
1. Gemini server with tons of features, that I use personally:
2. Graphical Gopher browser:
It's a claim that the standard language distribution is sufficient to accomplish common goals of new users, without hunting down additional libraries or tools.
As you say, the Python community coined the term, but their notion of its meaning perhaps slants a little too far towards their language distribution's strengths (standard library) and maybe suffers from lacunae towards their language distribution's weaknesses (a clearly-articulated way to create a GUI executable using the standard language distribution).
For one, it has a platform-independent GUI library as part of the standard library, which Python (like most other programming languages) hasn't. That makes it interesting for writing GUI applications or using it for experimental programs which might require )or benefit from) a GUI later.
Racket has also a standardized package management, which is much easier to use than the different Python facilities.
Racket has a much better performance compared to Python and that in turn makes it possible to implement many algorithms directly in Racket which would be a C extension in Python, which makes it more complex to use them.
Another thing is that Racket, as a member of the Lisp family, has also a deep low-level support. For example, it supports multi-threading with both green threads and os-level threads, futures, synchronization, making it possible to write parallel algorithms, which isn't practically possible in standard Python.
Then Python, which stuck. I tried various lisps, Haskell, Ruby, Lua for scripting, and kept returning to Python.
I realized Python was truly boring, and I needed scripting to be fun, to keep my interest up. I relearned Ruby. Ruby is fun.
http://www.randomhacks.net/2005/12/03/why-ruby-is-an-accepta...
> The Python source distribution has long maintained the philosophy of "batteries included" -- having a rich and versatile standard library which is immediately available, without making the user download separate packages. This gives the Python language a head start in many projects.