6 ms·
> Even many higher education IT programs often barely cover the underpinnings anymore. Really? A compiler course seems quite standard in any licence/bachelor C
by p4bl0 6y ago
> Even many higher education IT programs often barely cover the underpinnings anymore.
Really? A compiler course seems quite standard in any licence/bachelor CS degree.
- the_duke 6y agoI've seen some "practice oriented" bachelor degrees like "Software Development" that don't cover these topics at all. I think more common is to have a few courses on it, but as a small part of the curriculum; which is largely forgotten by graduation time. I guarantee that asking the average application developer about IO ports, out of order execution, cache misses, AST passes, stack machines, how a GC works, or even just how to implement a hash table or tradeoffs between arrays and linked lists will earn you mostly blank, confused stares.
- BossingAround 6y ago> which is largely forgotten by graduation time Let's be honest, 90% of everything you "learn" at university is largely forgotten during graduation time. I've seen folks fresh out of uni who couldn't even run a Java program without an IDE, or who forgot how to write a switch statement. I find it fascinating how inefficient the brain is, and how though it spends huge amount of our resources, it's actually not extremely good at picking up new complex information.
- chrisseaton 6y ago'run a Java program without an IDE' is not a learning outcome of a computer science degree, though.
- BossingAround 6y agoIs it not? If the programme teaches Java, "learning how to compile and execute Java programs" would surely be one of the top priorities of such a course.
- chrisseaton 6y agoOk but you said they could do that using an IDE - why isn't that enough?
- rehemiau 6y agoMaybe because there are no IDEs on servers
- chrisseaton 6y agoIs 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.
- marcosdumay 6y agoIt'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.
- chrisseaton 6y agoMy 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?
- marcosdumay 6y ago> 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.)
- Rerarom 6y agoA friend of mine taught some Java labs at a university and made a point of testing students on that.
- parenthesis 6y agoSurely it is pretty efficient of the brain to remember things one uses and `forget' things one doesn't use. I say `forget' as `learning something for the second time' tends to be much easier than the first time.
- pcestrada 6y ago"Computer science is no more about computers than astronomy is about telescopes" -Dijkstra
- deleted 6y ago[deleted]
- hazz99 6y agoI go to a pretty good uni (not elite, but global top 30) and they don’t have a compilers course, which I was very disappointed by. It’s even a theory heavy degree!
- p4bl0 6y agoWell, at least that says a lot about whatever is called "elite" and "global top N": it doesn't have any relevant meaning.
- hazz99 6y agoTo be fair, they’ve given me a great education and very valuable opportunities. I’m very appreciative! I just wish I didn’t have to self teach compilers.
- chrisseaton 6y agoThis really surprises me - looking down the THE and QS global rankings, I know that at least all the universities outside the Far East teach compilers. I guess you're not saying which university you're at to keep it anonymous, but I'd be interested to hear which it was.
- derangedHorse 6y agoWhich universities are you looking at? Mine technically had a compilers course but it wasn't required coursework and was generally offered every 2-3 years or so
- chrisseaton 6y agoThe top 30 in QS and THE. Most of them have major compiler research groups, even.
- kyawzazaw 6y agoIt is an advanced elective. So totally optional. Some smaller colleges (like mine) don’t even offer it.
- rustybolt 6y agoA compiler course is standard, but it didn't teach me about linkers, relocation, loading, and all that stuff. So I see p4bl0's point.