# Why do people enjoy studying computing/computer science so much?

**URL:** <https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604>\
**Category:** In My Humble Opinion\
**Created:** [May 26, 2005, 2:39pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604 "2005-05-26T14:39:09Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Douggy](https://avatars.discourse-cdn.com/v4/letter/d/e99b99/32.png) [@Douggy](https://boards.straightdope.com/u/Douggy)\
**Post date:** [May 26, 2005, 2:39pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/1 "2005-05-26T14:39:09Z")

</div>

See I for one only enjoy studying or working with computers because of the _utility_ it affords me.

For example, if I don’t learn something that I can use later on, I might as well not bother learning it.

Like let’s say I study how the filing system works in XP. I’ve got to be able to (hopefully) use it in some way (say like being able to sort out or de-bug my system), otherwise I feel like I’ve wasted my time.

The thing is, with other studies, I don’t really feel the same. If I learn something about a piece of history, for example, I know I may never use this piece of information ever again. Yet I still don’t really feel like it’s all been a waste. This is true of most of the esoteric studies I would try my hand at.

However, this has never been the case with computers. I have ALWAYS wanted to learn something just so I could use it for something later.

So tell me, for those of you who study computers/computing/computer science full time or make it your full-time employment, what about this particular subject drives you to study it so much?

Are you like me, where you want to learn lots of stuff just so you can use it later?

Or is there some romantic aspect I’m missing here?

I can definately see that aspect in math. There’s a certain kind of elegance or beauty about pure applied logic, something that’s intrinsically very satisfying to a human being about problem solving.

But honestly, besides wanting to learn stuff you can use, I don’t get what all the fuss is about with respect to computers/computing/computer science.

So, Enlighten me.

---

<div class="post-metadata">

**Author:** ![Dragwyr](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dragwyr/32/2855_2.png) [@Dragwyr](https://boards.straightdope.com/u/Dragwyr)\
**Post date:** [May 26, 2005, 2:46pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/2 "2005-05-26T14:46:53Z")

</div>

For me I’ve always had an interest in computers and gadgets in general, but the real attaction for me was the puzzle factor. I love puzzles of all kinds and computers to me are just big complicated puzzles just waiting to be figured out.

Hope this answers your question.

---

<div class="post-metadata">

**Author:** ![QuickSilver](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/quicksilver/32/7832_2.png) [@QuickSilver](https://boards.straightdope.com/u/QuickSilver)\
**Post date:** [May 26, 2005, 2:49pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/3 "2005-05-26T14:49:31Z")

</div>

Years ago, when I was a wee lad doing my Comp.Sci degree, I learned about data structures and bi-directionally linked lists. I found it not only really clever but a real revelation.

Never used it again since. But I still remember that class.

Now, after near 20 years, all the passion and fire has been beaten out of me. I only learn what I need to know and erase if from memory to make room for great recipies on the cooking channel.

---

<div class="post-metadata">

**Author:** ![elfbabe](https://avatars.discourse-cdn.com/v4/letter/e/b782af/32.png) [@elfbabe](https://boards.straightdope.com/u/elfbabe)\
**Post date:** [May 26, 2005, 3:37pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/4 "2005-05-26T15:37:54Z")

</div>

Completely unhelpful answer: It’s just fun!

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [May 26, 2005, 3:46pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/5 "2005-05-26T15:46:40Z")

</div>

I’m a software engineer, and I like my job because it demands sharp technical, creative, and interpersonal skills. You’d be hard-pressed to find too many other careers that have that mix.

I like pure computer science because it’s very abstract–so the intellectual challenge is there–but it also has a very different feel from traditional mathematics. I think that every mathematician should be required to study basic computation theory.

> [@QuickSilver](#):
>
> Years ago, when I was a wee lad doing my Comp.Sci degree, I learned about data structures and bi-directionally linked lists. I found it not only really clever but a real revelation.

Heh. I still remember one of my professors telling me about when linked lists were considered graduate level material back in the 70s.

---

<div class="post-metadata">

**Author:** ![Finagle](https://avatars.discourse-cdn.com/v4/letter/f/b19c9b/32.png) [@Finagle](https://boards.straightdope.com/u/Finagle)\
**Post date:** [May 26, 2005, 4:23pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/6 "2005-05-26T16:23:05Z")

</div>

> [@Douggy](#):
>
> Or is there some romantic aspect I’m missing here?

In my experience, computer science and romance are almost mutually exclusive. Your mileage may vary.

Why computer science? Well, first of all, when I got into it almost 30 years ago, it was an almost brand new field. Lots of cool stuff to work on. Hell, vector graphics were considered really leading edge. There was the fun of solving problems and, unlike more theoretical sciences, you actually produced something (even it was a stack of punched cards that spent the next 20 years in the attic).

As for, “do you learn it for fun or necessity?”, I think most computer geeks will start by obsessively learning one operating system or language. Once you’ve mastered that, all the others are pretty similar by analogy, so there’s no real reason to learn a new API set unless you have to. By then, you know the underlying concepts.

Really, the best part of computer science is that you get to design and build something that people use. At its best, that can be a lot of fun and very rewarding.

---

<div class="post-metadata">

**Author:** ![Bippy\_the\_Beardless](https://avatars.discourse-cdn.com/v4/letter/b/ac8455/32.png) [@Bippy\_the\_Beardless](https://boards.straightdope.com/u/Bippy_the_Beardless)\
**Post date:** [May 26, 2005, 4:29pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/7 "2005-05-26T16:29:21Z")

</div>

Writing computer programs is quite a lot like playing lego or erector sets (mechano). You take small functional pieces and put them together to create larger more complex functional pieces that can finally be put together to make something intriguing or beautiful or practical. If you consider a modern computer it is quite obviously impossible that it can be used in all the ways that it can actually be used. The internet is so obviously impossible as to seem almost a silly idea to even immagine. Yet both exist, computer science helps you understand how these obviously impossible things actually exist and work,.Ssimilar to how Quantum Mechanics helps you understand how impossible things like atoms exist and work. Similar to how General Relastivity helps you understand how impossible things like stars and galizies exist and work.

---

<div class="post-metadata">

**Author:** ![elfbabe](https://avatars.discourse-cdn.com/v4/letter/e/b782af/32.png) [@elfbabe](https://boards.straightdope.com/u/elfbabe)\
**Post date:** [May 26, 2005, 5:06pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/8 "2005-05-26T17:06:10Z")

</div>

> [@ultrafilter](#):
>
> Heh. I still remember one of my professors telling me about when linked lists were considered graduate level material back in the 70s.

So what’s everyone’s favorite data structure? I’m rather fond of heaps. I don’t really USE them, but I do think they’re neat.

[quote=Bippy the Beardless]  
Writing computer programs is quite a lot like playing lego or erector sets (mechano).

Yeah, I suppose it is. I never really had the COOL Legos, just the little-kid ones with the really big blocks, but I did do a lot with Tinkertoys… and K’Nex… and this one building set whose name I can’t remember, but that I used an awful lot. (It had these gray - or sometimes red or blue - globes with holes in them at different positions, into which you snapped gray or red plastic pieces of varying length. There were also triangular and square plates. Sound familiar to anyone?) As I recall, I built a spaceship.

I never got an Erector Set, though. I felt that the fact that they came with motors was cheating.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [May 26, 2005, 5:08pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/9 "2005-05-26T17:08:27Z")

</div>

> [@elfbabe](#):
>
> So what’s everyone’s favorite data structure? I’m rather fond of heaps. I don’t really USE them, but I do think they’re neat.

Skip lists. They have the same performance as an balanced binary tree, but they’re exceedingly simple to code.

---

<div class="post-metadata">

**Author:** ![ZebraShaSha](https://avatars.discourse-cdn.com/v4/letter/z/eada6e/32.png) [@ZebraShaSha](https://boards.straightdope.com/u/ZebraShaSha)\
**Post date:** [May 26, 2005, 5:19pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/10 "2005-05-26T17:19:22Z")

</div>

I think I study electronics, and to a lesser degree computers, because there is something wonderfully silly about having massive, complex, life-altering machines that work simply because of power being turned on and off. It also has something to do with being wonderfully complex and beautifully simple at once. No matter how complex or complicated a machine you can build, it still functions, atleast intially, by the interuption of power. Nifty.

---

<div class="post-metadata">

**Author:** ![elfbabe](https://avatars.discourse-cdn.com/v4/letter/e/b782af/32.png) [@elfbabe](https://boards.straightdope.com/u/elfbabe)\
**Post date:** [May 26, 2005, 5:28pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/11 "2005-05-26T17:28:45Z")

</div>

> [@ultrafilter](#):
>
> Skip lists.

I had a bad experience with skip lists. (Introduced to them by a professor who wasn’t very good) But yeah, they are pretty cool.

---

<div class="post-metadata">

**Author:** ![Trunk](https://avatars.discourse-cdn.com/v4/letter/t/87869e/32.png) [@Trunk](https://boards.straightdope.com/u/Trunk)\
**Post date:** [May 26, 2005, 5:35pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/12 "2005-05-26T17:35:57Z")

</div>

> [@elfbabe](#):
>
> So what’s everyone’s favorite data structure?

Matrix.

They might not be as “classic” a data structure as a _linked list_ or a _hash table_, but to me, they represent a sublime blend of mathematical theory, computer implementation and practical application.

And, C++ is a perfect platform for them, IMHO.

To the OP: people just like fiddling with computers. Like people used to like fiddling with old-timey radios or their cars. They’re just a cool gadget.

---

<div class="post-metadata">

**Author:** ![QuickSilver](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/quicksilver/32/7832_2.png) [@QuickSilver](https://boards.straightdope.com/u/QuickSilver)\
**Post date:** [May 26, 2005, 5:51pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/13 "2005-05-26T17:51:44Z")

</div>

Binary trees. Divide and conquer! 🙂  
Jebus… we’re a bunch of freakin’ geeks. 😛

---

<div class="post-metadata">

**Author:** ![elfbabe](https://avatars.discourse-cdn.com/v4/letter/e/b782af/32.png) [@elfbabe](https://boards.straightdope.com/u/elfbabe)\
**Post date:** [May 26, 2005, 8:40pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/14 "2005-05-26T20:40:11Z")

</div>

> [@QuickSilver](#):
>
> Binary trees. Divide and conquer! 🙂

Yeah, I think that “What’s your favorite data structure?” is quite possibly one of the dorkiest questions ever. (Though an ex-roommate of mine did get that as an interview question when trying to get a TA job.)

Next up: “What’s your favorite Sindarin verb?”

---

<div class="post-metadata">

**Author:** ![rjung](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@rjung](https://boards.straightdope.com/u/rjung)\
**Post date:** [May 26, 2005, 8:52pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/15 "2005-05-26T20:52:32Z")

</div>

A computer (well, software, anyway) does what you tell it to; if the program isn’t working right, then it’s something you’re doing wrong, and you have to fix it.

Unquestioning obedience + puzzle-solving fun, what more could you ask for? 🙂  
And my favorite data structure is the doubly-linked list. 😃

---

<div class="post-metadata">

**Author:** ![friedo](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@friedo](https://boards.straightdope.com/u/friedo)\
**Post date:** [May 26, 2005, 9:01pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/16 "2005-05-26T21:01:44Z")

</div>

> [@Trunk](#):
>
> And, C++ is a perfect platform for them, IMHO.

C++ is not an ideal platform for _anything_.

I became a software engineer because I love the potential for computer science to benefit humanity. The stuff I work on is rather mundane, but everything I do solves a problem someone had, thereby making their life easier, and improving my little corner of humanity. Isn’t that cool? I think it is.

> [@ultrafilter](#):
>
> Skip lists. They have the same performance as an balanced binary tree, but they’re exceedingly simple to code.

I’ll take a skiplist and raise you a bidirectional squarelist!

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [May 26, 2005, 9:09pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/17 "2005-05-26T21:09:33Z")

</div>

> [@friedo](#):
>
> I’ll take a skiplist and raise you a bidirectional squarelist!

I’m not familiar and Google’s not helping. What’s that?

---

<div class="post-metadata">

**Author:** ![elfbabe](https://avatars.discourse-cdn.com/v4/letter/e/b782af/32.png) [@elfbabe](https://boards.straightdope.com/u/elfbabe)\
**Post date:** [May 26, 2005, 9:32pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/18 "2005-05-26T21:32:06Z")

</div>

> [@friedo](#):
>
> C++ is not an ideal platform for _anything_.

Ooh, now the holy wars start!

:eek:

_hides_

---

<div class="post-metadata">

**Author:** ![Bippy\_the\_Beardless](https://avatars.discourse-cdn.com/v4/letter/b/ac8455/32.png) [@Bippy\_the\_Beardless](https://boards.straightdope.com/u/Bippy_the_Beardless)\
**Post date:** [May 26, 2005, 9:38pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/19 "2005-05-26T21:38:11Z")

</div>

> [@elfbabe](#):
>
> I never really had the COOL Legos, just the little-kid ones with the really big blocks,

Ah a reason to pit **Quadop** , not getting the cool legos is like child cruelty 🙂

---

<div class="post-metadata">

**Author:** ![friedo](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@friedo](https://boards.straightdope.com/u/friedo)\
**Post date:** [May 26, 2005, 11:49pm UTC](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604/20 "2005-05-26T23:49:13Z")

</div>

> [@ultrafilter](#):
>
> I’m not familiar and Google’s not helping. What’s that?

A squarelist is similar to a skiplist. But instead of having one big list with two sets of links, you have a linked list whose nodes point to other linked lists, forming a “square.” Node A in the first list points to a second list with all the nodes that should appear between it and node B in the first list. The effect is basically the same, and it’s easy to make them recursive by adding as many dimensions as you want.

[Next page](https://boards.straightdope.com/t/why-do-people-enjoy-studying-computing-computer-science-so-much/305604.md?page=2)
