Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ragnese
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
113 ms
·
451.
▲
by
ragnese
6y ago
I get what you're saying and I don't really disagree with you. An object's methods are an interface and its method signatures are a contract about what "messages" (in Alan Kay parlance) it will accept and return. A
452.
▲
by
ragnese
6y ago
> I suspect this would be disastrous for performance. I believe Haskell uses a similar approach though. > > Sometimes you want to store 20 million very small values in an array. Forcing use of bigint would preclude doing this effi
453.
▲
by
ragnese
6y ago
Well, Java 8 isn't really "new" anymore. :) But, I was complaining about the 8+ DateTime API. Now, granted, it's WAY, WAY, better than the old API. And it's much better than what's available in at least sever
454.
▲
by
ragnese
6y ago
Yeah, I've read little snippets like that from blog posts and stuff, but I've never written a single line of Ada, so I really don't know how that works out in practice. What happens if you overflow at runtime? A crash, I assu
455.
▲
by
ragnese
6y ago
I understand that there are performance implications. But a 20% to 40% slowdown for number crunching in a language that is primarily designed for writing super indirection-heavy, heap-allocation-heavy, application architectures is just noth
456.
▲
by
ragnese
6y ago
Honestly, I truly don't know and I don't feel qualified to judge the merits of the two approaches. There could be performance or behavior implications that they just prioritized differently from how C# does it. Or maybe something
457.
▲
by
ragnese
6y ago
That's good to hear. Java/Kotlin also have mutexes- just not as language built-ins (well, it does have `synchronized`). They also have a ConcurrentFoo set of collections as well. And actually an ImmutableMap (but I don't see
458.
▲
by
ragnese
6y ago
> Since when JVM languages aren’t good at concurrency? Since it's trivially easy to accidentally mutate data across concurrent contexts (threads). You have to actively remember to reach for Mutexes. You also have do understand how `
459.
▲
by
ragnese
6y ago
Kotlin does indeed (mostly) fix null. Kotlin does not fix the issues with checked exceptions. It gives up and gives us nothing for error handling. So, for all the beauty and magic of a strong static type system, I have absolutely no idea if
460.
▲
by
ragnese
6y ago
I don't know about Ada, but I enjoy Rust's strictness when it comes to numeric types. > Java-style wrapping integers should never be the default, this is arguably even worse than C and C++’s UB-on-overflow which at least permit
461.
▲
by
ragnese
6y ago
My opinion is that a high-level language like Java has no business making me guess how many bytes my numeric values will occupy. It's insane. Since when does Java give a crap about memory space? "Allocations are cheap!" they
462.
▲
by
ragnese
6y ago
> Contrary to what you say it is the best language I've ever used for concurrency. It has it all, structured concurrency, cancelation, Flow, transparency (no await), etc. I disagree. Have you ever tried to actually implement somethi
463.
▲
by
ragnese
6y ago
It surprises me as well. And to belabor my own point some more: there's a reason the #1 question about Rust from newbies seems to be "Is there a language like Rust, but with a garbage collector?" - sometimes reworded as "
464.
▲
by
ragnese
6y ago
Yes and no: https://github.com/Kotlin/KEEP/blob/master/notes/value-class... "value class" is the next step for inline classes. They are going to behave very much like Swift's struct a
465.
▲
by
ragnese
6y ago
I think it's disingenuous to deflect by saying that Scala didn't invent those concepts. I think it's pretty clearly significant that Scala and Kotlin are JVM languages, specifically. If we just said "Well, StandardML had
466.
▲
by
ragnese
6y ago
If I remember correctly, it's fairly easy to use @Nullable and still end up with nulls there, even without an IDE warning. I'll have to double check to see if I can still reproduce that. But, to be fair, it's actually fairly
467.
▲
by
ragnese
6y ago
The hype around Rust is largely justified. There. I said it. Rust is nowhere near perfect. It's also supposed to be a systems language- it was probably not originally intended to replace languages like Java for general "app"
468.
▲
by
ragnese
6y ago
I disagree that it's a lovely language. I think, as developers, we very quickly develop Stockholm syndrome. Once you "learn" a language, it's really easy to churn out code and apply idioms without even realizing that you
469.
▲
by
ragnese
6y ago
I agree with your points here, but just want to add that, while Java's generics are better than the non-existent generics in Go, I still find Java's type system to be really subpar for today's era. The type system is not stro
470.
▲
by
ragnese
6y ago
But those inits don't actually DO hardly anything. The Rust one hardcodes a bunch of stuff and has "TODO - setup signal handler" in the code... You're not even comparing them to just the init part of systemd, but the ent
471.
▲
by
ragnese
6y ago
>> But (serious question), why does it matter that systemd has an ntp daemon or that it subsumed udev? > >What does a time system have to with system start infrastructure? If you want to write a time daemon, write a time daemon:
472.
▲
by
ragnese
6y ago
> I have more trust in bash than in C. I can enable tracing in bash script and then see how it executed exactly. If I had to work in either day-to-day, I'd chew my hands off. :p > IMHO, we should aim for an open standard for the
473.
▲
by
ragnese
6y ago
I definitely understand that criticism w.r.t. all of the systemd-verse replacement tools. I'm not an expert. I'm just a software dev and free software nut who wants a free software OS. But (serious question), why does it matter th
474.
▲
by
ragnese
6y ago
That's a fair point, but where is the line? Do sysadmins worry about debugging Linux? Should it be written in Bash so that they can (obviously the kernel can't be written in Bash, but for the sake of argument)? As a non-sysadmin
475.
▲
by
ragnese
6y ago
I didn't think Swift structs could participate in inheritance.
476.
▲
by
ragnese
6y ago
I'm sorry- I had my wires crossed. I'm also speaking from memory, but I remember being pretty upset that they weren't more explicit about his crime being strictly homosexuality and not about the partner's age. I found th
477.
▲
by
ragnese
6y ago
I was very disappointed in the portrayal of "Christopher"! They have him say "boy" but they never clarify that the "boy" was 19 years old. I have little doubt that some people left the movie thinking that Turin
478.
▲
by
ragnese
6y ago
Agreed. Before I was done watching the very first scene of that movie, I had my phone out because I thought maybe I didn't know he had ASD. Nope. He didn't. Just the way pop culture likes their nerds to act.
479.
▲
by
ragnese
6y ago
I definitely agree that I don't want a "Linux phone". I just want an open-as-possible phone that isn't 100% user-privacy-hostile. I couldn't give two flips if it is the Linux kernel that accomplishes that, but I thi
480.
▲
by
ragnese
6y ago
Okay, fair enough. I probably skimmed the post too quickly.
More ›