3 ms·
Ask HN: What is your go-to project when learning a new language/framework?
When reading HN I've seen people saying that they will often re-implement the same small-but-not-too-trivial project in multiple programming languages. This also helps them pick up a new language fast, and compare the different approaches to solving the same problems.
A recent comment suggested implementing the Snake game [0]. Conway's game of life seems to be another common one. I think some people have even mentioned implementing hackernews clones.
[0] https://news.ycombinator.com/item?id=21414791
- kick 7y agoAn RDBMS! Very simple once you get the hang of them, and it's a very easy way to benchmark your effectiveness in a language because they have quantifiable and (very) perceivable performance differences between implementations.
- fouc 7y agoOh that's a nice idea. I bet the parsing and handling of the relational algebra could vary quite a bit depending if it's a functional programming language or C-like.
- maxencecornet 7y agoFor back-end tech, it's almost always a job board
- jjjbokma 7y agoI have a static site generator, already written in Perl and Python [0]. I am considering a Go version and maybe, maybe, a Haskell version. [0] https://github.com/john-bokma/tumblelog https://github.com/john-bokma/tumblelog
- wkjagt 7y agoSudoku solvers are nice to rewrite in several languages.
- LarryMade2 7y agoI do calendars, where it displays a month grid with days of the week at top, calculates the start day of the month, changes box colors for non-month days, month days, current day, etc. I add more bits if the language is more robust like filling in sample events, add in a month pager for control testing, etc. This provides me enough math, control logic, looping and display logic to see what's what.
- unlinked_dll 7y agoJSON serializer, helps me get familiar with most of the syntax.
- samuraiseoul 7y agoA early facebook clone can work well. If you're learning a new frontend tech, reuse the backend from one you did before, or if it's new backend, reuse the frontend from a different one. I say early facebook cause I feel that doing a login, and feed page, and allowing status updates, friends search and confirmation, and a profile page with photo uploads to be a pretty good intro stack. That said for a new language I ALWAYS look for a modern koans exercise to do. Some langs have them, some don't.
- peruvian 7y agoI mostly learn web frameworks, backend. I mostly go with a file uploader - sort of like Imgur but for anything. Solves the following "issues": * MVC architecture * Relationships (files belong to user) * Authorization (user can only see files they uploaded) * Talking to third parties (store files in AWS?) * General UI/UX like displaying the files in a nice way, providing direct links or embedding, etc Lastly, you can turn this into a API-only backend and then go crazy with any frontend framework you want!