

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.


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?


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!
I’m so sick of these AI slop-hype-angst articles.


Have you tried ed?


cat << EOF > file.txt
# [[content here]]
EOF
On a more serious note: Neovim for quick file-edits, doom-emacs as my IDE.
Doom-emacs does most of the stuff you are already using out of the box, is highly configurable and it lets you use vim-keybindings. It’s also free (as in freedom) software!


Dijkstra wants to have a word with you


Sure, let’s forfeit even more power to corporate news which not only covers up western imperialism but also pushes right-wing narratives


I’d say going with C is not a bad idea at all—I for one would be interested. C is not going to become obsolete any time soon and is an immensly useful language to be proficient in.
When I tried to learn C I felt like I’m doing everything wrong because the C-way of doing things is very different to what one is used to from more modern languages (header files, make etc). Bridging the gap between the “I can solve project euler challenges” stage and actually being able to organize and implement proper projects is difficult without a mentor, so why not share your expertise?
In the end, go with what you feel most like doing, there will be an audience either way. So pick what is most fun to you!
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).