Shannon Dealy

Authored Comments

I work almost exclusively from a laptop which is usually hibernated, rebooting preferably only once every few months (usually for kernel upgrades due to security concerns). This makes swap requirements very different from someone who never hibernates and reboots every day. Many programs today are badly written, with inefficient use of memory and/or memory leaks which accumulate over time. After a week or two of run time, Chromium web browser can easily hit 12-16 GB of memory usage by itself. Simply exiting and restarting Chromium with all the same tabs and windows will cut the memory usage by 75% or more. Add in Firefox (with lots of tabs), a couple of active virtual machines, some bioinformatics analysis code running in background (these often make poor use of memory), two or three active IDE's like Rstudio, PyCharm or (if I'm feeling particularly masochistic), Eclipse, and I am well past the 32 GB of RAM on my laptop. There is little to no swapping going on because while some of the software I use is well written and very efficient with it's use of memory, other programs are not, eating lots of storage because they keep things in memory that they no longer have any use for. This means I need lots of swap space for storing the "junk" that these programs keep lying around and thrashing usually isn't an issue. I currently have configured 48 GB of swap to go with my 32 GB of RAM to allow for hibernation and "junk", but with my increasing encounters with memory wasting code, 64 GB of swap may be more appropriate.

I'm afraid your argument on the readability of python doesn't hold water, readability is primarily (though not entirely) a function of developer skill. As you point out, many in the python community are hobbyists and non-computer scientists, and frankly it shows. I have had to find/fix bugs or create work-arounds for a number of problems with open-source projects written in python, and have found many cases where there was little or no documentation in the code, in one instance a 1200 line module had not a single comment in it. Whenever people declare a language to be more readable, newer programmers start thinking they don't need to document anything, making code in that language on average less readable than other more mature languages. Of the roughly 60 languages I have worked with over the years, Ada was probably the most readable, however, this was most likely due primarily to the skill level of people who used the language at the time. While it is true that different languages make it easier or harder to write readable code, good programmers write good, readable code in any language, bad programmers write bad, hard to read code in any language.