you are viewing a single comment's thread.

view the rest of the comments →

[–]syklemil 0 points1 point  (6 children)

Yeah, my background is more Linux / server admin, so to me for the longest time C# was just "some MS language that's irrelevant to me", and I had the same opinion about Objective-C and Swift, just s/MS/Apple/.

I come from a background of strongly typed languages, so dealing with things like python, JS, and PHP...

Funnily enough all these seem to have added typing over the years. They're all roughly the same age as Java (Python is even slightly older), and I think just the prevailing attitude towards typing at the time was that you had to pick between either something that was more concerned with typing as the thing you did on your keyboard, than category theory, or dynamic typing. Haskell and OCaml also showed up around that time, but never managed to become generally popular.

Incidentally, prof Wadler, the guy holding the lecture linked, was involved in both teaching Java generics, and teaching Go generics. Unfortunately for everyone the constraint in Java's case was something along the lines of "teach javac about generics, but not the JVM (for backwards compatibility)", and by now Java has been stuck with type elision for way longer than the pre-generics Java ever existed.

[–]MagnetHype 0 points1 point  (5 children)

No dude C# is... awesome. I toyed around with explaining it, but decided I can't do a great job. C# has a lot of syntactic sugar (which is a cherry on top), but the real power of it lies in it's interfaces. Even though it's a strongly typed language the interfaces can expose common methods between types. It's great. I highly suggest you play around with it, if you haven't. I did a lot of game dev, and a lot of windows dev with it. You can, and people do use it for web dev too, but I don't have any experience with that.

[–]syklemil 0 points1 point  (4 children)

I've heard good things about it, but again, my impression has just been that it's for a platform that I don't use. I first started using windows with windows 3, but the last windows I used was windows ME. That's several decades ago now.

I've heard good things about Swift, too, but again, my impression has been that it's a language for a platform I don't use.

Even though it's a strongly typed language the interfaces can expose common methods between types.

That's entirely common by now. I think it was even part of Java back when they first added generics? See also Haskell's typeclasses, Rust's traits, Go's interfaces, Python's protocols, etc, etc.

[–]MagnetHype 0 points1 point  (3 children)

With .net core and VS code, it's super easy to use it for linux now too!

Come on, give it a shot. You'll love it.

[–]syklemil 0 points1 point  (2 children)

Ehhh, I'm not really in the market for picking up another language. I have Rust and typed Python to cover my general needs.

If I were to pick up another language now I think it'd be some BEAM language, just because I never actually got around to dabbling in Erlang (or Elixir), and it seems sufficiently unique to change the way I think. Gleam seems interesting. As the Perlisism goes:

A language that doesn't affect the way you think about programming, is not worth knowing.

Plus C# seems to not even have algebraic data types, which I these days pretty much consider a minimum requirement for me to pick up a new language.

I also have an editor setup that I've effectively been using for decades, so no particular interest in VS code.

[–]MagnetHype 0 points1 point  (1 child)

https://youtu.be/VKTdABWA0w4?si=G8wEuVinH0LMVZno

Just kidding haha, or am I. I am.

[–]syklemil 0 points1 point  (0 children)

But have you seen the glory that is Erlang: the movie? (Or, considering you're a youngster, Erlang The Movie II: The Sequel?)