

We’re using general relativity to calculate sattelite orbits - fuck your point of sale system if our sattelites come crashing down we’re gonna have much bigger problems lol.
We’re using general relativity to calculate sattelite orbits - fuck your point of sale system if our sattelites come crashing down we’re gonna have much bigger problems lol.
deleted by creator
And I thought it was about morphisms and burritos. The more you know…
Python has OOP but basically no ergonomic support for FP? It doesn’t even support tail recursion or currying, lambdas are very limited and there is no nice way to compose functions. Most of the python ecosystem heavily relies on OOP and in many cases global state. Not hating on python but even compared to other mixed paradigm languages like javascript it’s on the less-functional side of things.
Rust certainly is an interesting language and very worth learning but, as you already pointed out, can hardly qualify as functional. It has some functional features and a rich type system for sure, but the way you solve problems in rust is mostly just imperatively and very different from the “FP-way” imo. If OP wants to get into FP specifically, I’d suggest picking a different language first.
On another note: Not quite sure why you’re saying OCaml ist hard to install, since the setup has been incredibly easy for me. Maybe the process has changed lately (they’ve been working on improving the tooling with opam and dune) but you can just follow the official installation instructions under https://ocaml.org/install and get it running in like 5 mins. If that doesn’t work, there’s always wsl.
Personally I’d suggest OCaml, as it’s a statically typed, expressive and pragmatic language with a decently sized and mature ecosystem. For learning resources there’s the wonderful Cornell book. Elixir is another hot contender and a pleasure to work with, as others have already pointed out. Pick Haskell if you’re interested in getting freaky later on and have built some foundational knowledge (personally I enjoyed the haskell mooc but there are other great resources like learn you a haskell for great good too).
This is how cobol was created
But why?
*Only under capitalism
This is giving me hope that I might actually be fine and succeed in interviews lol. On the other hand maaan I really don’t wanna maintain code written by AI-andys…
Edit: Lemmy somehow converts all my ^ symbols to <sup>
and </sup>
for whatever reason. My apologies
In simple terms, an elliptic curve is just the set of points satisfying an elliptic curve equation of form y^2 = x^3 + a*x + b
. We say a point is “on the curve” if it satisfies the given equation. The parameters a
and b
are some “numbers” (often over a finite field—if that doesn’t ring a bell, just ignore it. It’s not important for now) and constant for any specific elliptic curve.
So let’s say we have the following equation
y^2 = x^3 + x + 6
The point (2, 4)
would be on the curve, since we can plug in 2
for x
and 4
for y
and verify that the equality does in fact hold, since we get 4^2 = 16
on the lefthand side and 2^3 + 2 + 6 = 8 + 2 + 6 = 16
on the righthand side.
Through some mathematical trickery we can also perform operations on the curve, i.e. “add” two points. This is not as straight forward as let’s say standard arithmetic, where you just add numbers as per usual, but we can in fact define an operation that combines two points on the curve to yield another point on the curve cleanly. The process is very ugly when you look at the formula but there is some nice visual intuition for it:
We have a curve (red) and two points: P
and Q
. Focus only on the left image for now. We draw a line through both P
and Q
and see where that line has its third intersection point with the curve. On the left most picture that would be the point R
. We take R
and mirror it down (imagine putting a mirror along the x
-axis, the x
-coordinate of R
stays the same but the y
-coordinate gets flipped). I very expertly drew in that new point in green. And that’s it! That’s our result of adding P
and Q
.
The pictures 2, 3 and 4 are a bit weird. In those, we don’t get a third intersection point with the curve. In these special cases we say the result is O
—sort of a point at infinity. Don’t think too hard about what that means, it’s just a mathematical trick to deal with the edge-cases. We do this by saying that the result of addition is O
if we don’t get a third intersection point with the curve. Adding any point P
to O
gets you P
back. So O
is basically our zero for addition.
This type of “addition” then allows us to perform “calculations” by using the operation defined by the curve. Doing so we can formulate more complicated problems—where finding a solution is very difficult but verifying a solution is easy. This is the basis for their usefulness in cryptography, since we want to be able to encrypt easily but make decrypting without a given key very very difficult.
Hope that helps!
advertisement spam
Could you elaborate on those reasons, please? I’m not sure what you mean.
Freedom for the rich and powerful to fuck over society and everyone else!
The time has come to GNU-slash the enemies of freedom!
Folks, it’s just capitalism. Always has been.
Sooo, where will people go next? What alternatives are available?
eV (sponsored by Ampel)
Die sollen mal ihre Arbeit machen und die Verfassung schützen!
Bold of you to assume you weren’t before.
I hate that people now associate dashes with ai as I used to really like using them (distinguishing between regular, en- and em-dashes, using them to make structure clearer over regular commas).