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
    A

    Adam Bard

    adambard.com · Personal blog · on HN since 2013

    Adam Bard writes about programming, mainly Clojure, with language comparisons, tutorials and GitHub language popularity statistics.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersData & Visualization
    What HN says

    HN links it for 'Top GitHub Languages' stats and a real-world comparison of the same web app in PHP, Python, Ruby and Clojure.

    Stats for nerds
    51HN people shared it
    52linked in comments
    1Kstory points
    Mar 2020last shared
    2013people per year2020

    Top posts on HN

    1. 1
      Programming languages to watch: LiveScript, Julia, Elixir
      1 person · 235 points · first shared 2013 · 103 comments on HN
    2. 2
      Just what does “code as data” mean anyway? (2014)
      1 person · 149 points · first shared 2018 · 171 comments on HN
    3. 3
      Clojure.core: Batteries Almost Included
      2 people · 134 points · first shared 2013 · 26 comments on HN
    4. 4
      Clojure's core.typed vs Haskell
      2 people · 120 points · first shared 2013 · 62 comments on HN
    5. 5
      Writing Friendlier Clojure
      1 person · 109 points · first shared 2015 · 17 comments on HN
    6. 6
      The same app 4 times: PHP vs Python vs Ruby vs Clojure
      2 people · 74 points · first shared 2013 · 92 comments on HN
    7. 7
      OCaml for the impatient
      3 people · 27 points · first shared 2017 · 1 comments on HN
    8. 8
      You use PHP because you don't know better.
      1 person · 27 points · first shared 2013 · 27 comments on HN
    9. 9
      Top Github Languages for 2013 (so far)
      8 people · 26 points · first shared 2013 · 6 comments on HN
    10. 10
      Clojure is not for geniuses
      4 people · 8 points · first shared 2014 · Discussion on HN

    What HN people wrote when they linked it

    • asynchronous13Nov 2013

      Microsoft's Office suite is primarily C++. There was an attempt to start using more C# a couple years ago, but it's still mostly C++.

      On a closed-source project, it's hard to get the details. But the open source projects, however, we can get a very clear picture.

      OpenOffice: [1]
      10.4 million lines of C++
      1.2 million lines of Java

      *edit* noticed you mentioned LibreOffice, not OpenOffice
      LibreOffice: [2]
      5.7 million lines of C++
      0.4 million lines of Java

      Firefox: [3]
      4.0 million lines of C++
      1.8 million lines of C
      1.7 million lines of javascript

      MySql: [4]
      7.0 million lines of C++
      4.0 million lines of C
      0.4 million lines of javascript
      0.3 million lines of Java

      The point I'm trying to make is that C++ is widely used, and definitely not used just for gaming.

      > Most new development isn't done in C++

      Whether or not C++ is the right choice for new development is a different question. Github posted their top 20 languages for new repositories in 2013 [5]. C++ is #6 and has more new projects than C, Objective-C and C#. Even if it's fading in popularity, that's still a lot of new projects in C++.

      [1] http://www.ohloh.net/p/openoffice/analyses/latest/languages_summary

      [2] http://www.ohloh.net/p/libreoffice/analyses/latest/languages_summary

      [3] https://www.ohloh.net/p/firefox/analyses/latest/languages_summary

      [4] http://www.ohloh.net/p/mysql/analyses/latest/languages_summary

      [5] http://adambard.com/blog/top-github-languages-for-2013-so-far/

    • lkrubnerDec 2013

      I don't have an answer for you, but for the last year I have been learning Clojure, and I have found it fascinating. I do not think this will satisfy you, but I would like to share some of the things that I find interesting about Clojure.

      Lately I've been studying the source code of Aleph, a web server written by Zach Tellman. Zach is a very smart guy, and reading his source code is an education (I've actually found this true of the majority of Clojure projects: the quality of the code is very good, and Clojure is the only language I've worked with so far where I have been able to learn so much reading the source code of the 3rd party libraries that I rely on).

      Let's start with an interesting comment about Java, on StackOverflow:

      Why doesn't more Java code use PipedInputStream / PipedOutputStream?

      http://stackoverflow.com/questions/484119/why-doesnt-more-java-code-use-pipedinputstream-pipedoutputstream

      In response to that question, matt_b suggests this is part of the reason why people don't use pipedinputstream or pipedoutputstream:

      "Typically, data is read from a PipedInputStream object by one thread and data is written to the corresponding PipedOutputStream by some other thread. Attempting to use both objects from a single thread is not recommended, as it may deadlock the thread."

      So now, look at how PipedInputStream and PipedOutputStream are used in Aleph:

      https://github.com/ztellman/aleph/blob/perf/src/aleph/formats.clj

      In particular, look at this…

    • MetaCosmFeb 2014

      What is "significant penetration" from your perspective? It is very young (as a 1.0, not even 2 years old). What language would you compare it to, and where was that language at 2 years old?

      What was Java adoption in 1998? What was Scala adoption in 2006? What was Python adoption in 1996.

      Unless the trend lines shift, Go is a IMHO something of a phenomenon. It seems to hit a lot of sweet spots in deployment, tooling and simplicity that is making a lot of groups happy. It is already being used to build tools people depend on (docker [just raised 15M], packer, nsq, juju, heka, coreOS), it is fast (http://www.techempower.com/benchmarks/) ... additionally, it seems to have decent penetration on both ends of the spectrum, large enterprises and tiny start-ups are choosing it (http://code.google.com/p/go-wiki/wiki/GoUsers), DevOps and Software Engineers are living together in rare harmony due to painless deploys and handoffs.

      If you want to use GitHub as a barometer of language popularity ... http://adambard.com/blog/top-github-languages-for-2013-so-far/ --- Go is tracking darn close to Scala, despite being 8 years younger.

    • DonHopkinsApr 2019

      You can do multiple dispatching in Python, by hand or with decorators, but it can get kind of awkward, not as elegant as CLOS's and Dylan's approach with generic functions.

      https://www.artima.com/weblogs/viewpost.jsp?thread=101605

      Five-minute Multimethods in Python,
      by Guido van van Rossum.

      I used to believe that multimethods were so advanced I would never need them. Well, maybe I still believe that, but here's a quick and dirty implementation of multimethods so you can see for yourself. Some assembly required; advanced functionality left as an exercise for the reader.

      https://python-3-patterns-idioms-test.readthedocs.io/en/latest/MultipleDispatching.html

      https://pythonhosted.org/multidispatch/

      https://adambard.com/blog/implementing-multimethods-in-python/

      https://opendylan.org/documentation/intro-dylan/multiple-dispatch.html

      https://opendylan.org/documentation/intro-dylan/objects.html#generic-functions-objects

      https://en.wikipedia.org/wiki/Multiple_dispatch

      https://en.wikipedia.org/wiki/Generic_function

    • chadnickbokOct 2014

      I always find the TIOBE Index fascinating, but mainly because I just don't get it! I have no idea how any index can rank Transact-SQL (not even just 'sql') over JavaScript.

      I'm not sure where the index pulls in its data, but if its putting a specific branch of SQL ahead of JavaScript, I've got to say I disagree.

      It does, however, provide a really interesting comparison to the GitHub version of the popularity contest. This article shows quite a different picture: http://adambard.com/blog/top-github-languages-2014/ (albeit a month or two stale now)

      The most surprising thing I see from both these lists, however, is that even though we've had decades of programming-language progress, straight-up C still has a hugely strong showing. Sometimes simple is still the best, I guess!

    • m0th87Nov 2014

      > One of the reasons why Lisp is fading into irrelevance is that GC is obsolete tech.

      RAII, smart pointers and ARC aren't free lunches, which is why people had moved from them to GC in the first place.

      Of the top 10 languages on github [1] that require memory management, 7 of them use GC [2].

      > This is also a factor in why Android phones are orders of magnitude slower than equivalently-specced iPhones

      That's a pretty nutty assertion to make without data.

      1: http://adambard.com/blog/top-github-languages-2014/

      2: Discluding CSS and shell since they don't require memory management. Python's default implementation actually has both RC and GC.

    Related

    Think Relevancethinkrelevance.com69 people

    My Clojure Workflow, Reloaded

    Think Relevance
    Company · last shared 2020
    Yogthosyogthos.net45 people

    Why I'm Productive in Clojure (2013)

    Yogthos
    Personal · last shared 2026
    Alex Millertech.puredanger.com24 people

    Real world Clojure

    Alex Miller
    Personal · last shared 2015
    Learning Clojurelearningclojure.com15 people

    An Introduction to the Lambda Calculus (2015)

    Learning Clojure
    Personal · last shared 2020
    Brian Carperbriancarper.net48 people

    Making an RPG in Clojure (2010)

    Brian Carper
    Personal · last shared 2017
    Prismatic Blogblog.getprismatic.com40 people

    Om Sweet Om: functional front-end engineering with ClojureScript and React

    Prismatic Blog
    Company · last shared 2015
    Chas Emerickcemerick.com35 people

    100% time

    Chas Emerick
    Personal · last shared 2025
    Chris Allenbitemyapp.com35 people

    Why the poor are poor

    Chris Allen
    Personal · last shared 2025