First of all, let me say that I'm totally aware that with Swift lurking around the corner, Objective-C is far from being the cool kid on the block. However, the latter is not going away anytime soon, and as long as Objective-C code has to be written and maintained, there is a need to produce readable and succinct code.
During the past year, I've basically worked full time with Objective-C. Since I use the excellent ComponentKit (Objective-C++) to build app UIs, it wasn't really practical to switch to Swift. So I was sitting there, stuck with Objective-C, and coming from a Smalltalk background, I couldn't help but notice the influences it took on Objective-C. But I also couldn't stop noticing where brilliant design decisions didn't find
their way from Smalltalk to the Apple world.
That's why I created OpinionatedC.
The thing I was missing the most was the super-immersive and highly-consistent Smalltalk collection API. In Smalltalk, most of the time it doesn't really make a difference if you work with an Array, an OrderedCollection, a Set or even a String. In ObjectiveC, it does. That's why the focus of OpinionatedC is clearly on collection extensions at the moment.
P.S.: I'm aware of many of the alternative libraries that offer a similar feature set, like Undersocre.m or ObjectiveSugar (or even ReactiveCocoa - which is great but a really big dependency if you just want the kind of extensions offered by OpinionatedC). However, none of those did really convince me. Don't get me wrong, they are great libraries, and badmouthing them is the last thing I want to do. But ultimately, I decided to build my own alternative anyway ;)
1 comment
[ 4.2 ms ] story [ 10.3 ms ] threadFirst of all, let me say that I'm totally aware that with Swift lurking around the corner, Objective-C is far from being the cool kid on the block. However, the latter is not going away anytime soon, and as long as Objective-C code has to be written and maintained, there is a need to produce readable and succinct code.
During the past year, I've basically worked full time with Objective-C. Since I use the excellent ComponentKit (Objective-C++) to build app UIs, it wasn't really practical to switch to Swift. So I was sitting there, stuck with Objective-C, and coming from a Smalltalk background, I couldn't help but notice the influences it took on Objective-C. But I also couldn't stop noticing where brilliant design decisions didn't find their way from Smalltalk to the Apple world.
That's why I created OpinionatedC.
The thing I was missing the most was the super-immersive and highly-consistent Smalltalk collection API. In Smalltalk, most of the time it doesn't really make a difference if you work with an Array, an OrderedCollection, a Set or even a String. In ObjectiveC, it does. That's why the focus of OpinionatedC is clearly on collection extensions at the moment.
P.S.: I'm aware of many of the alternative libraries that offer a similar feature set, like Undersocre.m or ObjectiveSugar (or even ReactiveCocoa - which is great but a really big dependency if you just want the kind of extensions offered by OpinionatedC). However, none of those did really convince me. Don't get me wrong, they are great libraries, and badmouthing them is the last thing I want to do. But ultimately, I decided to build my own alternative anyway ;)