Live data from Hacker News

The 'No True Programmer' Fallacy

jacquesmattheij.com

21–30 of 70 posts

Re: The 'No True Programmer' Fallacy

#21
> But that’s total nonsense. It’s like saying that there are only two kinds of people when it comes to swimming, those that can learn how to swim and those that can’t

It is a career advice. While most people can learn to swim, professional swimming is completely different level. If my friend is going to waste years of life and thousands of dolars to study wrong field, I would be very bad friend not to warn him.

BTW: I really wish someone would have told me early I suck at math and there are no jobs in physics. That would have save me a decade of my life.

Re: The 'No True Programmer' Fallacy

#22
Do we call people that put together chairs structural engineers? Do we call baristas chemists? Baseball players physicists?

Words exist for a reason, and using a spreadsheet does not make you a programmer. However I can already see that programmer is being diluted to mean anyone proficient with a computer. What term should we use for people that can write software? 'Software engineer' feels like overkill for writing small self-contained scripts.

Re: The 'No True Programmer' Fallacy

#23
>If you say someone isn’t a real programmer then you’re falling right into the No True Scotsman fallacy, where say making a spreadsheet is ‘not true programming’ because ‘No True Programmer’ would use a spreadsheet to solve a problem. But in my eyes being able to use a spreadsheet is already one step up the ladder and it does make you a programmer.

That's overcorrecting. Spreadsheets are a huge category. You can perform programming activities in spreadsheets and you can perform non-programming activities in spreadsheets.

Re: The 'No True Programmer' Fallacy

#24
Gatekeeping this profession seems overly ridiculous considering how excessively poorly we all are at practicing it. What is that saying about people yelling the loudest when the differences are smallest or something? It strikes me as some sort of compensation mechanism. Most of our code sucks, just really, honestly sucks. The number of software projects in history that have been done to the best capabilities that time and money would allow is an appallingly low number. Almost every software development effort involves a disturbing amount of half-assery. The amazing thing is that despite this it's possible to produce things that work and have considerable value. But there are so many ways we could do better, I wish more people would concern themselves with that rather than trying to ride the bleeding-edge of coolness or to prop up their personal identity as a "legitimate programmer" by playing the exclusion game.

Re: The 'No True Programmer' Fallacy

#25
> There are even studies on the subject to prove that there are ‘two kinds of people, those that can program and those that can never learn it no matter how much effort they put into it’

If you're referring to the "The Camel has Two Humps" paper then perhaps you'd like to know that the authors retracted their claim: http://www.eis.mdx.ac.uk/staffpages/r_bornat/papers/camel_hu...

Re: The 'No True Programmer' Fallacy

#26
This is a discussion that happens in a lot of different fields of practice. In medicine, you might have the argument over to what extent chiropractors or naturopaths are physicians; /r/justrolledintotheshop, one of my guilty pleasures, has recurring posts about embarrassing things that shadetrees have done. Right now they're doing the, "hah, car mechanics? Try being a boat mechanic! Hah, boat mechanic? Try being a diesel mechanic! Hah, diesel mechanic?..." It's all pretty light-hearted, one of the reasons that I like that sub, but still, there are similarities.

I get where they're coming from. I've put some effort into teaching programming to other people too: young kids, guys with electronics backgrounds but not software, even a homeless kid. I look at programming as a skill, like dancing, martial arts, or swimming, that can be practiced and improved for anyone that wants to put the time in to it.

But then sometimes I find myself on the other side of the fence, where a project is being made a lot more difficult by someone because, "I know Wordpress, so I'll just handle this complicated not-Wordpress-related hosting issue myself." Or, "my system was acting strange recently, and I saw this thing about hackers on NCIS, so I..."

So that's where I start to have a problem with thinking of spreadsheets as programming. Technically, Jacques is right, it absolutely is. People do hilariously incredible things with Excel -- even flight simulators! (https://www.youtube.com/watch?v=AmlqgQidXtk) But it's also not the same as developing an api or wrangling some other more advanced project, and when the people you're working with understand programming to be as difficult as a spreadsheet, it can make for some hopeless no-win situations.

