3 ms·
I think you have unrealistic expectations of software developers if you think they should all be able to do this. Elementary sure, and maybe they “should” in th
by vsnf 2y ago
I think you have unrealistic expectations of software developers if you think they should all be able to do this. Elementary sure, and maybe they “should” in the platonic sense, but ask 10 developers to implement a language and 9 will fail to make any meaningful progress. And I think that’s fine. It’s like when people get upset at web devs for not knowing the networking layers. Elementary sure, good to know, maybe, critical to their everyday function, doubtful in the extreme
- dbalatero 2y agoOr to put it another way, why should* someone know how to do anything that's never ever come up before in their life? * "should" as in someone else externally judging someone
- davidgay 2y agoOf course, some of those people then do get asked to build a language, and the result is awful and ignores the last 60 years of knowledge on how to actually do that ... (yes, I have seen this)
- cess11 2y agoNot all software developers are computer scientists or software engineers, and not all software developers are preoccupied with turning computers into a salary.
- deleted 2y ago[deleted]
- xenophonf 2y agoIt's been my experience that software developers can be wildly successful not knowing or using any deep magic like this. Still, I think this stuff is good to know. Edit: Oh, I should have used "elemental" instead. That might have gotten my point across better—underpinnings, not trivia.
- margalabargala 2y agoI would argue it's still too much (and not useful) to expect most people to be able to do this. Understand, yes. Good software engineers and computer scientists should be able to read this blog and fully understand what's happening, modulo any clojure-specific syntax they might be unfamiliar with. But this isn't something people should be expected to able to already know how to up and do.
- xenophonf 2y agoSo this is interesting. ABET says that an accredited computer science program must include "substantial coverage" of "concepts of programming languages" (https://www.abet.org/accreditation/accreditation-criteria/criteria-for-accrediting-computing-programs-2023-2024/ https://www.abet.org/accreditation/accreditation-criteria/cr...). However, an ABET-accredited software engineering program has no such requirement (https://www.abet.org/accreditation/accreditation-criteria/criteria-for-accrediting-engineering-programs-2022-2023/ https://www.abet.org/accreditation/accreditation-criteria/cr...). I still think a software engineer should know this stuff, but given the other material covered in an accredited degree program, there probably isn't enough time for computer science fundamentals like programming language concepts. That's a damn shame. I think software engineers having that level of understanding is a good thing.
- vsnf 2y agoPLT was part of my CS degree, but only as a senior level course, and it was extremely abstract, and extremely difficult. Double majors (common with business) were exempt from it. I think it’s fair to say that almost none of my fellow CS degree holders from that cohort (which was neither a rinky-dink program nor full of dim witted students) could do what we’re discussing here, and if they can it’s because they either were uniquely talented at the lecture material or learned it outside of their coursework, probably after graduation.