4 ms·
I think that some of the quotes are pretty toxic, regardless of who they are by. Programming languages are just tools and as such, they should be reasonably eas
by KronisLV 5y ago
I think that some of the quotes are pretty toxic, regardless of who they are by. Programming languages are just tools and as such, they should be reasonably easy to use. Programming languages should serve people, not the other way around.
Elitism and gatekeeping do precisely nothing to help people solve problems with code.
- sieabahlpark 5y ago> Programming languages should serve people, not the other way around. It's common to feel this way if you've never thought of computation as a field of theory instead of just using brew to install your compiler and being happy it works.
- rualca 5y ago> I think that some of the quotes are pretty toxic, regardless of who they are by. They are indeed, aren't they? I mean, they straight up sound like bullying those who happen to not think alike or share the same opinion. Those who are in the right are able to form rational arguments, raise concerns about specific problems, and offer solutions. But no, not in this case. The only reason for anyone to not be a diehard supporters of the author's point of view is that they have mutilated minds and are coding bums.
- wsc981 5y ago> Those who are in the right are able to form rational arguments, raise concerns about specific problems, and offer solutions. But no, not in this case. The only reason for anyone to not be a diehard supporters of the author's point of view is that they have mutilated minds and are coding bums. Don't we take things a bit too serious these days? I've started programming with BASIC and I find the quotes kinda funny - I don't take it too serious and I am not sure if Dijkstra was being dead serious here either. For example: would anyone really think Dijkstra was in favour of locking COBOL teachers behind bars?
- rualca 5y ago> Don't we take things a bit too serious these days? I agree that this self righteous fake outrage targeted at those who point out bullying and abuse gets a bit too tiring, and adds nothing to the discussion. This is a very good example. Calling out the lack of rational arguments or any reasoning regarding a technical subject, and resorting to abuse to fill the void with ad hominem and bullying, is expected to be addressed with explanations on the technical merits of the original proposals. But no, here we are wasting time with chatter that boils down to "why aren't you ok with being subjected to abuse? Don't we need to roll over and shut up when someone throws ad hominems?" I guess we don't? But it seems that some people whine when they can't take what they are dishing out.
- dgb23 5y ago> Elitism and gatekeeping do precisely nothing to help people solve problems with code. I agree 99% here. The 1% is where you want to shock someone to break through. Not sure if that was Dijkstra's intention, but I assume it was. He was a teacher as well, writing books, giving lectures. I think he was genuinely concerned.
- deleted 5y ago[deleted]
- HelloNurse 5y ago> Elitism and gatekeeping do precisely nothing to help people solve problems with code. Unfortunately, elitism and gatekeeping "solve problems with code" indirectly, by keeping inadequate people away from developer roles where they would make problems worse with negative-value contributions. Software mistakes are common and expensive: there are very strong incentives to predict and prevent them by following processes and by putting someone competent in charge. It is of course possible for elitism and gatekeeping to select the wrong sort of people (for example, not recognizing terrible people outside a manager's area of expertise), but even intolerable toxic attitudes (e.g. hiring graduates from certain universities) can effectively keep away dangerous people.
- KronisLV 5y agoI'm not entirely sure that i can agree with that statement in its entirety, at least in the context of this particular type of toxic gatekeeping. If there are people who are inadequate at writing code and architecting software, then they should: - not manage to pass their university classes and not get a degree or a programming qualification - not manage to pass their internship by generating some value and proving that they're capable of learning and self-improvement - not manage to get the necessary certificates for a particular technology, as a vague proof of basic competency - not manage to solve the take home tasks that they're given by a company that's about to hire them or pass technical interviews - not manage to pass onboarding for some months and therefore should be fired - not manage to deal with their duties as a developer and therefore should be fired Of course, depending on different cultures, these things could change (e.g. bootcamp instead of university education, personal projects instead of certificates), but none of those involve calling someone: "...mentally mutilated beyond hope of regeneration," just because they used BASIC, PHP, Python, or any other easy language that let them solve easy problems without getting too deep into the internals of programming languages and how computers work. Furthermore, the difference is in attitude - if a person doesn't pass one of the above, they can probably just upskill themselves and spend more time refining their craft, reading books, working on projects etc., whereas dismissing them entirely is likely to demotivate them and so they'll never achieve anything. It might also be selecting for the wrong types of people - those who simply brush off criticism like that and don't care, as opposed to those who are more sensitive, something that should hardly matter in regards to developing code. There has to be a better and more constructive way of criticizing people and even dismissing them: for example, saying "Hey, your programming knowledge seems okay, but you should work on your system design skills. Try applying for a job in a year again," vs simply ghosting them. > Software mistakes are common and expensive: there are very strong incentives to predict and prevent them by following processes and by putting someone competent in charge. Lastly, this feels like the job of: - the compiler, for errors and warnings - the IDE and language server, for general suggestions - the linter, for code style rules - static analysis tools like SonarQube, for additional code checks - testing frameworks (including code coverage gates), for unit, integration and end-to-end tests - manual code reviewers, after everything above has been resolved by the code author - QA specialists, after all of the previous checks have been successfully passed As for having competent leaders, sernior developers, architects, security specialists etc., i wholly agree! That's not to say that the culture of software development needs to be a parody of anti-social behaviour.