At least in martial arts, if you decide to spar with somebody that's a lot more advanced than you, you'll learn your mistake pretty quickly. If you practice swimming in a backyard pool and then decide to have a go at the ocean, you'll have a pretty sobering experience if you're lucky. But in software, it's possible to muddle along for quite a long time, making a really expensive mess, before you realize that you're in over your head. (Which probably most of us have done at some point.)

Re: The 'No True Programmer' Fallacy

#27
post #4

Earlier quoted context omitted.

It's a thing I keep running into over and over again. I'm really happy that you haven't and that for you personally this is not an issue. Unfortunately your sample of '1' may not be representative. http://arstechnica.com/information-technology/2012/09/is-it-... http://blog.codinghorror.com/please-dont-learn-to-code/ http://programmers.stackexchange.com/questions/163631/has-no... https://news.ycombinator.com/item?id=5…

I'll be your non-strawman. Consider other fields: - Is everyone suited to be a mathematician? - What about a building engineer? - An electrical engineer? None of these things are magic. None of these things are something someone can't learn "a little" about. And yet, like programming, all of these require a great deal of effort to master any degree of proficiency; this 1) takes individual dedication, and 2) is underm…

Are you describing jobs or activities?

As an example of what I mean, the word 'mathematician' usually refers to someone who works as an academic in a University department and teaches advanced mathematics and who contributes research. This is hard, requires considerable focus and dedication.

Most people in societies with good educational systems can do mental arithmetic, and a majority could learn to apply mathematical results to situations e.g. at work if they needed to. Some countries have invented a special words for this latter kind of maths use - 'numeracy' and 'functional skills' are in use in the UK.

So again the word 'programmer' or its various synonyms covers your case - a 'programmer' helps to produce complex software as part of a team (usually) and spends most of their time on that.

Other people may do tasks that look a bit like the easier bits of programming as a smaller part of their job. OA mentions complex spreadsheets (and wow can they get complex but that is often part of the problem) and I'd go so far as to include a bit of bash, and perhaps a few lines of python to help in administration tasks.

Perhaps it is the last activity that we need a word for?

Re: The 'No True Programmer' Fallacy

#28
post #22

Do we call people that put together chairs structural engineers? Do we call baristas chemists? Baseball players physicists? Words exist for a reason, and using a spreadsheet does not make you a programmer. However I can already see that programmer is being diluted to mean anyone proficient with a computer. What term should we use for people that can write software? 'Software engineer' feels like overkill for writing…

> What term should we use for people that can write software?

I don't think there's a need for a word, just as there is no word for a person who can swim (swimmer implies they do it regularly) or a person who can assemble IKEA products.

Re: The 'No True Programmer' Fallacy

#29
post #25

> There are even studies on the subject to prove that there are ‘two kinds of people, those that can program and those that can never learn it no matter how much effort they put into it’ If you're referring to the "The Camel has Two Humps" paper then perhaps you'd like to know that the authors retracted their claim: http://www.eis.mdx.ac.uk/staffpages/r_bornat/papers/camel_hu...

Oh wow, that is amazing. The guy flipped out on anti-depressants and wrote an influential paper that he now disavows. I wasn't expecting that.

Re: The 'No True Programmer' Fallacy

#30
There is a binary test for a programmer: someone with basic proficiency in a Turing-complete language. I like this answer on SO about what that is:

https://programmers.stackexchange.com/questions/132385/what-...

> In general, for an imperative language to be Turing-complete, it needs:

1. A form of conditional repetition or conditional jump (e.g., while, if+goto)

2. A way to read and write some form of storage (e.g., variables, tape)

For a lambda-calculus–based functional language to be TC, it needs:

1. The ability to abstract functions over arguments (e.g., lambda abstraction, quotation)

2. The ability to apply functions to arguments (e.g., reduction)

--

Note that you can be a programmer without ever having touched a computer, people have been coming up with algorithms and integrating them into systems for ages.

Post reply on HN