this post was submitted on 22 Jun 2025
1 points (53.3% liked)
Programming Languages
1354 readers
3 users here now
Hello!
This is the current Lemmy equivalent of https://www.reddit.com/r/ProgrammingLanguages/.
The content and rules are the same here as they are over there. Taken directly from the /r/ProgrammingLanguages overview:
This community is dedicated to the theory, design and implementation of programming languages.
Be nice to each other. Flame wars and rants are not welcomed. Please also put some effort into your post.
This isn't the right place to ask questions such as "What language should I use for X", "what language should I learn", and "what's your favorite language". Such questions should be posted in /c/learn_programming or /c/programming.
This is the right place for posts like the following:
- "Check out this new language I've been working on!"
- "Here's a blog post on how I implemented static type checking into this compiler"
- "I want to write a compiler, where do I start?"
- "How does the Java compiler work? How does it handle forward declarations/imports/targeting multiple platforms/?"
- "How should I test my compiler? How are other compilers and interpreters like gcc, Java, and python tested?"
- "What are the pros/cons of ?"
- "Compare and contrast vs. "
- "Confused about the semantics of this language"
- "Proceedings from PLDI / OOPSLA / ICFP / "
See /r/ProgrammingLanguages for specific examples
Related online communities
- ProgLangDesign.net
- /r/ProgrammingLanguages Discord
- Lamdda the Ultimate
- Language Design Stack Exchange
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Not really. <> is unusually pointy among the brackets and comparisons / bitshifts are used in different places than generics are so I've never confused them.
I guess? Does this meaningfully increase compilation times?
No. A language that uses () for parameter lists, literals and indexing is much more mentally taxing to parse
Also dropping here the list of contrarian views op listed in the next article:
Yea what is wrong with static members? What do they even mean with "[] for arrays"? Why is that bad? Method overloding is bad? why??
I'm assuming static members are bad because globals are bad
"[] for arrays" is because they want to reserve it for generics once <> is retired
I think the oveloading thing is about the c/cpp thing where you can define the same function multiple times in the same namespace which yeah sucks imo
I mean in c/c++ statics arent really globals, you cant acess the from outsside their scope can you? They just retain their value or am i wrong?
[] for arrays is the thing that has been used forever so why should we not use it annymore?
Overloading is also pretty usefull, overloading class constructors is great. I am not a 40 year experience developer but learning c/c++ i never thought that was so bad.
I have no idea about c/c++ statics, does c even have statics? What kind of a scope could statics even have?
I'm very much novice myself and I never liked the idea of trusting the compiler with figuring out the correct overload and neither do I like not being able to tell which version of a function is being called at a glance. Named constructors ftw
I mean the thing with overloading is that your functions should have some difference in the paraameters they take, if you make 3 functions that have the exact same parameters of course you will not be shure what the compiler does(alötho i dont think that it would compile? But i dont think that i have ever done that)
If you have a foo(int x float y) and a foo( int x ) function and you call it with just a x as parameter you can be shure the compiler will call your second function. If the compiler for some reasson tried to use the first foo it would throw a error because it wants a int and a float and you just gave it one int.
I am shure that
Foo(){ static int x =0;
X +=1; Printf("%d",); }
Foo(); every time foo is called x increments so print will be 1,2,3,4... for every call of foo
Printf("%d",x); <- wont work because x cant be acessed here, it is out of scope.