5 ms·
>For those saying you've never been helped by your CS degree, [...] You've seriously never bothered thinking about, say, algorithmic complexity? There are lot
by jasode 7y ago
>For those saying you've never been helped by your CS degree, [...] You've seriously never bothered thinking about, say, algorithmic complexity?
There are lots of successful working programmers that will never need to deal with "algorithmic complexity" because "programming" encompasses a very wide spectrum of skills. I attempted to explain a rough categorization of 2 groups:
https://news.ycombinator.com/item?id=12079697 https://news.ycombinator.com/item?id=12079697
So yes, a programmer in group 1 -- let's say a 30-year veteran of COBOL -- can conceivably never have to make a decision about designing an algorithm & data structure to be O(n) vs O(log n) because he works at a higher abstraction level using COBOL. His domain of work doesn't need to deal with low-level things like raw pointers to linked-lists in C/C++ where Big-O complexity is considered when engineering a custom b-tree from scratch.
The programmers in group 1 are not any "worse" than group 2. They just do a different type of programming.
- clarry 7y agoAnd, on the flip side, you don't need a goddamn degree to think about algorithmic complexity. It's pretty basic stuff at the level most developers ever get to care about it.
- Nursie 7y agoYou don't need a "goddamn" degree to learn any single thing you can learn on a degree, and this applies to pretty much any degree you can think of, the books are available, as is online research. The point is during a degree you are lead to some topics and guided through them.
- ThrowawayR2 7y ago> "...let's say a 30-year veteran of COBOL..." That would be around the era of the Intel 80486 processor. All of us cared a hell of a lot about both algorithmic and data structure efficiency back then since computers were so feeble compared to today's systems; people who didn't couldn't produce programs that functioned properly.
- jasode 7y ago>the era of the Intel 80486 processor. All of us cared a hell of a lot about both algorithmic and data structure efficiency back then since computers were so feeble compared to today's systems; In the ancient 1990s, A COBOL programmer writing "green screen" terminal apps to hit a database on an IBM 360 mainframe doesn't deploy to 80486 desktop pcs. Even today, if you type "COBOL programmer" into monster.com to search for jobs, most of the results will be programming work for mainframe environments instead of targeting consumer computers like iOS/Android/Windows/macOS/etc.
- scarface74 7y agoIn the 90s, I wrote C and Fortran for DEC VAX and Stratus VOS mainframes. Even then our major concerns weren’t “algorithmic complexity” and being able to reverse a binary tree on the whiteboard.
- Nursie 7y agoYou don't need to reverse a binary tree on a whiteboard, but you should have some idea of the complexity of what you're writing, or you'll write crap. Even in a CRUD context.
- scarface74 7y agoA 486 was more than powerful enough to run most workloads at the time even in high level languages without too much optimization. Anyone who thinks a 486 was “feeble” didn’t spend time optimizing assembly on a 1Mhz 65C02 by doing as much zero page memory access as possible to save a clock cycle.
- Nursie 7y agoIf your COBOL veteran hasn't got at least some grasp of complexity, he's a pretty poor programmer. In fact that applies regardless of the language.
- deleted 7y ago[deleted]