Hacker News new | ask | show | jobs
by zonotope 1215 days ago
> About understanding how to control computers (which are fast electronic machines)

Computer Systems Engineering

> About inventing programming, from the ground up. (A weird sub-discipline of mathematics and category theory)

Computer Science

> Learning to make software in order to improves the lives of humans

Software Engineering

1 comments

I mean, I hear what you're saying - but all of those things also seem to be a single discipline.

Otherwise, where do operating systems fall? Are they systems engineering? They don't seem to be entirely about the hardware to me, and they were a core part of my CS program. What about SeL4 - which is a formally verified operating system project?

How about programming languages like C or Rust? Is that computer science, or systems engineering? How about Excel - the world's most popular programming language - that happens to be functional? Are financial planners doing computer science when they program a spreadsheet?

The lines are blurry everywhere. My CS program offered 3 different degrees, like you said - Computer engineering, Computer Science and Software Engineering. The only difference was the CS degree had a lot of electives, and the other two filled those electives in with (different) required subjects.

Maybe CS is just "lets play with some cool things on computers!". And there's a big playpen of things to explore. Thats more or less how it feels to me.

The lines between these majors definitely blur and some of the required courses do overlap; yet, they are still separate majors, the same way that the many specific sub-disciplines of biology are separate majors despite also having blurry overlap.