A new kid of the block: Zig -- looks like interoperability with swi-prolog FFI will be easier as well


The Zig Language … designed as a replacement for C /C++ and Rust for bare bone development …


Knowing that there is a new programming language every year (and hundreds already existing) … and the best way to see the success of a language is to look at how many programmers use it … their choice being based on the market they are focusing on.

More basically any user needs to be paid at the end of the month and can’t spend time learning new languages. Moreover portability is more and more an important point.

Once said, Rust is certainly going to grow up due to its great community in the Linux world positionning it as an alternative to C for some parts of Linux itself. As for Python, the fact that its creator joined Microsoft is one more good point to strenghen it.

As for Zig … to my point of view, it is a new language with a big bet for something that really looks close to some others already existing … Why use Zig though Rust is already highly guided by the community of developpers focused on performance / reliability and to make it be a language fitting to their needs (apart from the problem planted by all those slight evolutions that can create incompatibilities) ?

Why Zig?

The key selling point for me in using Zig is that its learning curve promises to be much closer to C than Rust, while not sacrificing key benefits of Rust – when it comes to memory security.

Zig from what i understand is a WYSIWYG language – to borrow a term from the early word processing system – what you see in the “surface” code is what is processed.

My dream language for system programming is C with all the benefits of Rust … and it seems Zig is closer to that than Rust.


Well, there are 2 points that make a language successfull or not … the sponsors and the fact that usually it takes 20 years to make it really installed on the community side … for now TOIBE is close to position Python on the 1st step and C down to second.

On my side my prefered language of 3rd generation is FORTH and those times i started looking at a derived one named 4th. Three reasons why i like FORTH : 1/ super concise syntax + stack + RPN 2/ working like a dictionary 3/ super easy to port on any system. In fact it makes programming look close to the machine without the hassle of assembly, so … sky is the limit.

At the end of the 80s when you had Turbo Forth and Turbo Prolog i believed that the graal was Turbo Prolog including Turbo Forth into the same package to have the best of the 2 worlds into 1 language :-p Then I started another job more focused on business than having fun programming …

Well, there is successful and there is useful … :slight_smile:

What Zag promises could, in my mind, be very useful – – but, successful adoption and even commercial success is indeed another matter.


Of course once a language is very successful, its usefullness increases as well – via the ecosystem of libraries, programmer avaialbility, etc.


As i mentionned …

More basically any user needs to be paid at the end of the month and can’t spend time learning new languages. Moreover portability is more and more an important point.

Look at Prolog … many students did their own dialect and hope making it be THE successful Prolog version that will emerge. Compared to that, SWI-Prolog is based on C, works fine and is still existing after so many years with a solid basis of users. What matters is things working and being stable in the long term … as programming is investing time to be skilled and efficient in what you do.

At human size, you can’t spend time breaking and rebuilding as you just have 2 hands and one brain …