Trendaavat aiheet
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
It’s worth your time to learn these programming languages, even if you don’t use them:
1/6
C
C is on step removed from writing assembly. It forces you to understand the difference between “stack” and “heap.” You also must tangle with pointers — and training your brain to handle indirection will help you grok harder problems later as nearly every “hard” problem must be modeled with some level of indirection.
2/6
Assembly
Learning how assembly works is a prerequisite to learning how compilers work. Unlike C, you’re also forced to learn when you are using a “register” and you’ll develop a stronger sense for what is performant code and what isn’t. I think knowing how to program in assembly probably contributes the most towards helping me be able to pick up a new blockchain very fast. I approach them with a mental model of “any functioning virtual machine/cpu architecture must have the following features, so where can I find them?” This helps me approach new systems with a set of intelligent questions to ask rather than wondering what the heck is going on.
3/6
Rust
Rust is very strict about multiple references to the same value, something other languages don’t force you to think about even though that can be a source of real bugs.
Furthermore, the Rust type system is quite well thought out, so you have more choices about how to model the real world (this is a double edged sword of course as you might end up overthinking simple problems, so you have to learn how to control the power it gives you). Someone who learns how to write idiomatic Rust will also not be far from learning how to write functional programming.
4/6
Lisp
If you want to learn functional programming without getting punished by the compiler, this is the best way to do it. Furthermore, you’ll get exposure to the most powerful macro system in existence and you’ll “see” recursive structure in things like JSON, XML, and source code.
Recursive structure doesn’t mean writing recursive code. Rather, it forces you to think about how to break a large problem into smaller problems and to think about the corner cases first rather than later.
Lisp also pioneered: garbage collection, if statements, macros, first-class functions and a lot of other stuff. Pretty much all modern languages borrow some idea that Lisp invented. So if you know Lisp, you can intelligently ask “does this language have a way of doing X? If not, how do I accomplish it?”
If you are obsessed with being “practical” I recommend the Clojure dialect, but for just learning, Racket is quite friendly (if you know one, it’s extremely easy to learn the other).
5/6
Haskell
Haskell probably has the strictest type system in existence (at least out of the languages I know). It’s even stricter than Rust and it forces you to think about how to handle operations that might fail (such as a network call). It’s like working with an extremely pedantic senior programmer who catches every mistake you make, even stuff that has a very low chance of resulting in a bug. Yes, the compiler is even more punishing than Rust, but the constant feedback about “you didn’t consider the possibility of …” will help you skill up faster. If you are a junior engineer and want a senior engineer on tap, program in Haskell and the wisdom of our ancestors will be bestowed on you.
6/6
How they help
Effective learning happens when you try to solve a problem and are instantly given feedback on your work — something each of these languages do well in their own way.
Each of these languages force you to engage with issues that languages like JavaScript or Python sweep under the carpet and give you direct and immediate feedback on what you did wrong.
Remember: both junior and senior problems can write code that “solves” a problem — but the senior code is much more refined. That “refining” comes from training — something each of these languages gives you for free.
10K
Johtavat
Rankkaus
Suosikit