Earlier quoted context omitted.
It's a constant struggle against the current. Dynamically-typed languages are often “good enough for the time being”. I have the same issue explaining to our C/C++/Obj-C team why they should use static (Clang-Tidy, Infer, PVS-Studo) and dynamic (ASan, MSan, UBSan) analysis tools. They just keep giving me basically the same response of “I am a good programmer, and my code is good, and shame on you for even daring to t…
I'm confused. It should be easy to demonstrate the benefit, if there is one. Just show them the bugs! For me, it's not "status anxiety". It's simply not worth the effort. The last couple static analysis tools I ran on my programs, I spent a while getting the tool to not-crash (because even though the authors obviously had a static analysis tool themselves, they either didn't bother to run it on their own code, or it…
Python at Scale: Strict Modules
211–220 of 259 posts
Re: Python at Scale: Strict Modules
#212> That means 20-60 seconds between a developer making a change and being able to see the results of that change in their browser, or even in a unit test. This, unfortunately, is the perfect amount of time to get distracted by something shiny and forget what you were doing /me laughs in Ansible/terraform
Re: Python at Scale: Strict Modules
#213Earlier quoted context omitted.
Its adoption at banks and life science research labs tells another story. Naturally if the community finally gathers around PyPy, that might change.
> Its adoption at banks and life science research labs tells another story. In all 10 of the places it was adopted? Compared to Python with the thousands of deployments "at banks and life science research labs" it's a no show....
Re: Python at Scale: Strict Modules
#214Earlier quoted context omitted.
What Go adds in tooling and performance, it takes away in expressivity. What takes 3 lines in Python, takes 10-30 on Go.
Yeah, never understood what a Python Dev could find attractive in Go, besides not having to deal with C instead. Which is positive mind you, but they would be better served by adopting PyPy.
Re: Python at Scale: Strict Modules
#215Earlier quoted context omitted.
Yeah, but typically only locally. Like using a for loop instead of a list comprehension, or handling errors. So more keystrokes, but in most cases not more complexity. In some cases (generic programming), Python really is more expressive, but those ~5% of cases aren’t worth the tooling/perf/maintainability tradeoffs most of the time.
It depends. Code reviewers glazing over copy-pasted boilerplate blocks can more easily lose track of the whole, and miss an error which is obvious when the whole is expressed in 10 lines. There is some optimal range of expressive density for comfortable use by humans. APL or K likely above that level, and Go feels below it, not as low as COBOL, but still.
Re: Python at Scale: Strict Modules
#216Earlier quoted context omitted.
Yeah, but typically only locally. Like using a for loop instead of a list comprehension, or handling errors. So more keystrokes, but in most cases not more complexity. In some cases (generic programming), Python really is more expressive, but those ~5% of cases aren’t worth the tooling/perf/maintainability tradeoffs most of the time.
I'm curious what you see as the tooling benefits of go?
Re: Python at Scale: Strict Modules
#217Earlier quoted context omitted.
Sounds like Go. ;) This is a cheeky remark, but I use Python and Go, and Go very much feels like an improved Python in most ways. Especially when it comes to static analysis, build tooling, distribution, performance, etc. In particular, I love that there are no venvs, pipenvs, virtualenvs, pyenvs, wheels, eggs, setuptools, easy_installs, etc.
I hate the fact that you may be right, because I really don't like Go in many ways: - I hate it's module system and package eco-system story. - I don't like its syntax. - I don't like its error handling. - I'd much prefer gradual typing. - I want to maintain the ability to use interactive interpreters. - I don't like the fact that instead of being community driven it is Google driven. But, anecdotally, I see go being…
Re: Python at Scale: Strict Modules
#218There are currently maybe two ways to tackle this “problem”, without a strict mode:
1. Don’t import at the global module scope; but that’s a bit tedious.
2. Import with rename, like `import os as _os`, and then leave it to the principle of “we’re all consenting adults”. I.e. if anybody imports and used things that start with an underscore, it’s clearly their fault, not mine.
Re: Python at Scale: Strict Modules
#219I added these ideas here: https://github.com/perl11/cperl/issues/406
Re: Python at Scale: Strict Modules
#220> That means 20-60 seconds between a developer making a change and being able to see the results of that change in their browser, or even in a unit test. This, unfortunately, is the perfect amount of time to get distracted by something shiny and forget what you were doing /me laughs in Ansible/terraform
I hope the downvoters have awesome iteration cycles with Ansible/Terraform ;-)