Live data from Hacker News

Computer science as a lost art (2015)

rubyhacker.com

81–90 of 146 posts

Re: Computer science as a lost art (2015)

#81
post #40

> If you want to make really interesting exciting things that have never existed before, if you want to make a tiny little difference in the industry and change the world just a little bit, then you do need that degree. If you want to make the tools and libraries that the lower-level people use, you do need that degree. I wonder if the author considers Node.js to be really interesting and exciting and never existed b…

> I wonder if the author considers Node.js to be really interesting and exciting and never existed before.

Node.js was neither new nor interesting, and certainly was never "exciting" (note that this is coming from someone who now does a lot of node.js development).

To start with, it is highly relevant to note that node.js ignored fundamental things that were learned in CS going back to at least the 80s involving the duality of events and threads, leading to an entire generation of people who actually believed that callback hell was somehow a good thing to encourage :/.

The big thing, though, is that it definitely wasn't hard to do, and it certainly wasn't the first project to do it :/. I mean, my own personal website was built using a JavaScript on the server framework I threw together in a weekend using Rhino and Jetty years earlier, and I had myself gotten the idea from people who really know what they were doing: the people working on Apache Cocoon.

In Cocoon, they not only had correctly handled the callback hell problem, they had generalized it so far you could write programs on the server that made "requests to the browser" in the form of rendering a page that were expressed as function calls that would return when the user clicked links and submitted forms, inverting the normal flow of control to make it easier to build complex interactions.

So yeah: they had all of this stuff working almost a full decade before node.js existed at all, much less finally was able to use async/wait to manage callbacks. When they ran into evented hell, they didn't sit around for years building shitty workarounds: they implemented continuations for Rhino and contributed it back so they could do it correctly.

The real thing to realize is that sometimes, shitty things can have more impact than great things, and things that are none of interesting, exciting, or new can have a greater impact than things that were all three of those things if they have better community management or business acumen behind them.

However, we should call a spade a spade, and not pretend that those people are as good with software as someone who has spent years studying foundations, in the same way that the world's greatest software developer shouldn't pretend to be a great business or marketing person because they threw together a good enough website using a template and made some sales of their product on some app store.

Re: Computer science as a lost art (2015)

#82
What I miss in those kinds of discussions are the intangible benefits of having studied a subject in depth to acquire a degree. The person that entered university is different from the one that came out of it. The way to tackle problems, to think scientifically, the ability to see the broader picture are some of the advantages of good education that are easy to dismiss since they are not immediately visible.

There has been a similar thread on HN where someone with a bunch of degrees said: "I haven't used anything from my studies in my work". But this person might be blind to the fact how the education shaped her mind. Understanding goes beyond mere knowledge.

Re: Computer science as a lost art (2015)

#83

Ugh. I think what people writing articles like this tend to miss, is that it's much easier to be super deep in a field when the field is limited and low-entry but you're already in it. Because there's not really as much going on and there's not much else to do but learn C or some text editor on a super deep level or what not. What else are you going to do? Look at the stuff "deep" people are generally into, it mostly…

> This just seems to be heavily misguided elitism.

Not really. There is a bit too much meet you at the bottom communism in the modern ethos of computer science. When you can have measured difficulty and time to skill in a field isn't it a little odd that we don't have a lot more measured elitism in computer science? The reality is the hardest most complex stuff is literally solved and produced by an elite few. All of which could be taught or learnt but no one gives a shit. Its a bit like magic is slowly dying from the universe, and the wizzards keep suggesting it might be worth holding onto. But they then get called out as an elite minority only interested in furthering their arcane agenda. Whilst everyone else is using the accessible modern "technology" built from the original magic and cannot fathom why anyone should give a shit about magic anymore. Wizzards only appeared special to get a cushy job next to the king in their own tower right? Technology is just as good as magic, because it was built from magic!!!! So elitist. The problem comes when the technology fails, or doesn't do something thats needed and cannot be changed without changing the base magic that the technology started from. If there are no more wizzards and no more magic, you're never going to be able to create new base technologies. The only hope is the magic making technology everyone is currently working on called Machine Learning. Then all the wizzards can be virtualised and controlled like slaves, even if its provable ML isn't actually magic, its close enough... we hope.

Re: Computer science as a lost art (2015)

#84

Earlier quoted context omitted.

It should be a requirement to have each student complete a modern full stack. Some schools have pitiful results for what they say is a degree.

It’s often argued here that the purpose of a CS degree is “not to get you a job” but to “become a better citizen of the world” and if you just wanted to learn something to get a job “you should go to a trade school”.

Getting a CS degree to get vocational training to be a developer is a pretty terrible idea in my view (and I have a CS degree) - having a physics or mechanical engineering degree is particularly relevant to being a plumber so would you expect a CS degree to help being a developer?

Re: Computer science as a lost art (2015)

#85

Earlier quoted context omitted.

Computer science graduates also need a lot of training. If not more, a boot camp graduate has already been exposed enough to modern tech stacks to at least come in as a junior. Too many CS grads have little practical experience to hit the ground running on even the simplest real world projects. Yes I have a CS degree.

It should be a requirement to have each student complete a modern full stack. Some schools have pitiful results for what they say is a degree.

Alternatively many CS grads never end up working in/near the web stack and that requirement in no way better prepares them for their profession.

If you wanted to suggest that they be required to have a significant capstone project (a full stack system, a compiler or VM, an operating system (rudimentary or not), firmware/BIOS, HPC application, etc.) then I would agree but to say that all CS grads should be good web devs is rather narrow minded when looking at the value of a computer science curriculum.

