- cross-posted to:
- fediverse@lemmy.ml
- cross-posted to:
- fediverse@lemmy.ml
Seems like an interesting effort. A developer is building an alternative Java-based backend to Lemmy’s Rust-based one, with the goal of building in a handful of different features. The dev is looking at using this compatibility to migrate their instance over to the new platform, while allowing the community to use their apps of choice.
Just you wait until your developers learn about the
var
keyword - it’s going to be Python 2.7 PTSD incidents all over again 😂Isnt that already default on all variables? Its like a var(in js)?
Nope, was added to dot Net after the fact. Normally you declare each type by hand, e.g.
ArrayList<int> myCoolList = new ArrayList<int>();
vs
var myCoolList = new ArrayList<int>();
The second example is why the keyword was added, but now imagine you have a function call returning an unknown type, and then things will start to get super funky.
E.g.
var myCoolBook = BuildBookData(input);
…one step forward and then the same step back 😂 (disclaimer: I do actually like C#, though)
Ahh you mean the implementation of var in other langauges than python, i missunderstood you there! Yeah var is a bit risky to use in that case, same i like c# too! Its pretty reliable and stable.
Yep, I was specifically talking about C#'s implementation.
I worked with some large C# code bases, and you could always see the point in time in which an individual developer would finally get comfortable with
var
- it’s when the code would start getting unreadable. 🤣Yeah same ;D But at least its not like in smaller or medium sized python projects where even if its just 2 files its unbearable unpredictable.
True true!
The good thing about the var keyword is that it’s still statically typed. The IDE can figure out the type for you if you hover over it.
But what happens if you don’t use an IDE? That was the original point. Even if it isn’t statically typed, a python IDE can also do its best to guess the type of an object.
The point is to have code that’s legible without dependence on large, third party tools.