
Mike makes the case for Chris’ slide into hipsterhood & Chris responds in kind. Between those hijinks the guys discuss the massive LLVM advantage Apple is leveraging that nobody is talking about.
Plus we reflect on the most important skill in software development, read some emails & more!
Thanks to:
Direct Download:
MP3 Audio | OGG Audio | Video | Torrent | YouTube
RSS Feeds:
MP3 Feed | OGG Feed | Video Feed | Torrent Feed | iTunes Audio | iTunes Video
Become a supporter on Patreon:
Show Notes:
Hoopla:
Dockercon
Apple’s Bitcode Telegraphs Future CPU Plans
The biggest announcement at this week’s WWDC is one hardly anyone noticed. During the Platforms State of the Union on Tuesday, Andreas Wendker briefly mentioned Bitcode, describing it as an opportunity for future compiler optimizations to be applied to already-submitted apps. He also mentioned that it allows apps to be future-proofed by letting the store add support for future CPU features without developers having to resubmit.
This means that apps can automatically “take advantage of new processor capabilities we might be adding in the future, without you re-submitting to the store.”
Popular Online This Week
Here’s an insightful paragraph from James Hague’s blog post Organization skills beat algorithmic wizardry:
When it comes to writing code, the number one most important skill is how to keep a tangle of features from collapsing under the weight of its own complexity. I’ve worked on large telecommunications systems, console games, blogging software, a bunch of personal tools, and very rarely is there some tricky data structure or algorithm that casts a looming shadow over everything else. But there’s always lots of state to keep track of, rearranging of values, handling special cases, and carefully working out how all the pieces of a system interact. To a great extent the act of coding is one of organization. Refactoring. Simplifying. Figuring out how to remove extraneous manipulations here and there.
Algorithmic wizardry is easier to teach and easier to blog about than organizational skill, so we teach and blog about it instead. A one-hour class, or a blog post, can showcase a clever algorithm. But how do you present a clever bit of organization? If you jump to the solution, it’s unimpressive. “Here’s something simple I came up with. It may not look like much, but trust me, it was really hard to realize this was all I needed to do.” Or worse, “Here’s a moderately complicated pile of code, but you should have seen how much more complicated it was before. At least now someone stands a shot of understanding it.” Ho hum. I guess you had to be there.
You can’t appreciate a feat of organization until you experience the disorganization. But it’s hard to have the patience to wrap your head around a disorganized mess that you don’t care about. Only if the disorganized mess is your responsibility, something that means more to you than a case study, can you wrap your head around it and appreciate improvements. This means that while you can learn algorithmic wizardry through homework assignments, you’re unlikely to learn organization skills unless you work on a large project you care about, most likely because you’re paid to care about it.