5 ms·
> There's a tension in PHP-land between [...] hobbyist-hacker [vs] enterprise-scale IMO the same tension exists in Python. The hobbyist-hackers are using the l
by pansa2 6y ago
> There's a tension in PHP-land between [...] hobbyist-hacker [vs] enterprise-scale
IMO the same tension exists in Python. The hobbyist-hackers are using the language to write small-ish scripts, and the enterprise-scale developers are working on million-line codebases.
Unfortunately for the hobbyist-hackers, at some point (perhaps when the BDFL started working at Dropbox), the focus of the language shifted from the first group to the second. That's why, for example, Python now has a complex type system - that many developers never use.
- oaiey 6y agoI would argue that has a strong correlation with the fact that universities are now teaching Python instead of Java. Once that alumni hits the job market, hobbyist-hackers are no longer the majority of users.
- rglullis 6y agoYou'd have a point if there were any changes that are being introduced and putting developers on a straight-jacket. But I don't see this tension at all. What is recent on Python3 that makes it hostile to hobbyists? The new features are optional, it's not like Python is forcing people to adopt mypy.
- pansa2 6y ago> What is recent on Python3 that makes it hostile to hobbyists? Python has become a very complex language [0], and the complexity continues to increase. IMO it's too much for people who only write code for, say, a few hours a week. > The new features are optional I hope Python isn't becoming a "choose your own subset" language like C++. [0] https://twitter.com/raymondh/status/1280946969116995584 https://twitter.com/raymondh/status/1280946969116995584
- rglullis 6y agoThe tweet shows a clear list of features (aside from the walrus operator) that are "complex" because they deal with inherit complexity. People who write code only for a few hours a week don't need to deal with asyncio or parallel programming, typing, cython, etc, etc. The point about different frameworks and ecossytem is a strawman. Yes, it's large. No, it doesn't mean that is complex. No, you don't need to know all of it. > I hope Python isn't becoming a "choose your own subset" language like C++ You are implying that are what is being added to the language have overlapping functionality. You really need a better argument than a FUD-y tweet to justify your concerns.
- Qem 6y agoWhat current languages do you think are friendly to hobbysts, with low complexity overhead, like Python before the enterprise-scale refocusing?
- masklinn 6y ago> Python now has a complex type system - that many developers never use. Python doesn't have a complex type system. How could it when, to this day, it doesn't bundle a type-checker? Python had a way to annotate functions (PEP 3107), which the community largely used for type-hinting, so Python introduced better support for type hints (PEP 484 and various extensions since).
- pansa2 6y agoOK, I'll rephrase that as "Python now has a complex typing ecosystem". That seems to be the preferred phrase - for example, it's used in PEP 586 [0]. [0] https://www.python.org/dev/peps/pep-0586/ https://www.python.org/dev/peps/pep-0586/
- iso1631 6y ago> IMO the same tension exists in Python. The hobbyist-hackers are using the language to write small-ish scripts, and the enterprise-scale developers are working on million-line codebases. It's an endless cycle in all aspects of IT, the conflict between small tech and enterprise tech Large tools from bureaucratic enterprises are useless (that's a given) Shadow IT built around hacker tools gets the business goals through Enterprise IT see that these tools are popular and actually meet business goals, but they didn't invent them Enterprise IT attempts to justify itself and find something approximating the usability of the good tools from some "safe" vendor like Oracle, Microsoft, etc. After all nobody got fired for buying IBM. Enterprise IT spends a fortune, everyone hates it, but old tools are defunded so can't be used. Shadow IT build new ecosystem around different hacker tools to get the business goals through And the cycle continues.
- majewsky 6y ago> Large tools from bureaucratic enterprises are useless (that's a given) There are plenty useful tools that are large and built by bureaucratic enterprises. Stuff like ERP systems just has so many features to cover and tax laws to implement that it most likely can genuinely not be built by a small team. (Disclosure: I work for such an enterprise, though I'm not involved in the development of software sold to customers.)
- detaro 6y agoThat many developers never use type annotations (nothing interesting has happened to the type system in a long time) kind of suggests that it's not a problem. The feature is there if you want it, if you don't you ignore it.
- pansa2 6y agoType annotations aren't entirely optional, though. For example, they're required if you want to use data classes. Even if they were optional, that would still be a problem. As above, too many optional features are turning Python into a "choose your own subset" language like C++.