4 ms·
I disagree, programming has changed greatly. Today programming is mostly about picking existing components and gluing them together. Those components are thems
by dwheeler 4y ago
I disagree, programming has changed greatly.
Today programming is mostly about picking existing components and gluing them together. Those components are themselves mostly gluing together of other components, to many levels. While it is still possible to write code from scratch, that is usually not a productive use of time.
SICP is an awesome book, but it is probably better for a pure Computer Science course after you have had other courses.
- dragonwriter 4y ago> While it is still possible to write code from scratch, that is usually not a productive use of time. The thing you use to “glue components together” is as much code as the components themselves are, and the techniques used in connecting them run the full gamut of programming skills. SICP may not be the best pedagogical tool available today, because the space of options in programming pedagogy has changed, too. But the skills it teaches are no less relevant.
- slaymaker1907 4y agoCreating things from scratch is still definitely a thing, particularly for high performance code. Sure, there are plenty of data structure libraries, but squeezing out that last bit of performance often requires something bespoke. For example, I recently wrote a custom CSV parser because I needed something that did no heap allocation but without mutating the original character array (using explicit string lengths).
- wombatpm 4y agoYour comment gave me flashbacks to FORTRAN data files with fixed width data descriptors.
- inimino 4y agoThis is a ton of fun! If you have the double-quote escaping then you have to mutate the data in place, but if it's just a table of numbers then not. Usually CSV parsing doesn't matter, but when it does, it matters a lot.
- beej71 4y agoWhat's the practical difference between gluing stuff together and creating it from scratch? When we code in C, we're gluing the standard library with others, in a way.
- throwaway77770 4y agoI would put it like this: consistent small gains programming is about gluing components together. There are plenty of non-incremental (big impact or flop) programs that couldn't have been made by just gluing components together. E.g. BitTorrent, AlphaZero, and seL4.