4 ms·
I saw a few years ago a study which claimed professional programmers had the second or third highest average IQs of any occupation. Probably depends on how you
by ellyagg 16y ago
I saw a few years ago a study which claimed professional programmers had the second or third highest average IQs of any occupation. Probably depends on how you measure, but you get my point. After 10 years of programming, it's only gotten marginally easier. The fundamental stuff of programming, solving highly complex and abstract problems, never seems to go away. Somehow I doubt bricklayers can say the same.
- jacquesm 16y agoProgramming is part craft, part science, and occasionally a very small dash of inspiration or art. But for the most part I think that a very large amount of it is very comparable to bricklaying. Especially in the part where most people in the IT world make their money, such as software for the financial and the business world. Rarely does it elevate itself to the level of watchmaking and even rarer do you find art. It does happen though, but not often. I'm sure that programming is conceptually different from bricklaying in a sense that we are solving puzzles, sometimes. But everybody that got in to it for that reason knows that the only time you really need that skill is when you've messed up and you are facing a very tough bug. Once you get better at programming it is more like knitting or weaving than puzzling. Of course there are different styles of programming, and there are only so many kinds of brick. But programming for the most part is hard because we have chosen to make it hard. If bricklayers had to create each and every brick from clay and bits of stone then you'd be much closer to what programmers do for a living than what bricklayers do. Bricklaying has been 'industrialized', and one day programming will be too. It will probably still be marginally harder than bricklaying, even after that has happened. But if you can explain what you want done and in which order then you are essentially programming. People often say they would like to learn how to program but they are not smart enough for it. And plenty of programmers just love that because it makes them appear special. But I think anybody can program, the difference is not some binary switch in your head 'programmer/non-programmer'. The difference is in how complex an arrangement you can create, and that's a continuum. Some programmers are better at this than others and can solve more complex problems.
- ismarc 16y agoBricklaying is actually a really good comparison to programming. It's stacking bricks with glue. But those bricks eventually end up making an entire building. And with that, you have corners, archways, windows, doorways that you have to determine how to cut or turn the bricks so that it will support the bricks you're going to put above it, or the lack of bricks below it. Bricklaying is a craft and an application of sciences that are well understood. That's the reason why so many comparisons fall flat, why there's discussion about "is it science" and "is it art". The only part of software development (I'd like to use the term engineering and have it mean that one day, it'd be nice) that's art should one day be science. Let's face it, with programming, we're inventing entirely new domains with their own special rules that we create. It can be an artistic process or a scientific process. As an artistic process, it's very hard to judge the outcome from the start. As a scientific process, the result is much easier to judge prior to completion. Until the processes and methods are understood to a sufficient level, programming will be very much like an art. Once they're understood, it's a science, apply the rules and out pops a software. I have several relatives that are plumbers, electricians, carpenters and architects. Once there's a common set of tools, language (as in, for communication between people) and understanding, programming is no different than any other craft.
- jacquesm 16y agoThe windows, corners, doorways and arches where exactly what I had in mind, but even a straight wall is already pretty hard. Each building is, when it's done a work of art, and possibly more so than most computer programs, especially your garden variety throw-away web-app. The 'art' part in programming is exactly that part where it is not yet a science.
- jimbokun 16y ago"Bricklaying has been 'industrialized', and one day programming will be too." This prediction has been made for decades now. I suppose if people keep predicting this indefinitely, someday it will become true. In the meantime, new programming tasks are invented faster than the old tasks are industrialized. "Once you get better at programming it is more like knitting or weaving than puzzling." This is up to you. Was building Google, Amazon, Linux, Firefox, iPhone OS, etc. etc. etc. more like knitting or weaving than puzzling? Maybe what you are saying is that most programmers aren't good enough to build those kinds of products, or would just rather stick to their knitting and weaving. That I would agree with. "Some programmers are better at this than others and can solve more complex problems." This is trivially true of any cognitive task.