4 ms·
My own take, to improve at any programming language, use them to build actual small project. The smaller the better. Something familiar. Something easy. A libra
by aloisdg 5y ago
My own take, to improve at any programming language, use them to build actual small project. The smaller the better. Something familiar. Something easy. A library to convert celsius to fahrenheit. A webapp to count the day until Halloween. This kind of useless-ish stuff.
My last example is to add a state machine with xstate to a project fetching some data and formatting a nice output. Do I need a state machine? Not really, but it is a good way to learn it. btw, the goal of the project is to smooth attribution to stack overflow's answer. I just started it, sorry for any bug.
the app: https://stacktribution.vercel.app/ https://stacktribution.vercel.app/
the code: https://github.com/aloisdg/Stacktribution https://github.com/aloisdg/Stacktribution
- ducharmdev 5y agoI did something similar to learn Go & gRPC. I had a python client for displaying a simple COVID-19 report with the option to export as CSV, and had a Go server that sent a request to a public API to collect the data for the report. Did I need gRPC or the Go server? Not really, but when you're learning something new, there's a certain psychological benefit to being able to finish something using the technology you're learning. That, and you can focus more on the learning part instead of getting sidetracked by the other details of a larger project.
- 2OEH8eoCRo0 5y agoThis is basically what they say in SICP. Write programs. That's it. It could be small projects or it could be well-known puzzles you already know. Fibonacci- iterative and recursive, fizz buzz, sudoku puzzle solver, 8 queens, etc. Storytime: I would work at site when I worked in defense and do 15 hour days. I could sit there and monitor, as the job required, but I was also learning Perl for the job. I had no Internet so I spent all my time writing tools and reimplementing every programming puzzle that I could think of in Perl. In very short time I became the go-to "Perl" guy even though all the "toys" I made in spare time were "stupid and useless" according to coworkers.
- giovannibonetti 5y agoInstead 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 https://elm-lang.org
- aloisdg 5y agoI read a lot of good think about elm. I would personally rely on F# and use Fable (with elmish syntax), but most front-end team are not ready for this kind of jump. xstate is quite easier to insert into a classic React code base. js devs dont really like to move outside js. Beside it is hard to onboard js devs, let's say that the F# or elm pool are even smaller.
- exdsq 5y agoAlso some issues with Elm like breaking changes, lack of library support, etc, makes it a little awkward for prod
- Zababa 5y ago> A library to convert celsius to fahrenheit. I don't think you learn anything with that, unless you mean getting confortable with the toolchain.
- aloisdg 5y agoYou can learn a lot from new technology. Do it with state machine (xstate in my case). Build a restful API. Do it in Nim. Write a gui with Fable.Elmish. Whatever you are learning at the moment. If you want to create a raytracer instead of a degree converter, go for it :)