4 ms·
Programming is like building a house - except that no one talks about themselves as being a "house builder". There are carpenters, electricians, HVAC contracto
by nickmain 14y ago
Programming is like building a house - except that no one talks about themselves as being a "house builder".
There are carpenters, electricians, HVAC contractors, general contractors, landscape architects, plumbers, cabinet fitters, tiling contractors, painters, carpet installers, roofers, architects, etc.
Each one takes a pride in their own craft and together they build house with (hopefully) the minimum of squabbling and turf wars.
One day the process of solving problems using computers will be like that, right now we are in the dark ages.
- jamesbritt 14y agoProgramming is like building a house - except that no one talks about themselves as being a "house builder". Flawed analogy. Programming is more like being a carpenter or an electrician or a landscaper.
- nickmain 14y agoThat was my point - an individual practitioner is like any one of those roles I mentioned. The problem is that we are all lumped together under the nebulous term "programmer" - and that leads to unnecessary antagonism.
- icebraining 14y agoAnd we have systems programmers - including kernel developers, compiler writers, etc -, web developers (often divided into backend and frontend), security experts. And we do "build houses" with a minimum of squabbling; when was the last time you heard of a web startup hacking on the Ruby core or the Linux kernel? And the compiler vendor deciding what kinds of programs should be done with it? On the contrary; our work is very specialized. It's just that when we build some house foundations, we can just then ship'em out to others to use, as prefabricated components.
- Nursie 14y agoErrr... not really a valid analogy surely? I've done varied load of stuff from kernel hacking to Javascript widgets. Now most of my professional work leans more towards low-level and backend stuff in C, but that doesn't mean I can't turn my hand to other things and understand them quickly. The principles are the same in most cases. Carpentry and electrical work are separate disciplines. Systems programming in C and web-frontend hacking in CSS/whatever are would be just like using different types of wood and knowing which joins and what adhesives go well with them. There's no need to limit yourself to one tool is there?
- randomdata 14y agoI agree with you, though carpentry and cabinet making are generally considered different disciplines despite using many of the same tools and materials. That might be a little closer analogy with respect to kernel hackers and web hackers. Me? I just like to solve problems. If the problem requires hacking a kernel, I'll do that. If it requires baking a cake, I'll do that. If I need to print a circuit board, I'll do that. I don't see any reason to get too caught up in tools, personally.