Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    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.

    Visit blogRSSHN submissions
    Languages & CompilersMobile & AppleProgramming
    What HN says

    HN 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.

    Stats for nerds
    21HN people shared it
    20linked in comments
    528story points
    May 2016last shared
    2014people per year2016

    Top posts on HN

    1. 1
      Go Is a Shop-Built Jig
      4 people · 248 points · first shared 2014 · 106 comments on HN
    2. 2
      I Don't Know Swift
      1 person · 235 points · first shared 2014 · 109 comments on HN
    3. 3
      Swift is not functional
      5 people · 13 points · first shared 2014 · Discussion on HN
    4. 4
      I, for One, Welcome Our New Haskell Overlords
      1 person · 7 points · first shared 2014 · 1 comments on HN
    5. 5
      Throw Money at It
      3 people · 5 points · first shared 2015 · Discussion on HN
    6. 6
      Llama Calculus
      1 person · 5 points · first shared 2014 · Discussion on HN
    7. 7
      Refactoring Slow and Steady
      1 person · 2 points · first shared 2017 · Discussion on HN
    8. 8
      Rethrows? Error propagation in Swift
      1 person · 2 points · first shared 2015 · Discussion on HN
    9. 9
      Evolving abstractions with Swift
      1 person · 2 points · first shared 2014 · Discussion on HN
    10. 10
      But Should I Swift?
      1 person · 2 points · first shared 2014 · Discussion on HN

    What HN people wrote when they linked it

    • hellofunkJan 2016

      > 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…

    • bradgignacOct 2014

      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."

    • drhamJun 2015

      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

    • goldbrickMay 2016

      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/Reference/SwiftStandardLibraryReference/

    • NateDadSep 2014

      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.

    • cellularmitosisDec 2015

      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

    Related

    Dave Cheneydave.cheney.net271 people

    Why Slack is inappropriate for open source communications

    Dave Cheney
    Personal · last shared 2026
    Daring Fireballdaringfireball.net1.8k people

    Facebook is an attack on the open web

    Daring Fireball
    Personal · last shared 2026
    One Big Flukeonebigfluke.com36 people

    Go's power is in emergent behavior

    One Big Fluke
    Personal · last shared 2024
    Jason Moironjmoiron.net36 people

    Go Performance Tales

    Jason Moiron
    Personal · last shared 2026
    Rob Pikecommandcenter.blogspot.com216 people

    Go: What we got right, what we got wrong

    Rob Pike
    Personal · last shared 2026
    Ignore the Codeignorethecode.net112 people

    Oberon (2009)

    Ignore the Code
    Personal · last shared 2026
    Put.asreverse.put.as49 people

    Abusing Go's Infrastructure

    Put.as
    Personal · last shared 2025
    The Robservatoryrobservatory.com35 people

    How I lost control of our bank accounts to a phone scammer

    The Robservatory
    Personal · last shared 2026