How to Rapidly Improve at Any Programming Language

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • go

    The Go programming language

  • In the spirit of this, the Go project has a "common code review comments" document (https://github.com/golang/go/wiki/CodeReviewComments) - topics that come up frequently when reviewing pull requests. Reading these can certainly help you get better at writing (idiomatic) Go...

  • Stacktribution

    A tiny webapp to generate proper attribution to a Stack Overflow's answer.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Elm

    Compiler for Elm, a functional language for reliable webapps.

  • Instead of using a library for state machines, have you thought about trying a language [1] that does that in a type safe way, with a compiler that has your back if you forget to deal with a state?

    [1] https://elm-lang.org

  • dom-expressions

    A Fine-Grained Runtime for Performant DOM Rendering

  • countwords

    Discontinued Playing with counting word frequencies (and performance) in various languages.

  • > but the performance profiles & characteristics that we must know about in order to make a choice on which tool to use. And it shouldn't be that each user has to figure it out on their own, dig into PR's or whatever.

    That's an interesting take – I like the idea of a catalog of standard tasks with implementations in several languages as well as their performance characteristics. I suppose Rosetta Code gets the ball rolling with this, but it's missing some performance metrics. It reminds me of [Ben Hoyt's piece](https://benhoyt.com/writings/count-words/) on counting unique words in the KJV Bible in different languages.

  • learnxinyminutes-docs

    Code documentation written as code! How novel and totally my idea!

  • Not sure if this is what you're talking about, but there's https://learnxinyminutes.com. It's really awesome when getting started with a new language. If you're an experienced programmer, you can get to a newbie-but-ready-to-write-some-code level after a 15 minute reading on a new language.

  • open_safety

    An application to assist with securing script execution

  • https://github.com/technion/open_safety

    The time I've spent on the Github actions is substantively higher than the time I've spent on the .rs files. Of course you can't "test actions before commit" in the way you can actual code, so I kept having to make branches, make 15 commits like "try action fix again", followed by squashing them all down and merging.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • Dokku

    A docker-powered PaaS that helps you build and manage the lifecycle of applications

  • One approach that has worked for me so far is:

    1) find out if the runtime/framework is supported but Heroku or if there are any buildpacks available.

    2) spin up a Dokku instance using Vagrant for local development and testing

    3) deploy to a live Dokku server

    If/when I encounter any issues I add Heroku or Dokku to my search query and 9 times out of 10 I’ll find an answer to my issue. Else I just dig into the Dokku docs and GitHub issues and figure it out.

    So for instance googling for deploying a Phoenix app with Dokku results in a few hits such as this one [0].

    The only drawback currently is when you want to horizontally scale your deployment. You can use their kubernetes or nomad schedulers but I think those are an overkill in terms of complexity. You can use a load balancer in front of multiple Dokku instances but you then lose the ease of deployment, configuration, etc… Which is why I think their docker swarm scheduler [1] will be one of the most important feature they could add. It’s currently on the roadmap but I’m sure with a bit of sponsorship and a few pull/merge requests it will become a reality.

    [0] https://nithinbekal.com/posts/dokku-phoenix-deploy/

    [1] https://github.com/dokku/dokku/projects/1#card-66841201

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts