3 ms·
Yeah, I think some apriori knowledge on data structures, algorithms, big O, pass by reference, pass by value, etc. is going to be of strong benefit. I was once
by julienchastang 4y ago
Yeah, I think some apriori knowledge on data structures, algorithms, big O, pass by reference, pass by value, etc. is going to be of strong benefit. I was once working on a legacy Java code base where the prior programmer employed an ArrayList for all of his data structure needs when other data structures would have been much more suitable. That was painful. That said, the long list of academic references originally posted may be of little practical value for most software developers.
- Jtsummers 4y ago> That said, the long list of academic references originally posted may be of little practical value for most software developers. In many cases because what they contain has been integrated (in whole or in part) into the normal order of business. Some of the big threads: Structured programming. Even C and C++ constrain their goto statements to the same function. Most other languages have similar constraints or limit them to things like named loops/breaks. So you'll learn structured programming just by learning anything but assembly or old-school BASIC and FORTRAN (where there is some structured programming, but also a lot of unstructured programming). Concurrency, Milner and Hoare's works have influenced many modern languages. CSP influenced or formed the basis of many modern concurrency systems. Go and Erlang/Elixir (anything on BEAM) are fairly mainstream languages that draw on it at least in part.ure* understanding of it because implementations aren't pure implementations of it for whatever reasons). Even many of the type systems stuff. Type inference is used by many modern languages, generics/polymorphism is also used by most modern statically typed languages. Even Go finally got on the generics train. So yeah, you don't need to study these papers to benefit from them, many (most?) modern languages are directly or indirectly influenced by them.
- rramadass 4y ago>the long list of academic references originally posted may be of little practical value for most software developers. Oh No! That is quite the wrong way of looking at it. One of my favourite quotes (attributed to Mark Twain) goes: I have never let my schooling interfere with my education. It is with that sentiment in mind that one should "read" the above list of papers. They contain the distilled essence of somebody's lifework. One does not have to read and understand completely every bit of what has been written in the paper. Indeed without the proper background, that might be quite difficult. But one should be able to browse and pick out the main ideas from the paper (this is what i try to do with all the papers/books that i read). Keywords/Jargons/Things-that-one-might-not-understand are filed away at the back of the mind so that later on when one comes across the same/related concept we can go "aha" and gain a deeper understanding of the subject matter. This is the essence of gathering and assimilating knowledge.
- julienchastang 4y agoI don't get how the Mark Twain quote is apropos here though. MT had almost no formal education and started working on a river boat as a teenager. Another Mark Twain quote comes to mind here, “A classic is something that everybody wants to have read and nobody wants to read.”