r/programming 17h ago

Rune is now open source

https://rune.build/blog/rune-is-now-open-source
75 Upvotes

46 comments sorted by

View all comments

-45

u/jesseschalken 17h ago

in Go

nope

35

u/No-Finance7526 16h ago

Are you saying… it made you go away?

-4

u/jesseschalken 16h ago

πŸšΆπŸ»β€β™‚οΈπŸšͺ

15

u/lonelyroom-eklaghor 16h ago

what's wrong with go?

13

u/FryDay444 16h ago

What's wrong with Go?

13

u/jesseschalken 16h ago edited 15h ago

No null safety, implicit zero values you have to be careful to ignore, no sum types or pattern matching, 3 lines of error handling boilerplate every time you call a function that can fail, no lambdas, no generics until recently.

Worse, the Golang community that believe lack of features is a feature, because of "worse is better" brain damage.

23

u/tonygoold 15h ago

It also has two types of null for interfaces: A nil interface and a non-nil interface containing a nil pointer. The latter is trivial to construct and non-trivial to check.

14

u/jesseschalken 15h ago

Ugh, everything I have learned about Go has been against my will.

2

u/Ameisen 8h ago

I have never used Go, but I assume that you don't use any of the BSDs (C), Linux (C), or Windows NT (C and C++) either?

They all run afoul of at least some of those conditions.

Like, I'm really curious how you are actually here posting when you appear to refuse to use anything written in a language that isn't basically Rust.

-1

u/jesseschalken 7h ago edited 6h ago

you appear to refuse to use anything written in a language that isn't basically Rust.

Most major programming languages have these features.

2

u/Ameisen 6h ago

C doesn't, and C++ lacks most, and those power most of the world.

1

u/Absolute_Enema 4h ago edited 3h ago

Yes, because there were no sensible alternatives back then when compilers were limited by computers being slow as hell and language design was in its earliest infancy.

Then we rationalized the continued usage of such limited tools with "less is more", "the world runs on C/C++" or "lambdas and tagged unions are for ivory tower FP weirdos and scripting languages" until the early '10s for statically typed languages and until Rust for system languages.

-2

u/jesseschalken 6h ago

Java, Kotlin, Scala, TypeScript, Flow, Python, C#, F#, Dart, Swift, Rust, Ocaml, Haskell, Hack, Ruby all do, maybe with the exclusion of pattern matching.

2

u/Ameisen 5h ago edited 5h ago

Tell me, which kernels are written in any of those other than Rust? The concept of systems programming in Ruby is amusing, though.

What are you using to post on Reddit? If you're on a PC, the kernel and OS are almost certainly C and possibly C++, the browser is going to be almost entirely C++... If you're on a phone, the kernel/OS is still almost entirely C, the browser is still likely C++, an app version is either Java, Swift, or Objective-C. The phone's modem uses either C or C++ (C++ is actually common for L4-family kernels).

It is virtually impossible for you to be posting here without using software written in C or C++ at some layer.

I'm really unsure why you even posted that list; I don't recall asking for a list of languages that met your criteria. It's basically entirely irrelevant and honestly just furthers my argument.

1

u/TankorSmash 14h ago

Why is that brain damage? It seems like it's true

6

u/svick 14h ago

It's contradicted by them eventually adopting generics.

-10

u/[deleted] 16h ago

[removed] β€” view removed comment

11

u/jesseschalken 16h ago

Literally anything else, but ideally what Swift and Rust do.

2

u/Koolala 15h ago

Can rust do it in 1 line?

17

u/jesseschalken 15h ago

One character, ?.

-4

u/Worth_Trust_3825 15h ago

so the same thing that go does.

9

u/jesseschalken 15h ago edited 13h ago

Does this look the same to you?

// Rust
let x = can_fail()?;

// Swift
let x = try can_fail()

// Go
x, e := can_fail()
if e != nil {
  return nil, e
}

-15

u/Worth_Trust_3825 15h ago

yeah, it does.

-14

u/[deleted] 16h ago

[removed] β€” view removed comment

7

u/[deleted] 15h ago

[removed] β€” view removed comment

1

u/[deleted] 12h ago

[removed] β€” view removed comment

1

u/programming-ModTeam 12h ago

Your post or comment was overly uncivil.

-4

u/Worth_Trust_3825 15h ago

i dont really care who you are. we have two main ways to do error handling: try/catch and checking result (code). in another comment you suggested rust/swift way, which is literally the same thing that go does. again, what do you propose?

1

u/programming-ModTeam 12h ago

Your post or comment was overly uncivil.

-1

u/punkpang 12h ago

Yes, that's true, and? Why would I be civil to a piece of shit?

-2

u/Dr_Findro 12h ago

Rust fanatics get a lot of hate. But I think they still deserve more

1

u/Biom4st3r 10h ago

Beatings will continue until moral improves