Topics /

Programming Languages

The most popular blog posts about programming languages on Hacker News. 258 posts.

2020
63

Names are not type safety

Haskell programmers spend a lot of time talking about type safety . The Haskell school of program construction advocates “capturing invariants in the type system” and “making illegal states unrepresentable,” both of which sound like compelling goals, but are rather vague on the techniques used to achieve them. Almost…

64

Lovely Week with Elixir

Context It’s not often I get excited about programming languages since meeting Ruby in 2015. Way before that, drowning in misery of writing university course works in Java, has pushed me away from development. Ruby’s freedom and expressiveness was what pulled me back, and its style has kept me in. I was on the lookout…

66

The Hard Part of Learning a Language

I want to do $THING. Normally I do my hacking in Python, which is okay but has lots of frustrations. My friends tell me $LANGUAGE is better for doing $THING. After going through the online tutorial, I can see why. Maybe I’ll try $LANGUAGE for this project! Just a few things I need to figure out first: How do I install…

68

Pain Points of Haskell

I would like to preface this article by saying that Haskell is great. I have been using it as my go-to for native applications for several years now. Everything that follows is a product of my love and affection for the language, and a desire to see it succeed. And none of this is intended to disparage the efforts of…

74

Cider 1.0

You can’t really know where you are going until you know where you have been. – Maya Angelou CIDER started its life as an effort to replace a hacked version of SLIME1 with a proper environment for Clojure development on Emacs. Many of you probably don’t remember those days, but initially almost everyone was using a…

75

What is the core of the Python programming language?

Why ask this question? It's no secret that I want a Python implementation for WebAssembly [https://webassembly.org/]. It would not only get Python into the browser, but with the fact that both iOS [https://developer.apple.com/documentation/javascriptcore] and Android [https://developer.android.com/guide/webapps]…

76

Ruby Concurrency Final Report

Ruby's native I/O methods traditionally blocked the calling fiber, leaving event-loop libraries to provide replacement wrappers. This Ruby Concurrency Progress Report presents a lightweight per-thread Fiber Scheduler which lets those native operations cooperate with an event loop. It explains the implementation and…

83

Towards Tactic Metaprogramming in Haskell

Isn’t it weird that we treat source code as text? That is, we have this extremely well-structured and strongly-typed object — the abstract syntax tree — that exists conceptually in our minds, and in actuality inside of our compiler, but for some reason we pretend it’s just a pile of bytes and edit it byte-by-byte…

84

Go modules have a v2+ problem

Go has a problem. Go modules place a strange naming requirement on modules version 2 or greater. Module names on modules v2+ must end in the major version ala …/v2 , and communication of this rule has been weak. It's non-obvious, and the community at large does not understand it.

85

Ruby 3.0 and the new FiberScheduler interface

A few days ago on Christmas day 2020, Matz released Ruby 3.0. Like every year, a host of interesting new features was included with the new version. Most articles I have read so far focus more on the new ways to introduce type hints and the Ractor system but for me the most interesting addition was the introduction of…

86

From Rust to TypeScript

I was introduced to Rust in 2018 and has been enamored since. Rust is a system programming language, much like C++. Unlike C++ though, being relatively new, its language design is more modern and sophisticated. Writing with can feel more like writing TypeScript or Haskell. Not surprising since, despite being a…