The main issue I see is that papers are actually becoming so focussed on form that they are now unreadable. People prefer reading my blog for my papers than reading the papers themselves. In fact I hear people telling me they understood the blog _better_. The whole academic writing shtick has become so obtuse that not only writing is cumbersome, but so is reading.
The other side of all this academic brownie points via papers (and doing reviews, which has become "brownie points for gatekeeping") is that most academic software is not only unmaintained, but actually unusable. They rarely even compile, and if they do, there is no --help, no good defaults, no README, and no way to maintain them. They are single-use software and their singular use is to write the paper. Any other use-case is almost frowned upon.
One of the worst parts of Academic software is that if you re-write it in a ways that's actually usable and extensible, you can't publish that -- it's not new ("research") work. And you will not only have to cite the person who wrote the first useless version forever, but they will claim they have done it if your tool actually takes off.
BTW, there are academics who don't follow this trend. I am glad that in my field (SAT), some of the best, e.g. Armin Biere and Randal Bryant are not like this at all. Their software is insanely nice and they fix bugs many-many years after release. Notice that they are also incredibly good engineers.
> In fact I hear people telling me they understood the blog _better_. The whole academic writing shtick has become so obtuse that not only writing is cumbersome, but so is reading.
Legible writing has little incentive. You can write in a simple down-to-earth manner and risk having someone objecting "Your work is isomorphic to X, done years ago." Your counter-objection, "Well, X is so incomprehensible that no one had any chance of understanding it", will fall flat. Better not risk it, write in an obtuse form and withhold the source code.
I've studied political science in Germany. Unfortunately, most German political science people confused opaque writing with wisdom - basically hiding invalid theory behind an obtuse language. Nobody wanted to say out loud that they don't understand the language, so it helped to fortify their shit theories.
While there is a lot of bullshit hidden behind obtuse language, I would claim that in Germany there is a very different culture around what is a "good, clear academic text".
When I see HN discussions, in the USA, it seems to be that simple, clear explanations are something to be cherished. On the other hand, in Germany, the academic ideal is to use terms that describe things as precisely and exactly as possible.
In other words:
- in the USA "clarity" means "describing things as simple and "understandable" (for less educated people) as possible".
- In Germany (in particular humanities academia) "clarity" means "describing things in the most precise ('clear' in the sense of 'minimal risk of misunderstanding') terms as possible. You may assume that the reader is either sufficiently educated to know these specialist terms or take a serious effort to learn them".
Thus, the expectations what "clarity" means in academic texts are very different between these countries.
Yes. Exactly. If you make it readable and understandable, somehow the reviewers think it's easy. NO! It's easy because I made it easy for you to understand, and that's a good thing! If you invented BDDs or Petri Nets today, and didn't explain it over 5 pages of unreadable Greek alphabet, it'd be rejected. It's hilarious and really sad. Both are extremely useful, and intuitively "easy" tools. But they are so incredibly good and useful.
Exactly. The format is wrong. The expectation of publication in a journal in the way that they are formatted today is not good. At one point, an aspiring PhD student used a novel technique from a library I wrote and published on GitHub. The student cited my library as an example of the technique out in the wild, but claimed that he invented it. This is easily falsifiable by the GitHub history, but because there's no scientific paper, apparently this is fine by the journal. Not that I really care because for me, it's NBD, but I think it shows how myopic, isolated, and simply silly the whole scientific publishing industry is, especially in CS.
Haha yes. Some people don't publish work in the form of a paper, because it's just so much hassle and you'll get a bunch of nitpicking nonsense reviews while the tool is used by hundreds if not thousands of people/researchers/etc. It'd be hilarious if it wasn't so sad.
there is only 1 implementation available for an algorithm on which i did part of my bs internship, and it uses a lot of harcoding. It of course makes benchmarking and extending it much, much harder if you want to change some things
Unfortunately academic resource doesn't seem to be focused on the hard problems of today. A fast algorithm is nice, but we need to be able to maintain code long term, understand code, and fix bugs. I have 15 million lines of code I'm supposed to maintain and I know many others reading this work on larger projects. There is no way one human can write that much software. There is no way we can afford to throw it away even if there is a better way (well we could, but based on the last time we did that the cost would be over 1 billion dollars and 8 years - not a useful investment since there is no reason to think anything will make those prices go down). We need to keep it working.
This is a shock to many of our leaders - who were writing 8 bit assembly to do similar things. They commonly did throw away all the work of the last version since it only took them a few months to rewrite it for the exact features they needed. (having experience because they wrote it just a year ago means the rewrite as much faster, and the limitations of 8 bit means it was worth rewriting since they had to remove one feature to add a new one).
That's not a part of computer science that's organizational and process management at that point not computer science so I'm not shocked CS academics aren't interested in it. You're looking at the wrong group to answer your question, we have a great amount of discussion about how to organize large software to make it manageable already too but most of it comes down to breaking it into more manageable chunks with defined interfaces and testing that interface thoroughly.
Fir enough if the other group was looking at it but they are not from what I can tell.
ane frankly CS without those skills is useless for the reason I was replying to. If they cannot make readable/maintainable code they need to get a different job.
There's loads of space in a CS career where you'll never get anywhere near responsibility for a hundred thousand much less multiple millions of lines of code at once.
And there are already loads of advice out there about how to organize and manage huge code bases. It's usually consultancy based for anything but the broadest ideas though because it's so specific to the particular situation. An architecture is as much defined by the application it's built for as it is by what people would like to impose on it for convenience.
Not to mention, academia likes to think it is isolated from the real world, which is advertising and marketing all the way down. We should probably mint more dual CS and marketing majors.
The other side of all this academic brownie points via papers (and doing reviews, which has become "brownie points for gatekeeping") is that most academic software is not only unmaintained, but actually unusable. They rarely even compile, and if they do, there is no --help, no good defaults, no README, and no way to maintain them. They are single-use software and their singular use is to write the paper. Any other use-case is almost frowned upon.
One of the worst parts of Academic software is that if you re-write it in a ways that's actually usable and extensible, you can't publish that -- it's not new ("research") work. And you will not only have to cite the person who wrote the first useless version forever, but they will claim they have done it if your tool actually takes off.
BTW, there are academics who don't follow this trend. I am glad that in my field (SAT), some of the best, e.g. Armin Biere and Randal Bryant are not like this at all. Their software is insanely nice and they fix bugs many-many years after release. Notice that they are also incredibly good engineers.