5 ms·
Thesis is dogmatic selection of language is bad: article is about using Python under all circumstances.
by outsomnia 5y ago
Thesis is dogmatic selection of language is bad: article is about using Python under all circumstances.
- 4pkjai 5y agoYes, I’d say replace python with [whatever language your team is most comfortable with]
- birdstheword5 5y agoI've met several people who learned Python and refuse to learn any other language. I wonder if this mentality exists for other languages
- exyi 5y agoOh yes, it's sooo common. I met many C# web developers who just refuse to even learn a bit of JS, "because it's soo bad language"
- Semaphor 5y agoI think JS and PHP have a special status here and don’t count as an answer to what GP was asking. Many people hate JS and/or PHP, often for legacy reasons.
- exyi 5y agoBut it's not only JS, I used it as an example because these people are doing websites, yet don't even want to learn JS. They also hate to write SQL and are stuck with ORMs...
- Semaphor 5y agoThat is different, but SQL is also not a general programming language. I see what you say as an issue with those people, but a different issue ;)
- rhn_mk1 5y agoI'm seeing a lot of resistance from C programmers to switch to anything else for which I can't find a rational explanation.
- tcbasche 5y agoNot even at a language level. There are Java developers who only want to work with particular frameworks (Spring) and don't know anything else or want to learn anything else.
- ohCh6zos 5y agoI know right around seven languages I would be comfortable claiming I knew on a job application. I am probably more opinionated about language features, but less picky about the specific language for it.
- npsimons 5y ago> I wonder if this mentality exists for other languages Visual Basic, PHP and Java come to mind. Probably C# as well.
- eesmith 5y agoThe article is not suggesting to use Python under all circumstances. Here's the conclusion, which summarizes the essay: > All of this is to say while some companies do extract massive value from squeezing every CPU cycle out of their code, those companies also typically build data centres. So if you don't need a dedicated building to host your machines, please consider doing the math to see if it's truly worth making your developers less productive in the name of computational efficiency when you don't even know if that perceived efficiency is even necessary. As an example, the kernel of my software is only a few hundred lines long. It's in C with AVX2 intrinsics to eek out the last bit of performance. The Python overhead is <1%, which means that even swapping out Python with a 1,000x faster language won't be noticeable. This is the '"glue" code' mentioned in the section on 'Use language bindings'. Had I started with "It needs to be fast therefore I can't use Python", then it probably would have been a lot more work to do. (See, "numerous anecdotes of where someone implemented something in Python in 1/3 the time a competing team did creating the same thing in e.g. C++ or Java".)
- pyrale 5y ago> The article is not suggesting to use Python under all circumstances. I would say the article is very much doing that, it's just stopping short from spelling it out clearly. It starts from the flawed premises that Python is much more effective to come up with actual production code than other languages [1]. The author then moves on to telling you that you should try at least a couple of times to code something in python before obvious performance shortcomings are glaring, then keep python as a binding language. At no point does the author acknowledge that there may be other reasons to pass over python than performance. From the way he approaches the subject, the author seems to live in the paradise where you only have to sling half-baked prototypes to prod, and then move on to another project while poor souls handle maintenance. The take on why performance matters [2] also completely overlooks the fact that optimizing for infra costs is likely the least common reason to write for performance. Sometimes, if you don't reach a given threshold, your code simply doesn't work. Sometimes, your performance is your users' time (and sometimes, these users are even developers). Such companies don't necessarily build datacenters. [1]: "This is what leads to numerous anecdotes of where someone implemented something in Python in 1/3 the time a competing team did creating the same thing in e.g. C++ or Java." -- of course, it's just anecdotes and not a claim, so the author won't defend it, but you're still expected to believe it. [2]: "All of this is to say while some companies do extract massive value from squeezing every CPU cycle out of their code, those companies also typically build data centres."
- stonemetal12 5y agoI took python more as a motivating example than an absolute. As far as I can tell the article suggests developer speed over application performance. Then FFI to a "fast" language to overcome your performance problems. That way you only pay the overhead of a high performance, slow to develop language where it actually matters. Which is usually much less than the whole program, so not paying for performance where it isn't needed is a big win.