3 ms·
I like Python, but I often wonder how many developers use Python because they actually use dynamic language features versus just liking the languages' clean syn
by cpeterso 7y ago
I like Python, but I often wonder how many developers use Python because they actually use dynamic language features versus just liking the languages' clean syntax and library ecosystem. I'm surprised languages that offer both REPL (for development) and AOT native compilation (for production), like OCaml, are not more popular. Evidence that syntax matters, I guess. :)
mypy and mypyc are interesting but their compile-time checks and optimizations are still hampered by Python's dynamic language semantics.
- Sophistifunk 7y agoI think a great deal of this sort of thing could be done by just doing some eval in a dynamic state before you stop the vm and compile its stable state, rather than the actual source code.
- dgoldstein0 7y agoI think you missed part of the point of what the article was trying to say - or rather, what they hoped to do with this strict python. One of those things being some form of hot code loading. A snapshot of the state can't be incrementally rebuilt - it's very much all or nothing; whereas if we know or modules are side effect free, or at least some useful part of module loading is, we could cache that part and get faster start up times on incremental changes.
- angry_octet 7y agoSounds like they need Erlang.
- peteradio 7y agoNames matter and OCaml is a crappy name.
- angry_octet 7y agoIf you think OCaml is bad, it used to be Caml Special Light, a play on Camel cigarette naming.
- peteradio 7y agoChrist..
- clintonb 7y agoDon’t underestimate inertia. I’ve worked with Python and Django for seven years. I know the libraries in the ecosystem. I know the framework. It’s far easier for me to start a project with Django than to learn another framework or language.
- kissgyorgy 7y agoYou would be surprised if you start learning Go. It's far easier to learn that whole language that some part of Python (for example asyncio)
- pjmlp 7y agoThe dynamic language semantics of Lisp, Scheme, Smalltalk, JavaScript have not hampered the existence of good JIT/AOT compilers. Smalltalk, for example you can completely change the structure of a class by sending a become: message. What I think is missing is a bit of more PyPy love, and the Truffle and OpenJ9 Python support efforts.