Hacker Newsnew | past | comments | ask | show | jobs | submit | Kapendev's commentslogin

> This whole GC vs no-GC thingy

And I am here, enjoying both. Life is good.


> String Interpolation (F-strings)

This is so nice. It's crazy how other low-level langs don't have it. I know Dlang and Rust have it. Maybe Swift too? The way Dlang does it is nice because you can do a lot of stuff with them at compile time.


Vlang mentioned, let's goo! I like low-level languages that provide easy access to a GC. It's a nice way to make some parts of the code more high-level and it kinda avoids the need for a scripting language sometimes.


I wrote a simple benchmark comparing my custom dynamic array implementation in Dlang with dynamic arrays in other languages. The test appends and then removes 100,000,000 integers on a Ryzen 3 2200G with 16 GB RAM. This is just a rough cross-language benchmark and not something serious:

Appending and removing 100000000 items... Testing: ./app_d real 0.16 user 0.03 sys 0.12 Testing: ./app_zig real 0.18 user 0.05 sys 0.13 Testing: ./app_odin real 0.27 user 0.10 sys 0.16

Code and benchmark files are here: https://github.com/Kapendev/joka/tree/main/benchmarks/array_...


Don't use betterC as a global @nogc attribute. This flag does more than just remove the garbage collector and adds extra checks that can sometimes be overly restrictive. If writing GC-free code is important and compiler assistance is really needed, then add @nogc: at the top of every file. But even that is a bit extreme because the @nogc attribute is just a hint to the compiler, telling it to check that called functions also carry that hint. It is not essential for writing GC-free code.

My library for example is not using the GC, but I don't put @nogc on every function because it does not make sense. Here is the link to the library: https://github.com/Kapendev/joka


> Don't use betterC as a global @nogc attribute.

Well I am not, but thanks.


> Using D in betterC mode is what I am most interested about

Well you will. It's a common mistake new D users do.


Good question, but I don't think this is the place for that conversation :) And I say that as a Dlang fan :)


Why would a comment suggesting to use D not be the place to have a conversation for why D doesn't see adoption?


You and Walter could do that, but this post is about some cool devs and their cool Zig project.


The title is "Why we built Lightpanda in Zig", i.e. language selection criteria. Comparing it with D is on topic.


Absolutely. Rust is the only language that's allowed to derail HN programming threads.


> language is fractured by the optional GC

That's an interesting fantasy you have constructed. You should try listening to the people who actually use it.


I did, I listened to sfpotter. From their description, it's the source of a great deal of animosity within the D community.


Well, no, it isn't. There's some frustration. But mostly what I've seen is a lot of lengthy conversations with a lot of give and take. There's a small number of loud people who complain intensely, but there are also people who are against the GC who write lots of libraries that avoid it and even push the language in a healthy direction. If these people hadn't argued so strenuously against the GC, I doubt Phobos would have started moving in the direction of using the GC less and less. This is actually the sign of a healthy community.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: