7 ms·
To put it a bit over the top: In every other language you write code. Perl is magic and you write spells. It suppose to be this way, because the way it works is
by f055 8y ago
To put it a bit over the top: In every other language you write code. Perl is magic and you write spells. It suppose to be this way, because the way it works is sorcery. I don’t know about you, but I always wanted to be a wizard, not a typist.
- rat87 8y ago> In every other language you write code. Perl is magic and you write spells. Really? Every other language? https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-9.html#%_chap_1 https://mitpress.mit.edu/sites/default/files/sicp/full-text/... > The evolution of a process is directed by a pattern of rules called a program. People create programs to direct processes. In effect, we conjure the spirits of the computer with our spells. > A computational process is indeed much like a sorcerer's idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. The programs we use to conjure processes are like a sorcerer's spells. They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform. > A computational process, in a correctly working computer, executes programs precisely and accurately. Thus, like the sorcerer's apprentice, novice programmers must learn to understand and to anticipate the consequences of their conjuring. Even small errors (usually called bugs or glitches) in programs can have complex and unanticipated consequences. > Fortunately, learning to program is considerably less dangerous than learning sorcery, because the spirits we deal with are conveniently contained in a secure way. Real-world programming, however, requires care, expertise, and wisdom. A small bug in a computer-aided design program, for example, can lead to the catastrophic collapse of an airplane or a dam or the self-destruction of an industrial robot. ... > The dialect of Lisp used in this book is called Scheme.
- webreac 8y ago"we conjure the spirits of the computer with our spells" is one of my favorite quotes about computers with "Computer programming is an art form, like the creation of poetry or music" (Donald E. Knuth)
- hyperpallium 8y ago> The programmer, like the poet, works only slightly removed 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.... Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. […] 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. (Fred Brooks)
- nemo1618 8y agoI have to disagree. Programming is certainly a craft, but it is not an art form. Programming is fundamentally a means to an end, whereas art can be an end in itself. Programming is much closer to swordsmithing. It is possible to create a sword that is both deadly and beautiful, but the former always takes precedence over the latter. Furthermore, there are clearly-defined constraints: you cannot smith an axe and call it a sword, just as you cannot write a web scraper and call it a raytracing engine. Art does not have this limitation. In any art medium, you can imagine creating a horribly mangled artifact, like a canvas smeared with random colors, or a piece of discordant music, or a violently disorienting video game -- and yet these would still be considered art. But a program full of syntax errors is like a cracked sword without a hilt: useless. Art cannot be useless.
- svrtknst 8y agoA cracked sword without a hilt can't be called a sword, but it can be called art. A program full of syntax errors may not be a valid program, but it can be valid art.
- nemo1618 8y agoSure, but only because "art" is essentially boundaryless and actively resists attempts to define it. If you stretch the definition far enough, everyone is an artist and everything is an artistic medium.
- q3k 8y agoI'd rather work with a typist than a wizard.
- f055 8y agoAnd I respect that.
- bane 8y agoI'm not up on the newest Perls, but back in the day I wrote a lot of Perl 5. It always felt like having a nice conversation with my computer where I was eventually able to convince it to provide me with what I wanted it to do and sometimes it would just make leaps and figure it out for me or do what I meant. It's very specifically not a language that works like a finely tuned scientific instrument. It has the messiness of a paintbrush for an impressionist not the scalpel precision of an architect's toolkit. It has just such a different feel that people who don't come from that mindset won't get it. It's not a superior language, just one that has a different way about it.
- f055 8y agoI concur!