Upcoming and OnDemand Webinars View full list

The Big Nerd Ranch Blog

Debugging as the Gateway to Testing

March 17, 2016 | Leveling Up
Automated testing is the software equivalent of eating your vegetables. You could, you should, but… eh, maybe next time. But then “next time” never comes around. Finding the perfect time to take that first step into testing seems a challenge best avoided, especially when you don’t really know what awaits.

Good news! I’ve found the perfect “next time,” and you’re probably going to have a few opportunities to level up your testing skills today.

Read More

Swift Access Control

December 10, 2014 | iOS
Swift access control enables you to hide the implementation details of your code and to specify a preferred interface through which that code can be accessed and used. It also allows the developer to control the context their types, methods, and other names can be used from.
Read More

Considerate Commenting

November 20, 2014 | Leveling Up

Comments have been the target of much negative advice—delete them!
rewrite to eliminate them!—but little positive advice. Let’s take a look at why they get a bad rap,
then examine why the right kind of comments are indispensable.

Read More

Clojure/West 2013

April 7, 2013 | Conferences

I stumbled from the red-eye into the airport shortly after dawn. Bleary-eyed and back on the ground in Atlanta at last, Clojure/West, and its talk of Lisp and browser and JVMs, seemed already a distant memory. My laptop hadn’t left its TSA-friendly bag for the past week. My notebook was full of scribbles and mindmaps. What was a Cocoa programmer like me to make of it all?

Read More

Syntax Matters

December 14, 2008 | Leveling Up

One of my coworkers, Scott, recently pointed me towards Jacob Kaplan-Moss’s comments on programming languages and thought. In “Syntactic Sugar”, Jacob addresses the canard that “all Turing complete language differ solely on syntactic sugar.” He first concedes that this is technically true, in terms of reduction to machine instructions and register manipulation. At the same time, he says, this view ignores the important effect qualitative differences in the syntactic structure of different programming languages have on the way we as programmers solve problems. In support of this, he introduces the Sapir-Whorf hypothesis from linguistics, which states that, rather than simply being a vehicle for thought, language in fact determines the limits of what is thinkable. He argues that this applies equally to programming languages, and concludes that “we’ll always be more productive in a language that promotes a type of thought with which we’re already familiar.”

Read More

Not Happy with Your Current App, or Digital Product?

Submit your event

Let's Discuss Your Project

Let's Discuss Your Project