this post was submitted on 23 Jan 2024
363 points (96.7% liked)

Fediverse

28285 readers
701 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 9 months ago (1 children)

But you really dont see what the function wants or requires or returns ( except with typehints, but they dont work most of the time and then its not enforced in any way )

[–] [email protected] 10 points 9 months ago (1 children)

Larger, modern python projects always use type hints, for this specific reason.

In the past you had PyDoc, which also scratched that itch.

Barring that, contributing to a python project is very difficult without an IDE that performs type checks for you (which is unreliable).

[–] [email protected] 0 points 9 months ago (1 children)

Correct! As i already contributing to a big ass python project at work. We will rewrite a Big Project from python to c# in under 1 month.

[–] [email protected] 3 points 9 months ago (1 children)

Just you wait until your developers learn about the var keyword - it's going to be Python 2.7 PTSD incidents all over again 😂

[–] [email protected] 0 points 9 months ago (1 children)

Isnt that already default on all variables? Its like a var(in js)?

[–] [email protected] 1 points 9 months ago (2 children)

Nope, was added to dot Net after the fact. Normally you declare each type by hand, e.g.

ArrayList myCoolList = new ArrayList();

vs

var myCoolList = new ArrayList();

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)

[–] [email protected] 1 points 9 months ago (1 children)

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.

[–] [email protected] 2 points 9 months ago (1 children)

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. 🤣

[–] [email protected] 1 points 9 months ago (1 children)

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.

[–] [email protected] 1 points 9 months ago
[–] [email protected] 1 points 9 months ago (1 children)

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.

[–] [email protected] 1 points 9 months ago

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.