4 ms·
Basically he's describing immutable storage and what we now call write-append-log DB backend. Quite a foresight at time when microcomputers persisted data on a
by repelsteeltje 3y ago
Basically he's describing immutable storage and what we now call write-append-log DB backend.
Quite a foresight at time when microcomputers persisted data on audio tapes and Sinclair launched a computer with custom chassis, keyboard, PCB and 3.5MHz Z80 CPU,..., but yet chose to include only 1kB of RAM to keep the costs low.
- 082349872349872 3y agoDijkstra once —when the discipline of CS was itself much younger— wrote something to the effect of "how are we supposed to teach our students things that will last their lifetimes?" (ie if today's kids are ~20, what could we teach that will still be relevant for computing in ~2070?)
- jbandela1 3y agoDiscrete mathematics and calculus. Also, likely Java. I bet there will still be Java code running in 2070.
- ralferoo 3y agoI bet there will still be COBOL code running in 2070.
- axlee 3y agoHaven't most of these codebases moved to C#/Java over the past 20 years? I feel like Cobol is truly a thing of the past, even for your average old-school bank/insurance behemoth, but then I might live in a bubble.
- dragontamer 3y agoDoes Java (or it's programmers) know how to represent decimal numbers and fractions at the machine level? COBOL is used in banking because it natively supported decimal floats from the 70s or some crap, and no other language bothers to truly try and be a COBOL replacement. Banking / insurance / etc etc are on the Dollar/Penny system. They need 0.01 to be exactly 0.01, and not 0.09999997 or whatever double precision decides to round that to. And remember, there are fractions of a penny. Ex: $15.097 could be a real price that needs to be exactly calculated. ------- If this crap hasn't been figured out in the last 20 years, why would Java or C# programmers try to solve it in the next 20 years? It's more likely for the old COBOL code to just keep running along than to port over to a language that doesn't even meet your legal requirements.
- epylar 3y agoPython's decimal library does this pretty well. https://docs.python.org/3/library/decimal.html https://docs.python.org/3/library/decimal.html
- axlee 3y agoIn Java, BigDecimal (https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/math/BigDecimal.html https://docs.oracle.com/en/java/javase/21/docs/api/java.base...) is the standard. It's used widely in every bank around the world. In Python, you have Decimal. In C#, Decimal works also great. It's not like COBOL has a particular edge against "modern" languages, but it has legacy with it.
- jodrellblank 3y ago> "If this crap hasn't been figured out in the last 20 years, why would Java or C# programmers try to solve it in the next 20 years?" C# has had System.Decimal since .NET Standard 1.0 over 20 years ago: https://learn.microsoft.com/en-us/dotnet/api/system.decimal?view=net-8.0 https://learn.microsoft.com/en-us/dotnet/api/system.decimal?... - "Decimal value type is appropriate for financial calculations that require large numbers of significant integral and fractional digits and no round-off errors."
- JohnFen 3y agoSome has, but there's still a very large and active COBOL installed base, and there's still active COBOL development taking place. In fact, COBOL devs tend to be better paid these days, because they're critical but there are fewer of them. The deal is that companies who rely on such software have a solid, time-proven, solution. Switching that out just to change to a different language would be irresponsibly risky.
- organsnyder 3y agoI use discrete math quite often, but rarely calculus—at least nothing more complicated than knowing what integrals and derivatives are (not how to actually calculate them). I mainly work at the application level, though: understanding business processes and other "soft" skills are much more relevant than advanced math. I fully expect some companies to still be using Java 8 in fifty years.
- creer 3y agoHaving internalized what it is and what they are and how they work in general is not to be discounted. The usefulness of education is often not in the detail of the rules but in this internalizing. You now know about this concept and it will come to mind without even noticing it when useful when something passes in front of you. If only in business, interest rate or commission is not a small number each time, but adds up. Growth rate is properly "compounded growth rate". Etc.
- organsnyder 3y agoThat’s a good point. Taking calculus and other courses definitely helped to provide a good foundation. But, for anyone struggling in those courses and wondering if they can make it in this industry: a barely-passing grade in Calculus II won’t be a career-ender. :-)
- sitkack 3y agoEugenia Cheng has a funny quip about how the US is the only place that studies calculus as hard as we do. It sounds like she would like it to be a footnote, and not the main course.
- JohnFen 3y agoThere probably will be Java code running in 2070. As well as Python, C, C++, COBOL, Fortran, etc.
- sonicanatidae 3y agoConcepts. What changes over time is syntax, but most of the concepts remain. Source: 30+ year SysAdmin.
- 1oooqooq 3y agoIncluding mass storage not being free :(
- samsquire 3y agoIf machines are still Turing tape machines at their heart that follow instructions as in assembly. Or we're all encoding behaviours as activations of vectors in English language prompting
- JohnFen 3y agoThe fundamentals and concepts haven't changed much at all, and probably won't for a very, very long time. If you have a good handle on those, everything else is relatively easy to pick up -- even the really new stuff. What concerns me about new CS grads is that they're not only lacking a lot of the fundamentals, they sometimes even argue that learning them isn't useful.
- 1oooqooq 3y ago`curl http://fundamentals.io http://fundamentals.io | sudo bash -`. checkmate, old man. edit: forgot `curl -k`. like anyone have time to deal with those cert errors.
- rekabis 3y agoIs there even any kind of an online resource that defines these “fundamentals” in a widely-agreed-upon basis, and focuses on only said fundamentals as a purpose-built resource of high specificity? If so, it’s only a Google search away for these young’uns. Or, as a mangled quote attributed to Einstein goes, “Never memorize what you can look up in books.”
- 082349872349872 3y ago"fundamentals of computer science" is a pretty disappointing G search, at least in my bubble. (I currently believe "it's all quantales, what's the problem?" is a defensible proposition, but suspect that this viewpoint may be reminiscent of Mathematics Made Difficult)
- jollyllama 3y agogrep
- jonstewart 3y agoDijkstra's deep-seated pessimism about the state of computing and software quality seems ever-green, two decades after his death.