Wisdom from 50+ years in software

Topics covered
Popular Clips
Episode Highlights
Rust's Safety Potential
The discussion on Rust highlights its potential to address memory safety issues in software development. acknowledges the challenges of replacing C with Rust, noting that while Rust's memory safety features are appealing, the transition is complex due to the vast amount of existing C code 1. He mentions efforts to modernize C, such as creating safer subsets and standards like MISRA for automotive software, but remains skeptical about fully solving memory safety issues 2.
The problem is if you go through and try to improve the infrastructure or any program, what you're doing is changing things. What you want to do is do it in a way where the external properties, all external properties remain the same, but the internal properties are better.
---
Kernighan emphasizes the difficulty of ensuring that improvements do not introduce new bugs, highlighting the need for careful testing and verification 1.
  Â
Go's Generics
The introduction of generics in Go has sparked debate within the programming community. notes that Go's simplicity, with its limited keywords, has been a strength, but the addition of generics could enhance its expressiveness and appeal to a broader audience 3. expresses cautious optimism, trusting the careful evolution process of Go's development team to maintain backward compatibility and ensure the feature's successful integration 3.
The Go evolution process has been exceptionally careful and cautious. Go remains backward compatible right back to the beginning.
---
Concerns remain about potential misuse of generics by the community, which could complicate Go programs, but the design and performance implications appear to be well-considered 4.
  Â
Go Insights
shares his experiences with the Go programming language, highlighting its modernity and efficiency. He recounts his time at Google, where he collaborated on a Go book, praising the language for its ease of use in concurrent programming tasks like web crawling 5. Despite not being a frequent Go programmer, he appreciates its design, which feels like a modern version of C, and the influence of its creators, Rob Pike and Ken Thompson 5.
Expressing that in Go was just so much easier than expressing it in Python threads and it seemed to run faster in at least the specific case that I was playing with.
---
Kernighan also discusses his language preferences, mentioning C and Python as his most used languages, while acknowledging the challenges he faces with functional languages like Haskell 6.
