J

Jonathan Oliver

blog.jonathanoliver.com · Personal blog · on HN since 2011

Jonathan Oliver, a software developer, writes about Go, .NET, event sourcing, domain-driven design, and cloud infrastructure.

What HN saysHN links it for his posts on leaving .NET for Go and on event sourcing, CQRS, and domain-driven design.
24HN people shared it
10linked it in comments
16stories submitted
234story points
1 year agolast shared
2011people per year2026

Most-shared posts

  1. 1
    Why I Left the .NET Framework
    8 people · 192 points · first shared 2014 · 108 comments on HN
  2. 2
    Golang Has Generics–Why I Don't Miss Generics Anymore
    7 people · 9 points · first shared 2014 · 1 comments on HN
  3. 3
    Why I Love Go
    3 people · 8 points · first shared 2014 · discussion on HN
  4. 4
    I Was On Page One of Hacker News–Here's What I Learned
    1 people · 7 points · first shared 2014 · discussion on HN
  5. 5
    AWS Elastic Block Storage Scares Me
    1 people · 6 points · first shared 2015 · discussion on HN
  6. 6
    Idempotency Patterns (2010)
    1 people · 6 points · first shared 2016 · discussion on HN
  7. 7
    Why I Left Windows
    1 people · 3 points · first shared 2014 · 3 comments on HN
  8. 8
  9. 9
    CQRS: Event Sourcing and Immutable Data
    1 people · 1 points · first shared 2011 · discussion on HN
  10. 10
  11. 11
    Homepage
    1 people · first shared 2011
  12. 12

What HN people wrote when they linked it

yk_42 · 2011-08-31
EventSourcing/CQRS (Command/Query Responsibility Segregation) is gaining a bit of traction in the .NET community. There are some great presentations[1], blogs[2][3] and projects[4] related to this architecture. [1]: http://www.infoq.com/presentations/Command-Query-Responsibility-Segreg… [2]: http://www.udidahan.com/?blog=true [3]: http://blog.jonathanoliver.com/ [4]: https://github.com/joliver/EventStore/
mcintyre1994 · 2015-10-13
Amusingly, in his "Why I love Go" [0] linked from that article he discusses using the right tool for the job: > Instead, this about the right tool for the job. (Could you imagine woodworkers getting into heated arguments about whether a screwdriver or hammer was better?) That would be about as insane as a woodworker writing a blog post about 'leaving the screwdriver' :) [0] http://blog.jonathanoliver.com/why-i-love-go/
kitsune_ · 2013-12-17
A couple of years ago, Event Sourcing / CQRS was a really hot topic in the DDD enterprise world, especially within the .NET community: http://msdn.microsoft.com/en-us/library/jj554200.aspx http://codebetter.com/gregyoung/2010/02/13/cqrs-and-event-sourcing/ http://blog.jonathanoliver.com/2011/05/why-i-still-love-cqrs-and-messa… http://vimeo.com/28457510 LinkedIn's approach sounds fairly similar in a lot of ways.
jonathanoliver · 2020-08-22
I am thoroughly impressed with you what your team has accomplished. Roughly 7-8 years ago, the company I work with switched away from .NET (to Go) largely because our performance with IIS for HTTP traffic running .NET was...poor by comparison to other available options. I wrote a blog post[1] on the subject. It's been exciting to watch the hard work you and your team are investing to make .NET (Core/Framework/etc) faster. In fact, virtually every single issue or point I raised in my blog post has been addressed to my sanctification and then some. The Techempower benchmarks show the massive strides you've all made and now I'm delighted to see .NET consistently performing at or near the top of the benchmark even without heavy customization/modification. To this day, I still really love C# as a language and there are a number of significant things in C# that I wish the Go ecosystem would adopt. If/when bootstrap a technology stack again, you can bet that C#/.NET will be the top contender on the list of options. Thanks again for all of your effort. It is very much appreciated and admired, even if I'm not using that tech stack at this point. [1] https://blog.jonathanoliver.com/why-i-left-dot-net/
Extasia785 · 2025-05-08
You are describing domain-driven design. Outsource generic subdomains, focus your expertise on the core subdomains. https://blog.jonathanoliver.com/ddd-strategic-design-core-supporting-a…
donw · 2020-08-26
I think that this article[1] is still relevant. In short, if you go Microsoft, you know you're locking yourself into an expensive ecosystem, one with no viable open-source escape hatch. Moreover, you need to find developers that want to work on the .NET platform. Most of those people work in banking or in large organizations, and are unlikely to want to jump ship to a startup. [1] https://blog.jonathanoliver.com/why-i-left-dot-net/
Silhouette · 2017-07-09
Check this out http://blog.jonathanoliver.com/golang-has-generics/ I'm afraid that's not a well-informed article. The assumption that the main use case for generics is collections is very limiting, for example. That might have been one of the original motivations, but today generic types are widely used for countless data structures and algorithms, and even modelling entire patterns of computation in languages like Haskell. They let you prove a lot more useful properties than just not inadvertently trying to pull a foo out of a set of bars.
rbehrends · 2017-07-09
> Check this out http://blog.jonathanoliver.com/golang-has-generics/ The author makes the common mistake of assuming that subtype polymorphism can be a full replacement for parametric polymorphism. It isn't, and neither is parametric polymorphism a replacement for subtype polymorphism.
flashmob · 2017-07-09
Type system is pretty cool in go. Particularly how the interfaces work, you don't have to explicitly declare that your object /type implements an interface, it automatically figures it out. Lack of genetics makes the code easier to read. Much better with interfaces. Check this out http://blog.jonathanoliver.com/golang-has-generics/
minaandrawos · 2014-08-14
I agree that generics is bound to become a limitation as Go get more used in APIs and similar use cases. For now, if anyone interested, here is a way you can get generics like functionality with Go: http://blog.jonathanoliver.com/golang-has-generics/

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