There are lots of programming languages out there, often each with their own niche and methods of doing things. I’ve learned so much from each language I’ve been exposed to, that it seems useful to learn more. Thus an idea - learn one lanaguage each month.
Generally, learning a new programming language takes no time at all. But what’s useful often isn’t simply the ability to program in the lanaguage, but to understand the kind of scenario’s that particular language is right for, and learn about the kinds of features they employ to make things easier for programmers. You can see this when looking at just a few languages:
- Java - Provides the JVM, allowing it to run anywhere with memory managed
- Haskell - Makes primary use of lambda calculus, reducing imperative programming
- Go - Removes exceptions, and makes parallelism easier
- SQL - DSL that works entirely through rows and columns
- Prolog - Logic language which uses your statements to evaluate truth
- Scala - Integrates functional concepts to a high-level OOP language
- Python - Interpreted line at a time and lack of types
Thus, the plan is to release a specification of a problem to solve and what language I plan to use at the start of the month. At the end of the month I’ll show off my solution as well as how it works and what I’ve learned. If you have a language suggestion or want to simply follow along, feel free!
You can find all the challenges over here