5 ms·
I feel like I could sit down and rewrite this, in a couple of hours, to be about Computer Science, but the practical field and the educational as well. I mean,
by throwaway17_17 6y ago
I feel like I could sit down and rewrite this, in a couple of hours, to be about Computer Science, but the practical field and the educational as well.
I mean, I could feasibly include this sentence as a quote, depending on which aspect of CS I was talking about (academic CS and language design in particular):
‘It is that the subjects that appeal to theory-builders are, at the moment, much more fashionable than the ones that appeal to problem-solvers.’
It is an interesting article and I will look forward to any discussion about it, especially the correlation to CS and development.
- graycat 6y agoFrom my experience, among academic computer science professors, the attitude is that computer science is about the "fundamentals" of computing. E.g., once I was talking with such a computer science professor and listing features I wanted in a better programming language, and immediately his reaction was that for a professor developing such a language would be "academic suicide".
- throwaway17_17 6y agoThat matches my experience as well. It also illustrates the divide in educational tracks, for lack of a better term, that I probably should have expanded on in my original post. In addition to individual developers and development teams have the potential to be either the problem-solving or the theory building types, the path a person take to programming can go either of those directions. It is most apparent in the difference between a BS in CS from somewhere like Carnegie-Mellon (a bastion of high level theoretical CS education) and any code boot camp or online web-dev centric training course.
- rocqua 6y agoMy university had an amazing C++ programming course. Essentially all STEM majors could take credits from the course. CS did not allow credits from this course because "It is just programming" it teaches nothing fundamental. Meanwhile, this course was more difficult that most other courses, taught me to code much better, which helped most other courses, and taught me basic principles that I easily generalized and re-applied in other CS courses. I think that a lot of people going to do Academic work would have been better of for having taken this course. Even if they never were to touch a C++ like language again. The fact that, when talking about inheritance and sub-typing in C++, the terms "variance" or "co-variance" never came up, does not mean that this course taught me little on type-theory.
- bigbillheck 6y agoThere are several ways to interpret that person's reaction. 1. It would be academic suicide to develop a new programming language. 2. Developing a new programming language is fine, but developing one designed to be better for practitioners is academic suicide. 3. Developing a new programming language for whatever reason is fine, but the particular ideas you were suggesting were of such a nature (perhaps "generally acknowledged as bad" or "not an improvement over accepted practice") as to be academic suicide. (1) seems unlikely at best, there's a whole section on arxiv for programming languages (https://arxiv.org/list/cs.PL/recent https://arxiv.org/list/cs.PL/recent), and just within the last decade we have languages like Julia and Elm coming out of academia. (2) also seems unlikely, all the examples of recent academic-derived programming languages I can find are designed to make somebody's experience better. (And who would bother designing a programming language if they weren't at least hoping to improve something?) Without knowing further details, I won't comment any further on (3).
- graycat 6y agoYour points are well taken. But the more likely explanation for the professor's reaction was just that doing anything in programming language design would be "academic suicide". The date of his remark was about 1974, and I was suggesting improvements in PL/I that I'd been using for about 4 years. I believe his view was that academic research for programming languages in practice was over with -- e.g., LISP, APL, Algol 68, and PL/I were all implemented by 1974. So, your examples show that he was wrong: Long after 1974 others in academics did work in programming languages without academic death via suicide or otherwise. Sooo, in 1974, views of the academic research content of programming language design varied -- such variations are with us frequently, i.e., make horse races. But that encounter in 1974 was just one example. I had another one from a computer science professor in the 1990s. Also, with some irony, in the 1980s and 1990s, I was in the group at IBM's Watson lab that designed and implemented the artificial intelligence rule-based language YES/L1. We published lots of papers in academic conferences. Moreover, beyond just design, I was our lead on joint work with GM Research and was one of our two presenters of our paper at the AAAI (American Association for Artificial Intelligence) IAAI (Innovative Applications of Artificial Intelligence) at Stanford; so the work, design, implementation, and application of YES/L1 was regarded as worth of publication in academics. Indeed, MIT published a book with paper from the conference, and our paper was one of the ones published. So, with my work, I, too, showed that the comments of those two professors I mentioned were not correct. Still, it remains, with my two examples from professors, there long has been an attitude and belief that work in programming languages is not sufficiently "fundamental" to be in computer science and would be "academic suicide". That has been a common attitude; now both of us have shown that the attitude was not correct, but it remains that that attitude has long existed -- that was my claim, that there was such an attitude. I didn't claim that the attitude was universal or correct. Given that the attitude has been in academic computer