As we all know, ``Computer Science'' is a terrible name for this business.
So what does /prog/ consider CS? Engineering or Art? From my personal point of view, I think the programming aspect of CS requires a lot of creativity, which covers the ``art'' aspect of it. Engineering comes into it specifically during software design
ASSEMBLY IS THE
ONLY TRUE ART.
ALL OTHER LANGUAGES
AND PURE BULLSHIT.
VX FOR LIFE
Name:
Anonymous2007-09-02 17:41 ID:+MM2OYLg
Magic.
In Science, most people actually have a clue, which is clearly not happening. People model and study reality, while here we define how it is.
Art is one of the proper tasks of life, and in a way, when we express ourselves in a creative way, we're artists. For example, from the Linux kernel, fs/ufs/ufs_super.c: printk("ufs_read_super: fucking Sun blows me\n"); However, it's hard to argue programming is much of an art. Most of your expressions are about "This piece of shit won't work", "I hate my stupid magazine-reading Java-ass-licking boss", or "I'll make it work this way, fuck the morons who don't like it".
No engineering discipline will ever tolerate the "let's just try it lol" or "I don't understand why this hack works but who cares" culture. fprintf(stderr, "***In SomeFunction, i=%d j=%d lolololol it happened I told you***\n", i, j) is not the usual way an engineer works. Yet engineering is probably what programming has the most in common: rational design of complex systems (even if we nigger rig most of them).
But I'm choosing magic, because there are many wonderful things we can do in this business no scientists, artists or engineers can dream of doing. For example, the fact that we can always go back to the previous state. We can try anything with no repercussions other than wasting time. We can clone identical environments. We can simulate things. We can build infinitely complex systems through abstraction, aggregation and iteration, with the only limitation of available storage space and execution time. And we don't need to have the big picture in our minds; in fact the big picture it may not fit any man's mind.
Name:
Anonymous2007-09-02 18:50 ID:vvEvSKaT
The technology consists of tools, practical techniques, and standards, allowing us to do programming. The science consists of a broad and deep theory with predictive power, allowing us to understand programming. Ideally, the science should explain the technology in a way that is as direct and useful as possible.
If either part is left out, we are no longer doing programming. Without the technology, we are doing pure mathematics. Without the science, we are doing a craft, i.e., we lack deep understanding.
Teaching programming correctly therefore means teaching both the technology (current tools) and the science (fundamental concepts). Knowing the tools prepares the student for the present. Knowing the concepts prepares the student for future developments.
(Name that copypasta.)
Name:
Anonymous2007-09-03 4:44 ID:rimqhTBR
>>9
I’M ASSEMBLY
SON OF A BITCH LISP
LISP IS PIG
DO YOU WANT ABSTRACTION?
DO YOU WANT FUNCTIONAL PROGRAMMING?
LISP IS PIG DISGUSTING
SUSSMAN IS A MURDERER
FUCKING SCHEME