3 ms·
Years ago? Not very different. The 90s and before? A few ways. 1. Concurrency. Multiple cores are a completely normal thing now, so having to think about how d
by dale_glass 4y ago
Years ago? Not very different. The 90s and before? A few ways.
1. Concurrency. Multiple cores are a completely normal thing now, so having to think about how different threads may interact went from a theoretical concern to a very practical one.
2. Dependencies. Back then you could just turn on the computer and start coding. Today many things have large amounts of dependencies that need installing, compiling or setting up. Weird problems can happen. I have an issue where VS Code just refuses to autocomplete in the test section of my project. Why? I have no clue, and VS Code is a giant of a thing. It's quite easy to spend days or even weeks trying to set things up and work out issues with things that aren't even the thing you were trying to write.
3. Teamwork. Modern computers allow for large programs, which require teams to develop. A lot of the work in building modern successful software is in organization, record keeping, documentation and working with other people.
4. Security. Pretty much everything interacts with outside untrusted inputs, and so it's far more important than before to treat every input correctly. Anything from image loaders to parsers to APIs may be exploited.
- mdaniel 4y ago> Why? I have no clue, and VS Code is a giant of a thing That experience is why I relentlessly bang on the drum of "do not swallow errors" because it makes troubleshooting indescribably hard I would guess the more links in the call/dependency chain, the more opportunities for misplaced assumptions or laziness to sneak in, leading to your cited outcome