Remix.run Logo
embedding-shape a day ago

> I want to build. It's human to want to build.

Anything a human feels is human, regardless if it's to build or to not build :) Some people prefer some ways of building, others in other ways, it's all fine. I think lots of people forget that programming is a heavily creative endeavor in the end.

If I wanted to be slightly controversial, I'd argue building a program is more like painting a painting than building a bridge, for better and worse.

brewtide a day ago | parent [-]

Interesting you bring up (artistic) painting and bridge building.

I'm a house painter, and while the work is... It's just relentless work and staring all day.

It's the end results of making something just, better, with the simple acts of reputation and giving a shit about it.

Just wondering where house painter falls in your scale, I'd hunch.

gpm a day ago | parent | next [-]

Not the person you're replying to, but I'd agree with them, and think house painting would be basically identical to building a bridge.

The difference this comparison is capturing in my opinion is that of thinking up something new, compared to arranging things in a well known/already defined configuration. We know how to build bridges, we just have to do it (maybe including some calculations and site surveys, yes, but novel solutions are rightfully shunned). Similarly painting a house.

Developing software is practically definitionally creating a novel thing. If we wanted the same software over again we could literally copy and paste the existing executable (and we do that all the time, it's just not called developing software or enough work to be a job, since we have machines that are excellent at arranging the electrical charge in the pre-defined manner).

The actually-a-job* software equivalent of painting a house or building a bridge would be weaving a program into core rope memory: https://en.wikipedia.org/wiki/Core_rope_memory

* Not a job you can get anymore.

skydhash a day ago | parent [-]

Creating a program is more like the interior designer choosing paints or the engineer designing a bridge in some CAD software. The actual painting/building has been automated for ages and they are the compiler/computer combo.

People who are new to the scene may find "browsing catalog"/"configuring models" tedious, but that's how you develop the intuition of what works and what not. After a while, you can shortcut most of the tediousness with those heuristics. You know enough blocks that it's just choosing the right one to fit the solution and you do not have to research them and understand them at the same time (where most of the beginners' time is dedicated to).

gpm a day ago | parent | next [-]

There is programming that is like that - it is not all programming, and I strongly suspect not the the majority by dollars invested into developers - even it is less of an interior designer choosing paints and more of an entire designer designing an entire interior.

Once you get away from the very trivial side of programming, yes you are standing on the shoulders of giants, but the design decisions are in fact truly novel un-forced choices. Ask two people to make a "note taking app for university students" and you'll get two very differently shaped apps.

datadrivenangel a day ago | parent | prev [-]

And then endless tweaks for CSS when the home owner decides they don't like the color of their molding...

alightsoul 16 hours ago | parent | prev [-]

painting can either be a plumbing job or a canvas with an image. using clay and concrete can be either a bridge (similarly to the function of plumbing) or a sculpture. programming can be the same either crud and cloud or something just created for artistic expression like the ioccc.