4 ms·
To an audience of CS majors this will probably sound like trolling but honestly I have never used any software written by a "computer scientist" that I came to
by 01572 9y ago
To an audience of CS majors this will probably sound like trolling but honestly I have never used any software written by a "computer scientist" that I came to value and rely on -- software that I consciously chose to use.
Whereas I have found such software on multiple ocassions written by mathematicians or persons in some other field, e.g., physics, etc.
As a user of software, I do not believe that a computer science degree is of any significance in terms of the ability to write good software.
The blog post makes a comparison to Liars Poker. Perhaps it should be noted that the author of Liars Poker majored in art history. It was not necessary for him to have a particular degree in finance to do his "job". That was the point of book.
The question to ask today is whether one needs a degree in CS to write good software.
- pcunite 9y agoPrograms that you enjoy using are put together by folks with the skills "product and user experience". If they know how to code, good.
- nine_k 9y agoI heard that separation of labor is a thing since Renaissance times or so. Does it ever happen in software industry? Note that the separation may also be temporal ("...and now it's time to redo the UX").
- zild3d 9y agoDo you value and rely on any compilers? Operating systems?
- learc83 9y agoDo you use Gmail spam filtering? Google search? Windows? OS X? TCP/IP? I can assure you that software you've came to value and rely on was written by "computer scientists". So yes, your comment does sound like trolling. That or you're just completely misinformed.
- 01572 9y agoIn fact, I am an unusual case and I do not consciously choose to use those Google, Microsoft or Apple offerings, nor do I value and rely on the ones I occasionally come in contact with. In many cases I view those are necessary evils, not high quality stuff. I use TCP/IP but I did not choose it. There were many competing protocols. It just became the default. I am not going to argue about this but many of the folks who wrote the software that I actively seek out and value had degrees in Electrical Engineering, Mathematics, and/or Physics. I might use different software than most users. The authors were not CS majors. It is what it is. Maybe this means nothing. But to me it means, at least, CS is not a prerequisite. I am not denying the contribution of Computer Science as a field or the work computer scientists. And I understand why kids major in CS. All good. I am just referring to the practice of writing software. I would question anyone who argued one must have a CS degree to write great software.
- learc83 9y ago>In fact, I am an unusual case and I do not consciously choose to use those Google, Microsoft or Apple offerings, nor do I value and rely on the ones I occasionally come in contact with. So I assume you use linux or BSD? I can assure you both of those were created primarily by computer scientists. >I use TCP/IP but I did not choose it. There were many competing protocols. It just became the default. Who do you think designs these competing protocols? >many of the folks who wrote the software that I actively seek out and value had degrees in Electrical Engineering, Mathematics, and/or Physics. I might use different software than most users. And yet this software you seek out runs on an operating system designed by computer scientists, compiles with compilers designed by computer scientists, and is distributed via protocols designed by computer scientists. > But to me it means, at least, CS is not a prerequisite. Who said CS was a prerequisite for anything? Most of the venerable algorithms we study in computer science weren't designed by CS majors because CS wasn't a major when the algorithms' designers were in college. >I am just referring to the practice of writing software. I would question anyone who argued one must have a CS degree to write great software. Of course great software can be written by someone without a CS degree. John Carmack doesn't have a CS degree. Donald Knuth doesn't have a CS degree. John Backus, Grace Hopper, John von Neumann, Alan Kay, and most of the other CS luminaries didn't have CS degrees. I have literally never met anyone who would argue that a CS degree is necessary to write great software. You've changed your argument from "I have never used any software written by a 'computer scientist' that I came to value and rely on", and "I do not believe that a computer science degree is of any significance in terms of the ability to write good software" to "there exists great software written by people without CS degrees." You've moved from a arguing an absurd and utterly false point, to constructing a straw man. To your earlier point: "computer science degree is of any significance in terms of the ability to write good software". In pursuing a CS degree you will engage in in depth study of the algorithms and data structures necessary to create complicated software. In order for someone who didn't major in CS to create complicated software, they must either study these algorithms and data structures on their own, or use a library written by someone else who has.
- deleted 9y ago[deleted]
- zaptheimpaler 9y agoIf you've even used an operating system or the internet there are a hundred algorithms/datastructures/CS concepts at play. One example is consistent hashing used by CDNs such as Akamai, so indirectly almost any website you visit. All of the routing/control flow/congestion control algorithms that make internet work. Algorithms to wrap text on a website to a certain width. Algorithms to schedule processes on your OS, variations of linked lists and trees to manage memory and give you malloc, parsers, compilers, interpreters everywhere including web browsers .... The list just goes on and on. It sounds like trolling to CS majors because if you don't know CS, you wont recognize it where its used, so it will seem like its not used at all. Most programming jobs don't need CS very often, but thats because all the core CS is usually packaged in a library already and we just reuse/abstract the bits we need. BTW Michael Lewis got a masters in economics before working in finance.
- 01572 9y agoDifference between 1. computer scientists who are by nature of their CS training able to write high quality software and 2. the presence of CS subject matter in programs or the role of algorithms in today's Western societies. No one disputes #2. Of those CS majors who write software, I see others with no CS degree, e.g., PhD in maths instead, who write better software. Conclusion: ? Difference between earning a masters in Economics and actually needing that knowledge to do one's job at Salomon Bros. If the degree was needed for the knowledge it provided (versus window dressing for interviewers or clients) then I certainly missed that part in Liar's Poker because I recall the book arguing exactly the opposite. Back in those days I had a friend who was a Philosophy major and was extremely successful on Wall Street.
- 01572 9y agoMy comment had a handful of upvotes over the holiday weekend then has been downvoted as the CS grads return to work. I have long believed the weekend HN crowd is wiser than the weekday crowd. I have also believed that CS may contribute to the urge to write "complicated software". Your admission reinforces this belief. I like software that tries to avoid complexity. Any lazy person can write a complicated program, get it to compile and run. The world is full of such software. Consequently, it is nearly impossible to avoid. But that is different from consciously selecting it and we cannot infer that usage under these circumstances implies approval. rk dewar, dmr, djb, a@kx, etc. none of them majored in CS as far as I know. Despite the lack of a CS "education", I still value and rely on what they produced. I consciously seek out such work. The point of my comments is simple: a CS degree is not a prerequisite to writing great software. Call that a strawman if you like. I still think it is a point worth making when someone is blogging about low numbers of CS grads.