this post was submitted on 29 Apr 2024
323 points (100.0% liked)

Programming

17021 readers
378 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 [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 4 months ago (2 children)

That’s a terrible language IMO

[–] samus7070 9 points 4 months ago (1 children)

It was originally meant as a better JavaScript and it was. It failed when none of the other browsers expressed interest in supporting it. It languished for a while and then was taken up by the Flutter team. At the time Flutter took it up it was somewhere around the level of Java 8 in features but not quite on par. Since then it’s seen some massive improvements to the type system and language. It’s completely null sound, not just null safe like Kotlin. It recently got records/tuples and one of the more capable pattern matching syntaxes I’ve ever seen in a functional imperative hybrid language. The next stable version of dart will introduce a compiler macro system that is very promising. The syntax isn’t always the prettiest due to it trying to not totally break old code. I do think that it offers a wide range of modern language features that competes heavily with Swift and Kotlin in the mobile space.

[–] [email protected] 2 points 4 months ago

Those are fair arguments, I’ll check Dart again. I think what really didn’t click for me, in contrary of React Native is that the code, and syntax are not very flexible.

I’m pretty good at Typescript and I can make some beautiful reusable code with minimal efforts. This makes it so fast to build apps and I just don’t feel that in Dart.

[–] [email protected] 8 points 4 months ago (2 children)

Just had to look at it out of curiosity and man, it looks like yet another C+=1. The code samples on Wikipedia contain one of those gaudy for-loops and a ternary, as if that was still peak language design four decades after C got published.

But what I seriously don't get: Why the hell did they develop Go then? That's yet another C+=1, with even some design similarities to Dart, e.g. it's garbage-collected but compiles to machine code.
Like, yeah, it wouldn't be the first time that different teams develop competing products at Google, but what kind of culture leads to there even being demand for two C+=1s?

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

I can’t get enough of JSX (React) markup syntax personally, it’s just too simple and efficient that I don’t want to learn anything else ;)

To be fair, Go is very different from Dart and if they look like C it’s because they try to give you the abstraction with the memory safety which is pretty great.

But yeah Google is kinda the developer of useless languages. Even if Go is a banger of a technology

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

If you have the freedom try Typescript.

The tsx files are almost identical to jsx except for the need to define the field types your ingesting.

While thats a little extra work, it allows Visual Studio Code to perform deeper analysis and provide much more helpful contextual hints.

I grew to love JSX and tried TSX out of interest and you couldn't convince to go back to pure JS

[–] [email protected] 2 points 4 months ago

TSX Code

I actually use it in all of my projects it’s so delightful lol!

[–] [email protected] 4 points 4 months ago

Dart has all the modern bell and whistles and bullshit syntax too, the Wikipedia samples hardly do it justice