Hacker News new | ask | show | jobs
by chrisseaton 2195 days ago
Is it the job of a computer scientist to run programs on servers though? That seems like specific technical training, not the subject of a computer science degree.
2 comments

I think if you take it to the extreme, the job of computer scientist isn't to run any programs. It is to write them. To quote Knuth:

> Beware of bugs in the above code; I have only proved it correct, not tried it.

No, as a computer scientist, your job isn't to run programs on servers (or, at all).

As a person who needs to eat and pay rent though, I think it is fairly reasonable to expect you to know how to run programs you write, with or without an IDE. The reason for running programs without IDE is that most often, executing the program won't be a "javac Main.java && java Main", but probably some rather complicated maven/ant/gradle/shell/... command that you'll have to program your IDE to do anyways. If one can't even use a simple javac/java commands, one might have a very difficult time with those concepts.

And now, the overarching point is, does one as a student mindlessly click the green run button in Eclipse, or was one curious (and paying attention, because javac and java are usually taught in the first lecture) and actually tried to understand what's going on after you press the green button?

I'd go as far to even say that the curiosity of "what happens after I press this button" indeed is a job of a computer scientist.

Just my 2c, and why I expect fresh graduates to know a bit more than "class Dog extends Animal".

It's the job to run programs somewhere. Or do you think all those people entering a CS course expect to work on theoretical research?

And from all the places available for running software, the most useful ones (servers, supercomputers, embedded) lack an IDE.

My point is the precise technical details of how to run one particular language in one particular environment are irrelevant and not the business of a university. You can pick up this practical skill anytime you need.

You're supposed to be learning the concepts. You can do that using an IDE.

I have no idea how to run an Erlang program on a server. Could I pick it up in five minutes if I needed to? Sure. So why do I need to learn it? Why do you care if I can do it coming out of university?

> Could I pick it up in five minutes if I needed to? Sure.

Yes, because you do know the basic concepts of using a CLI, the concepts around building your project, and the concepts of project metadata, build tools and etc.

When people can't run their programs without an IDE, it's because they don't know any of that. This is an at minimum 6 months learning of the unwritten culture of a profession. This is not something one can pick up in 5 minutes. It is also a huge signal that those people are missing other fundamental and important pieces of knowledge.

(That is, unless the OP is literally complaining that he threw people on a random computer CLI and people couldn't make their code run there. Personally, I have never seen anybody making this point, but I guess it's possible.)