I don't know. I did what I'm currently doing (Ruby on Rails dev) on a 4 GB MacBook Pro until last year and it was fine.
At the moment I have around 2 GB free on my 8 GB Linux machine with a webserver, MariaDB, a JetBrains IDE, Slack and Firefox running. It would be easy and dirt cheap to increase the RAM to 16 or 32 GB but I'm too lazy to even order it and open the machine up since I have never felt the need to have more.
I'm just saying this so that people like me remember that they're still professionals and their work is valuable even if they don't need 64 GB of RAM.
IDEs such as IntelliJ can easily consume 8GB of memory on a moderately sized project of 100k loc. If one has to open multiple such projects or work on a very large project in the million loc scope then you’ll run out of 16 GB really fast.
Folks working with data intensive applications often need to trade off writing code to page data in and out of memory during development with larger dev boxes.
100k LOC would be, let's be generous, about 8 million characters (80/line average, which is high). 8GB of RAM for 8MB of input seems excessive to me. What's going on with that IDE that it needs so much for something so small? Even if that were 8 million distinct tokens/symbols in the input, that's still 1KB/token of memory consumed.
Except that is only what an IDE does at the very minimum. An IDE loads plugins, provides intellisense, documentation, potentially loads documentation of all the libraries, watches files, displays Git status, parses your code for syntax highlighting etc. etc.
You're not opening a TXT file with 100K lines in it.
For every key stroke a new immutable string is created with the content of the file/state. Plus data structure for AST/static analysis of every file in the project including dependencies. Plus another copy of the file for rendering with syntax highlight. One would think all this copying of data is very inefficient, but computers are good at moving data around. The most costly is rendering the glyphs.
> IDEs such as IntelliJ can easily consume 8GB of memory
Sound more like a Jetbrain ( IntelliJ company ) problem. Used to develop on PHPstorm ( another Jetbrain ) product ( same software in the background ) and the slow startup's, 2GB+ memory eating for relative small projects, crashes way too much, expensive as hell for what it does ( especially with the license change years ago ) ...
Eventually switched to Visual Studio Code and while people whine how Electron is memory inefficient, its like 1/6 the memory usage of PHPstorm, with only a few features missing.
Even on a 32GB PC system, i barely use 16GB ( and WSL2 is eating up a lot with a lot of docker images. And its not really docker, just Linux cache eating up memory ). Not a issue on a Mac that does not need a VM like layer.
Its about priorities sometimes. If people keep upgrading their memory, developers/companies simply push the responsibility to the clients and do not bother with spending time on optimizing.
If people start leaving software product on the way side for being just horrible inefficient messes, then maybe a bit of focus will come back to actually optimizing products! You will see Jetbrain change tune, when VSC etc keep eating its market share.
I have worked on a large 10 year old Spring application with well over 300k loc for 3 years. I don't recall Intelij ever exceeding 3gb of ram. Intelij reminded snappy on my Macbook Pro 2015 with 16gb of ram and an i7.
Same experience here. My Ubuntu laptop accidentally doubled-down on 16gb RAM because I forgot to give it a swap partition (whoops). It hangs maybe once a month under a VS Code, PostgreSQL, FastAPI/Python, React workload. Basically, not annoyingly frequently enough for a lazy person like me to change the partition table. The same workload on my 7 year old Ubuntu desktop with a swap partition on a fast SSD very rarely ever hangs.
Certainly some devs need more than 16gb, but they know who they are. And you know who they are because, well, they love telling you :).
you can always add a swap file ... that makes your life easier so you don't have hangs, and you don't need to repartition.
I use swap files all the time with things like raspberry pi's and such because I don't want to mess with the sd card partitions, but still from time to time it's good to have that swap fallback since the memory onboard is limited.
Swap files are super easy to set up, take up no "brainpower" and disk space is cheap these days.
I think it really depends on if your development workflow requires VMs/Docker or not. It seems crazy to me to have a bunch of containers running using 4-8gb each, but for many that is how they develop.
Not GP, but RubyMine (the Ruby IDE from JetBrains) has decent support for refactoring things, type interference, executing single tests with a debugger, etc.
At the moment I have around 2 GB free on my 8 GB Linux machine with a webserver, MariaDB, a JetBrains IDE, Slack and Firefox running. It would be easy and dirt cheap to increase the RAM to 16 or 32 GB but I'm too lazy to even order it and open the machine up since I have never felt the need to have more.
I'm just saying this so that people like me remember that they're still professionals and their work is valuable even if they don't need 64 GB of RAM.