this post was submitted on 19 Apr 2026
2 points (62.5% liked)

Programming

26579 readers
106 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] calcopiritus@lemmy.world 0 points 5 hours ago (1 children)

I'm not looking to argue about the importance of my points. I wouldn't have listed so many in that case.

The point I'm trying to make is that this is a very incomplete article, as it doesn't seem that much thought was put on the downsides.

A good article would've considered every angle. And so would probably conclude (if it had a conclusion) that the premise is incorrect, and the world of language design is more nuanced than "having both modifiers and annotations is bad language design".

And at that point, the article would've probably ended up being: when should annotations be used instead of modifiers?

Many of the most popular languages have both modifiers and annotations:

  • Java
  • Rust
  • Python *Javascript

C doesn't have both because it doesn't even have annotations. Idk about C++, but it either doesn't have annotations (like C) or it should be in the list above

All of those have been heavily criticized from a language design PoV. And I've never seen anyone complain about this. People genuinely don't believe this to be an issue.

The closest is public static int main() for java. But making them annotations would not fix that, only rearrange the issue vertically.

[–] soc@programming.dev 0 points 2 hours ago

The point I’m trying to make is that this is a very incomplete article, as it doesn’t seem that much thought was put on the downsides.

I could mentioned additional points in favor for the same reason you mentioned your points against, but at some point one has to stop and decide whether any minor, additional points made would sway the overall verdict.

Many of the most popular languages have both modifiers and annotations:

I have a separate blog post in which I consider when "popularity" or "familiarity" should be considered when it comes to language design.

People genuinely don’t believe this to be an issue. The closest is public static int main() for java.

If you look at Java-inspired languages like Scala or Kotlin, neither of them have public (made the default) nor static (replaced by companion objects).