Rob Napier

robnapier.net · Personal blog · on HN since 2014

Rob Napier, an iOS and Mac developer, writes about Swift, Go, Haskell, and the economics of the App Store.

What HN saysHN commenters cite his posts to argue Swift is not functional, that Go's lack of generics matters little, and that Apple's App Store problems need money.
21HN people shared it
6linked it in comments
20stories submitted
528story points
1 year agolast shared
2014people per year2026

Most-shared posts

  1. 1
    Swift is not functional
    5 people · 13 points · first shared 2014 · discussion on HN
  2. 2
    Go Is a Shop-Built Jig
    4 people · 248 points · first shared 2014 · 106 comments on HN
  3. 3
    Throw Money at It
    3 people · 5 points · first shared 2015 · discussion on HN
  4. 4
    I Don't Know Swift
    1 people · 235 points · first shared 2014 · 109 comments on HN
  5. 5
    I, for One, Welcome Our New Haskell Overlords
    1 people · 7 points · first shared 2014 · 1 comments on HN
  6. 6
    Llama Calculus
    1 people · 5 points · first shared 2014 · discussion on HN
  7. 7
  8. 8
    Evolving abstractions with Swift
    1 people · 2 points · first shared 2014 · discussion on HN
  9. 9
    But Should I Swift?
    1 people · 2 points · first shared 2014 · discussion on HN
  10. 10
    Refactoring Slow and Steady
    1 people · 2 points · first shared 2017 · discussion on HN
  11. 11
    The Littlest Type
    1 people · 2 points · first shared 2020 · discussion on HN
  12. 12
    Rethrows? Error propagation in Swift
    1 people · 2 points · first shared 2015 · discussion on HN
  13. 13
    A Mockery of Types
    1 people · 1 points · first shared 2025 · discussion on HN
  14. 14
    Brute Forcing Passwords
    1 people · 1 points · first shared 2014 · discussion on HN
  15. 15
    ASCII
    1 people · 1 points · first shared 2024 · discussion on HN

What HN people wrote when they linked it

drham · 2015-06-23
It's not just about Taylor Swift having way more pull than any developer, she was also presenting Apple with a problem simple enough that it could literally be solved by throwing money at it. As Rob Napier pointed out in a great blog post [1]: The app store sustainability problem is definitely not the sort of problem you can just throw money at, and thus can't be responded to by Apple with the same way. Even in this article it is immediately apparent there is no consensus among the affected as to what the real problem is: Is it lack of free trials? Paid upgrades? Review times? [1] http://robnapier.net/throw-money
NateDad · 2014-09-24
Any language seems inconsistent and has hard to remember syntax for people who are new to it. Unlike most of other languages, you can learn Go in a weekend and get beyond the newbie problems. There was a great article lately about Go's syntax - http://robnapier.net/go-is-a-shop-built-jig The crux of the matter is that there are inelegant parts to the language because they are usefully inelegant, and when you're actually writing software, useful is better than elegant.
hellofunk · 2016-01-04
> Swift is widely marketed as a functional language If that's true, those sources reporting that are wrong. Apple itself refers to it instead as a "protocol-oriented language" when it's not just saying "object-oriented". Swift is definitely not a functional language in the way that it usually means, and Apple knows this, and any legit survey of languages wouldn't clump it together with much more functional languages. For example, this guy[0] knows what he is talking about. > Where Swift shines it is in the integratiion with the underlying Objective C frameworks on the Mac. >Swift is a good replacement for contexts in which Objective-C would be used. Except when you try to do anything with OpenGL or a C-based API, like Core Audio. Swift is really lagging for "power programming" with these low-level APIs. It's great for beginners who use all the high-level frameworks (though "great" is a subjective term I don't really agree with for Swift), but a lot of people who really need to get stuff done on Apple's platform are not going whole-hog Swift. >If you’re coming form Erlang/Haskell world you’ll think Swift is verbose and a bit of a mess but if you’re coming from Objective-C you’ll think “Swift is concise and elegant” I got to be honest, I still find I prefer Objective-C, because, it's essentially C. I can use my C structs and interfaces with zero problem. But in Swift, all C primitives are translated into Swift-only stuff, even integers! And don't get me started with…
bradgignac · 2014-10-17
I've had the same experience - very little need for generics in Go on a regular basis. I really appreciated the following snippet from http://robnapier.net/go-is-a-shop-built-jig: "Probably the biggest complaint people have with Go is the lack of generics. And I did run into that in just the first couple of weeks of work on my project, and I wound up with a bunch of duplicated code to work around it. And then, when it was all working, I refactored out the duplicated code. And I refactored again. And in the end, the whole thing was simpler and shorter than what I would have done with generics. So again, in the end, Go turned out to be a language for solving real problems rather than a language filled with beautiful tools, and so you build real solutions rather than finding excuses to use your beautiful tools. Don’t try to make Go what it isn’t. If you’re trying to solve abstract CS problems in their most generalized forms, then you may find it frustrating. But if you’re trying to solve specific, practical problems in the forms professional developers typically encounter, Go is quite nice."
goldbrick · 2016-05-20
It's not a functional language: http://robnapier.net/swift-is-not-functional Please inform me what Swift's type system has over, say, Java as I don't know of anything and neither does a cursory Google. The lack of an HTTP server is only an example. Let's see you parse JSON, or stream a Unix socket, or any of countless basic things that even Node includes in its standard lib. Swift doesn't really have much of anything except some types and traits: https://developer.apple.com/library/ios/documentation/General/Referenc…
cellularmitosis · 2015-12-16
Two things which might be useful to him: Rob napier's article on type erasure: http://robnapier.net/erasure Alexis Gallagher's talk on PATs and generic constraints: https://youtu.be/XWoNjiSPqI8

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close