3 ms·
"Batteries Included" means it is super easy to turn it into an executable. This was why I switched from Python for my personal projects.
by baldfat 5y ago
"Batteries Included" means it is super easy to turn it into an executable. This was why I switched from Python for my personal projects.
- hoppyhoppy2 5y agoPython has described itself as a "batteries included" language for many years -- Python was the language that popularized that term for describing programming languages. So I don't think your personal definition of that term (easy executables) is universal. Everything I can find online indicates that it refers to the wide capabilities of the language's standard library.
- neutronicus 5y agoI don't think parent's definition of "batteries included" is as narrow as you're suggesting, and I also think yours is too narrow. 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).
- jnxx 5y agoThere are several dimensions to this in Racket. 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.
- vascocosta 5y agoPython is still the language I use the most. Have you tried using the pyinstaller package to create executables? It's super easy.
- baldfat 5y agoI had three worksites and I also had a few pet projects that would go on 100 computers. Python failed at every level (So did Haskell). I learned Racket just to improve my programming (It did) I then was like let's see how Racket works and it worked perfectly. I was able to deploy my programs and I never had an issue.
- Syzygies 5y agoI scripted in C for the longest time, after thousands of lines it was in muscle memory, and I could reuse boilerplate. I was profoundly embarrassed to then discover Perl; I felt late to the party, like I'd thawed out of a glacier. 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-acceptable-lisp/ http://www.randomhacks.net/2005/12/03/why-ruby-is-an-accepta...
- beforeolives 5y agoThat's not what batteries included means. > 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. https://www.python.org/dev/peps/pep-0206/ https://www.python.org/dev/peps/pep-0206/
- baldfat 5y agoBut compared to Racket Python is so much less of a tool when limited to standard library.