12 ms·
Generalizing "programming" is a fools errand at this point. For some, their IDE alone would warrant a pro-spec machine. Some people need to virtualize their dev
by ben174 7y ago
Generalizing "programming" is a fools errand at this point. For some, their IDE alone would warrant a pro-spec machine. Some people need to virtualize their development environments. Some people need to virtualize several environments interconnected. And for some people, programming is just a simple terminal session with tmux running - VIM on one screen, shell in another, tests in another.
- lliamander 7y agoI totally agree that you can't fit all programmers into one bucket. I think we should be able to describe some general patterns in programmer workflows such that we can give concrete advice to programmers about what kind of hardware they would need. A perfect example of this the recent Level1Techs video about compiling an Unreal engine game using the AMD Threadripper 3990X[1]. Some concrete advice: 1. Often the heaviest aspect of a programmer's workflow isn't compiling the code, but running automated tests using VMs and stuff 2. compilers tend to benefit from large cache sizes and good single-threaded performance. Multi-threaded performance only makes a difference in limited scenarios. I've also heard that storage performance, and in particular storage latency, can make a big difference on compiler performance, but the difference is starker on Windows than on Linux because NTFS is a lot slower than many Linux file systems (EXT4, XFS, etc.). The thing is, we as programmers don't have a good mental model for how the software tools we use (IDEs, virtualization/docker, compilers) scale with modern hardware, and very few technology reviewers are producing content that would help us understand. [1]https://www.youtube.com/watch?v=VQa6r6Ci1jg https://www.youtube.com/watch?v=VQa6r6Ci1jg