this post was submitted on 13 Nov 2023
1 points (100.0% liked)

Programming

16977 readers
187 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 1 year ago
MODERATORS
top 23 comments
sorted by: hot top controversial new old
[–] rekabis@programming.dev 1 points 10 months ago (1 children)

DotNet Core as a whole (C# + F# + other languages that are being ported to compile down to a DotNet binary).

Because it has all the things Java promised us - frictionless, painless, cross-platform programs - but is implementing it far better than Java ever could.

Honestly, DotNet Core is now at least a half-decade or more ahead of Java in terms of the base platform and C# language functionality/ease-of-use. The only advantage Java has at this point is it’s community ecosystem of third-party features and programs.

[–] eluvatar@programming.dev 0 points 10 months ago (1 children)

And you can even run it in the browser with Blazor! Love C#

[–] Undertaker@feddit.de 0 points 10 months ago

You may explained it unprecisley or simply wrong. You can not run it in browser. It is done on web Server side like PHP. In browser you run JavaScript.

[–] Knusper@feddit.de 0 points 10 months ago

Rust:

  • It covers all bases, from embedded to backend to webdev to gamedev.
  • I could create libraries with it, which can be called from other languages.
  • It's good.
[–] rikudou@lemmings.world 0 points 10 months ago (1 children)

PHP or C++, I love both of them for different reasons. Tough one deciding between the two.

[–] PoisonedPrisonPanda@discuss.tchncs.de 0 points 10 months ago (1 children)
[–] rikudou@lemmings.world 0 points 10 months ago (1 children)
[–] interolivary@beehaw.org 0 points 10 months ago (1 children)

I think it's the PHP, makes people doubt your soul's status that you'd subject yourself willingly to it

[–] rikudou@lemmings.world 0 points 10 months ago (1 children)

Well, that's quite easy - if you judge a language by what it looked like 10 years ago, your opinion doesn't matter

[–] Undertaker@feddit.de 0 points 10 months ago

Hm, my experience is from the last years and PHP remains awful. If this is all solved, pm me: https://wiki.theory.org/YourLanguageSucks#PHP_sucks_because

[–] Piafraus@lemmy.world 0 points 10 months ago (2 children)

Python. Not even a competition. My love of programming quadrupled the day I switched to python and it's getting stronger and stronger. I have now 10 years of professional python experience and around the same of C++ with occasional C#. A few projects in Go and Java. They all have ups and downs, but... Not even comparable how much everything is more elegant and simple in python

[–] CameronDev@programming.dev 0 points 10 months ago (1 children)

If you pick Python, do you still get libraries written in C or Rust?

[–] Knusper@feddit.de 0 points 10 months ago* (last edited 10 months ago) (1 children)

Yeah, C libraries can be used in basically any mature language. It's just too useful to not have.

And Rust, since it doesn't need a runtime, can emulate the format of C libraries.
Rust libraries can also specifically target Python via https://pyo3.rs, but as I understand, this just does the C library format, plus a basic Python wrapper to make it nicer to use.

[–] CameronDev@programming.dev 0 points 10 months ago (1 children)

Sorry, I meant in the context of OPs question (so i guess up to them to set the rules). As in, you pick Python for the rest of your life, does that lock you out of C libraries? Its a bit of a rabbithole though, as many language runtimes would get excluded as well. There arent many languages that actually stand alone.

[–] Knusper@feddit.de 0 points 10 months ago (1 children)

Ah, right, my interpretation is that as long as you don't need to touch the source code, you're good.

But yeah, it's certainly not as clear cut. My pick would actually be Rust, because you can use it for pretty much everything, including web frontends via WebAssembly.
However, in that case, you still write HTML+CSS, which technically may or may not be programming languages, and the DOM API is actually only documented in JavaScript. So, I wouldn't need to write JS, but would still want to read it...

[–] CameronDev@programming.dev 0 points 10 months ago (1 children)

Thats probably the best way to look at it, otherwise it gets very difficult very fast.

If markup languages are locked out, then rust has other problems, because you then can't change your cargo.toml file anymore.

And then there is the build script problem :/

As a thought excercise this has been interesting, there certainly are a lot of inter-dependencies between languages the deeper you look.

[–] Knusper@feddit.de 0 points 10 months ago

Yeah, I found it quite interesting, too. To some degree, I've been wondering why it's so natural for programmers to be programming language polyglots, even if they're not actively nerds/excited about them.
And yeah, this discussion made me realize that you basically can't take a single step in programming without being confronted with multiple languages/syntaxes at once.

[–] EatATaco@lemm.ee 0 points 10 months ago (1 children)

I don't get it. I love python for small quick projects. But anytime things get more complicated, I find myself constantly tripping over myself without the strong typing and errors letting me know I when I've changed a property in a class that in falling elsewhere.

[–] catfish@lemmy.ml 0 points 10 months ago (1 children)

Python was always strongly typed. For years there has been optional static typing and - you know - unit tests.

If you're having significant issues due to not knowing what types you're using, the type system may not be your greatest problem...

[–] Knusper@feddit.de 0 points 10 months ago

These exist in theory, but as a whole, I've never seen them working at even the base level of what you get in other languages.

Adding type hints to your code is fucking exhausting, because there is no type inference.
MyPy regularly calls it quits, when any library doesn't have type hints. PyCharm regularly doesn't properly auto-complete, because it doesn't have type information (if it can load your project correctly to begin with).
Unit tests exist, yes, but you need 100% test coverage to make the language properly check all code paths. Without it, even just calling a library isn't guaranteed to work. In no fully statically typed language, would I recommend 100% test coverage, unless you have special correctness requirements.

[–] marietta_man@yall.theatl.social 0 points 10 months ago (1 children)

Scala. Expressive, concise, can scale from simple to sophisticated. Sufficiently powerful - has metaprogramming, advanced types. Runs on a world-class runtime and takes advantage of a huge, mature package ecosystem that isn’t going anywhere.

[–] interolivary@beehaw.org 0 points 10 months ago (1 children)

"Sufficiently powerful" is a bit of an understatement when it comes to Scala. Honestly may have a bit too many features for my taste, it's not a small language

[–] SrTobi@feddit.de 0 points 10 months ago

Actually the language is quite small. The features, it has, are just quite powerful and have huge synergies so that it seems that you have a lot of complex features. It has a lot of weird corner case stuff, but most of that is because of the jvm and other languages have that too unfortunately.