5 ms·
It doesn't seem as exciting as those because it doesn't have a whiz-bang-pow killer feature (other than very robust metaprogramming), but it's very mature, and
by netbioserror 11mo ago
It doesn't seem as exciting as those because it doesn't have a whiz-bang-pow killer feature (other than very robust metaprogramming), but it's very mature, and breezy to write high-performance software.
- almostgotcaught 11mo ago> other than very robust metaprogramming lol then i guess zig's comptime isn't a "whiz-bang-pow killer feature" either
- netbioserror 11mo agoMetaprogramming isn't exactly new. I guess the novelty is that its history in the systems language space is spotty, and has only recently become usable in the way a Lisper might want to use it.
- QQ00 11mo agowhat programming languages have the metaprogramming capabilities that a lisper would want to look at to learn/use it?
- netbioserror 11mo agoNim, for one. It has an incredibly powerful macro and template system. But other languages with similar macro power include Elixir and Julia. D has a generic system similar to Nim's, and a mixin system similar to Nim's templates, but doesn't have a powerful AST-manipulating macro system like the above languages.
- almostgotcaught 11mo agothis is like asking which restaurants have mom's cooking - none but there are plenty that are close enough and don't require you to travel all the way back to wherever your moms lives.
- almostgotcaught 11mo ago> Metaprogramming isn't exactly new My guy what exactly do you think comptime is? More to the point: what exactly do you think metaprogramming is...?
- netbioserror 11mo agoMetaprogramming is writing programs that generate programs. It's been around since the beginning of programming languages. I'm still not sure what you're trying to dunk on me with here.
- elcritch 11mo agoIt’s not really. Zig emphasis on it to replace generics is somewhat unique, but ultimately it’s not different than what Nim (and D) have also done for many years. Nim has a full compile time VM. You can even compile it into a program to run Nim scripts.