Re: Computer science as a lost art (2015)

#86

It means that a person can get the little things done while knowing very little. But it also means that this person probably will never learn enough to get the big things done. To be honest, I get secretly frustrated with the lower-level people who now exist in giant hordes. (I rarely tell anyone that.) To me, they are like people who have decided to learn 5% of their field in order to get a few things done, have som…

I think the mistake a lot of people make is the split between you need a degree and degrees are worthless. Degrees are largely what you make out of them.

I have been going through a bachelors of computer engineering and the curriculum/professors make every effort to provide as much value as possible yet most students do just enough work to get the grade they want in the class.

In this same vein, students so often take the required courses, look for the easiest (instead of the best) teachers, and try to pick the easiest, lowest effort classes out of the in major classes they can choose between (tech electives) rather than focusing on building a useful base of knowledge for their future careers. Many students intentionally avoid useful classes because they are hard and don't want to risk damaging their precious GPA. I find this accounts for a lot of the grads with very high GPAs but with fairly limited knowledge outside of the basics. This ends up with students putting the cart before the horse by focusing on how to be best suited for getting a job rather than how to be well prepared for it.

The true value of a CS/ECE degree comes from the classes that you take not the degree itself. Much of that material (particularly the fringe optional courses) can be very difficult to grasp on your own and having a professor dedicated to assisting in your understanding of that material is extremely valuable.

Re: Computer science as a lost art (2015)

#87

What I miss in those kinds of discussions are the intangible benefits of having studied a subject in depth to acquire a degree. The person that entered university is different from the one that came out of it. The way to tackle problems, to think scientifically, the ability to see the broader picture are some of the advantages of good education that are easy to dismiss since they are not immediately visible. There ha…

> There has been a similar thread on HN where someone with a bunch of degrees said: "I haven't used anything from my studies in my work". But this person might be blind to the fact how the education shaped her mind.

I tried to read thought my uni notes on metric spaces a couple of years ago. I don't even understand them anymore. Littered with idiot comments like "obviously -> " despite it being nothing of the sort.

University me was a douchebag. :(

Re: Computer science as a lost art (2015)

#88

What I miss in those kinds of discussions are the intangible benefits of having studied a subject in depth to acquire a degree. The person that entered university is different from the one that came out of it. The way to tackle problems, to think scientifically, the ability to see the broader picture are some of the advantages of good education that are easy to dismiss since they are not immediately visible. There ha…

My degree continues to inform me, years later, because we looked at some of the theory and at a lot of generally applicable ideas, not just tech specifics. In some ways it's frustrating that we didn't look at more tech specifics... but in others, I was given the time and the tools to pick things up quickly.

I've worked with a couple of good people without degrees, I'm not saying it's impossible, just that I've found it very useful. I don't think I'm alone in this!

(Also, c'mon, a degree is not just about the qualification or the education, it's about meeting peers and forming life-long bonds, and having fun too :)

-- edit -- Oh, and on-topic, I think it's good to test your boundaries - reverse engineering an embedded board with a multimeter, a line-levelling serial adaptor and a soldering iron, and then getting it to boot linux with some custom kernel bring-up code, was one of the most rewarding things I've done in recent years. Learning a little bit more about something that's a black box at the edge of your understanding is always good.

Re: Computer science as a lost art (2015)

#89
post #35

> He's a freshman at Kennesaw State right now, but he really struggles with the idea of taking two years of classes that he has very little interest in. If it is just the idea of having to take a load of liberal arts classes that perturbs your son and not the low level courses like chip design, logic, algorithms and data structures, calc and stats, one alternative to consider is to study internationally. English univ…

I wish more programmers took a few writing classes so they would appreciate how to write an email with the correct punctuation. I've seen far too many emails where the author didn't appear to understand how to formulate a complete sentence or understand where to put a paragraph break. I wish more freelancers took a class in business accounting so they'd have an idea of how to do it and what a good (or bad) contract l…

I wish people would understand those things can be picked up before a degree or outside of a degree.

Going to a university in the UK I was free to study the subject I was interested in and wanted to understand. I was able to fully immerse.

My schooling prepared me for the rest.

Re: Computer science as a lost art (2015)

#90

It means that a person can get the little things done while knowing very little. But it also means that this person probably will never learn enough to get the big things done. To be honest, I get secretly frustrated with the lower-level people who now exist in giant hordes. (I rarely tell anyone that.) To me, they are like people who have decided to learn 5% of their field in order to get a few things done, have som…

What this is missing is that programming is not one job, it is multiple different jobs with different required skillsets and aptitudes.

Making tools and libraries is not necessary that complicated. It is oftentimes simpler then making large business app, because requirements tend to be clearer, more stable and because you can copy design of one of existing editors. It does require knowledge of algorithms that large business app does not require. Being able to make a compiler will not make you succeed in creating good finished web app, whether large or small. Finishing web app does require good grasp of ui and visual design completely irrelevant to compiler coding. Likewise, being good at algorithms, even difficult ones, and being good at maintainable design is not the same.

It is possible for one to be objectively harder in some sense or require more rare aptitude. Nevertheless, these kind of laments tend to rely mostly on "the kind of things I like and are good at are the real tech and everything else is for weaker programmers" attitudes.

The point of CS is not to make you highly skilled in operating systems or languages or even web apps. It is to give you overall idea about those areas to make you able to choose what to focus on and to make you able to learn any of these ideas once you decide.

Post reply on HN