TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Why do you love programming?

15 pointsby s3archabout 3 years ago
Personally I cannot express this better than what Frederick P. Brooks said.<p>From his own words:<p>Why is programming fun? What delights may its practitioner expect as his reward?<p>First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God&#x27;s delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake.<p>Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful. In this respect the programming system is not essentially different from the child&#x27;s first clay pencil holder &#x27;&#x27;for Daddy&#x27;s office.&quot; Third is the fascination of fashioning complex puzzle-like objects of interlocking oving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning. The programmed computer has all the fasci- nation of the pinball machine or the jukebox mechanism, carried to the ultimate.<p>Fourth is the joy of always learning, which springs from the nonrepeating nature of the task. In one way or another the problem is ever new, and its solver learns something: sometimes practical, sometimes theoretical, and sometimes both.<p>Finally, there is the delight of working in such a tractable medium. The programmer, like the poet, works only slightly re- moved from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. (As we shall see later, this very tractability has its own problems.) Yet the program construct, unlike the poet&#x27;s words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to Hfe, showing things that never were nor could be. Programming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in commonwith all men.

7 comments

otrasabout 3 years ago
I find that this quote from the SICP video lectures sums it up well for me:<p><i>And that is that computer science, in some sense, isn&#x27;t real. You see, when an engineer is designing a physical system, that&#x27;s made out of real parts. The engineers who worry about that have to address problems of tolerance and approximation and noise in the system. So for example, as an electrical engineer, I can go off and easily build a one-stage amplifier or a two-stage amplifier, and I can imagine cascading a lot of them to build a million-stage amplifier. But it&#x27;s ridiculous to build such a thing, because long before the millionth stage, the thermal noise in those components way at the beginning is going to get amplified and make the whole thing meaningless.</i><p><i>Computer science deals with idealized components. We know as much as we want about these little program and data pieces that we&#x27;re fitting things together. We don&#x27;t have to worry about tolerance. And that means that, in building a large program, there&#x27;s not all that much difference between what I can build and what I can imagine, because the parts are these abstract entities that I know as much as I want.</i><p><i>I know about them as precisely as I&#x27;d like. So as opposed to other kinds of engineering, where the constraints on what you can build are the constraints of physical systems, the constraints of physics and noise and approximation, the constraints imposed in building large software systems are the limitations of our own minds.</i><p><a href="https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-computer-science&#x2F;6-001-structure-and-interpretation-of-computer-programs-spring-2005&#x2F;video-lectures&#x2F;1a-overview-and-introduction-to-lisp&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-compu...</a><p><a href="https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-computer-science&#x2F;6-001-structure-and-interpretation-of-computer-programs-spring-2005&#x2F;video-lectures&#x2F;1a-overview-and-introduction-to-lisp&#x2F;-J_xL4IGhJA.pdf" rel="nofollow">https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-compu...</a>
评论 #30519626 未加载
mikewarotabout 3 years ago
I love building things that are immediately useful to myself and others. When I get to choose the language and design things from scratch, it&#x27;s easy.<p>I&#x27;ve learned how to negotiate with others, especially to help guide them because they don&#x27;t know what is trivial, or impossible, in programming. I really enjoy my time getting things they can be happy with, out the end of the pipeline.<p>Programming makes you omnipotent, anything that can be computed, you can figure out how to make happen. Especially with hardware as insanely fast as it is now!
kosasbestabout 3 years ago
I&#x27;ve grown to liking one liner helper scripts, especially browser bookmarklets that do one thing well, and Linux commands that help with specific problems. Large abstractions built with billions of components scare me these days as they &#x2F;will&#x2F; have security issues and regularly break due to the abstraction.<p>The UNIX philosophy of one-thing-well is what I live by now. Now and then however, I am required to dive into a large code-base to debug stuff, but it&#x27;s getting rarer as I&#x27;ve trained myself to avoid large abstractions. It takes discipline doing that, but it can be done.<p>(I still love building things and sharing with others)
m4rc3lvabout 3 years ago
It is making things without having to pay money. It is a cheap hobby you can always fall back to.
gusfrehseabout 3 years ago
You can apply too much math in it, it&#x27;s incredible.<p>Computer graphics has all the matrices&#x2F;spaces&#x2F;quaternions that are super interesting.<p>Then you have functional programming and all the things that come with it.<p>You use binary, not decimal.<p>You can make graphs really easily.<p>And all of these are interactive.<p>It&#x27;s just a big math playground.
david927about 3 years ago
I hate programming. I like constructing software but I loathe programming.<p>Designing Chartres is thrilling; building it with pebbles and tin-foil (all current programming languages) is heart-breaking.
mettamageabout 3 years ago
&gt; eal in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.<p>We harnessed the power of electromagnetism to be able to create spells. One of the spells we have is pseudo-telepathic communication with known and unknown entities. We can summon certain items, services and people into our existence, as long as we pay tribute with the energy that fuels our capitalistic world. Nowadays we can even create something similar to a Golem [1]!<p>And all of this is happening while the Milky Way and Andromeda galaxy have just touched each other with their most outer parts, ready to start their dance to become one big giant galaxy with an even bigger black hole at the center of it.<p>Magic exists. It&#x27;s simply not the magic that we see in fiction. But I find it at least as magical.<p>Anything microscopic is analogous to a ghost. Any microscopic life feels analogous to a ghost world.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Golem" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Golem</a>