News for hackers. Stuff that matters.
Re:Weird Languages by firloop on Saturday August 28, 2021 @06:16AM (#28336938)
Zig is one that’s been on my list for Paul's stated reason.
Re:Weird Languages by meheleventyone on Saturday August 28, 2021 @06:21AM (#28336963)
Is Zig weird though? I find it eminently pragmatic and a lot of the interest in it comes from people migrating from popular languages like C and C++ (not that C++ isn't itself pretty weird).
Re:Weird Languages by judofyr on Saturday August 28, 2021 @06:41AM (#28337038)
Zig uses explicit allocations everywhere (if you want to allocate something you need a reference to an allocator) which is pretty unique even for low-level languages (e.g. C, Rust)
Re:Weird Languages by nlitened on Saturday August 28, 2021 @06:32AM (#28336999)
From what I’ve seen, Zig has no built-in polymorphism features (no vtables/interfaces/traits), which is _pretty_ weird for a modern language in a good way.
Re:Weird Languages by ncmncm on Saturday August 28, 2021 @06:38AM (#28337021)
That is just because it is new. If it survives it will end up with everything.
Re:Weird Languages by sullyj3 on Saturday August 28, 2021 @06:44AM (#28337055)
It has compile time programming designed to subsume those features. So eg a generic struct becomes instead a compile time function that takes a type and returns a struct
Re:Weird Languages by ncmncm on Saturday August 28, 2021 @05:24PM (#28341614)
That is a wholly other set of language features, for a different purpose, and is thus no substitute.

Practical languages accumulate features to better address a multitude of common real-world problems. Toy languages don't. Sometimes a toy language is adopted and grown to practicality. People always complain about that.

Re:Weird Languages by judofyr on Saturday August 28, 2021 @06:43AM (#28337051)
“Adding everything” is definitely not a part of Zig’s philosophy.

https://github.com/ziglang/zig/issues/130#issuecomment-70601...

> However, at this point the plan is to not add an additional dynamic dispatch language feature.

Re:Weird Languages by ncmncm on Saturday August 28, 2021 @05:25PM (#28341632)
Key phrase: "at this point".
Re:Weird Languages by alserio on Saturday August 28, 2021 @06:44AM (#28337054)
Isn't that forecasting a trend with too few data points? The field is still young and changing.
Re:Weird Languages by nlitened on Saturday August 28, 2021 @08:03AM (#28337403)
Oh, I don’t think it is a trend. I rather see it as a curious phenomenon that makes one reflect on the trade offs we usually make when using polymorphism, and whether it’s worth all the time, not only in terms of performance, but also in terms of program architecture.
Re:Weird Languages by alserio on Saturday August 28, 2021 @09:45AM (#28338001)
Interesting. What are the program architecture tradeoffs you are suggesting?
Re:Weird Languages by nlitened on Saturday August 28, 2021 @12:07PM (#28339129)
To be honest, I have zero experience programming with Zig. But I imagine programming with Zig would lead to more literal style and fewer, simpler abstractions (no IoC, no frameworks). That might be beneficial for certain kinds of focused-scope projects.
Re:Weird Languages by alserio on Saturday August 28, 2021 @01:41PM (#28339910)
I see. They say you can solve every problem with an other indirection, and ad hoc polymorphism is an instance of that. But there are other ways to enable composition that are seldom reached for when your language makes that easy
Re:Weird Languages by ncmncm on Saturday August 28, 2021 @08:36PM (#28342909)
Every problem, except those caused by too many indirections.

Each solution uses only a few language features. Different problems call for different subsets. Not using a feature on your favorite sort of problem says nothing about its value. "Ways to enable composition" poorly supported are reached for less. Poorly supporting one of them that has proven frequently useful does not improve a language.

Re:Weird Languages by ncmncm on Saturday August 28, 2021 @05:28PM (#28341664)
> too few data points?

There have been rather a lot of languages. The field is approaching 70 years old, and still changing, but clear evolutionary processes are seen repeated in hundreds of languages living and dead. The ones that don't grow are the most reliably dead.

Re:Weird Languages by joppy on Saturday August 28, 2021 @09:38AM (#28337941)
Zig is certainly not weird in the way that something like prolog or scheme are.