{"id":8158,"date":"2021-02-07T23:12:16","date_gmt":"2021-02-07T22:12:16","guid":{"rendered":"https:\/\/monodes.com\/predaelli\/?p=8158"},"modified":"2021-02-07T23:15:37","modified_gmt":"2021-02-07T22:15:37","slug":"the-v-programming-language","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2021\/02\/07\/the-v-programming-language\/","title":{"rendered":"The V Programming Language"},"content":{"rendered":"\n<p>I&#8217;ve just read &#8220;<a href=\"https:\/\/erik-engheim.medium.com\/is-zig-the-long-awaited-c-replacement-c8eeace1e692\">Is Zig the long awaited C replacement<\/a>&#8221; and it cites: <em><a href=\"https:\/\/vlang.io\/compilation_speed\">The V Programming Language<\/a><\/em> seems to be a &#8220;fastly compiling&#8221; language.<\/p>\n\n\n\n<blockquote><p>Compilation speed benchmark<\/p><ul>\n<li>C 5.2s gcc test.c<\/li>\n<li>C++ 1m 25s g++ test.cpp<\/li>\n<li>Zig 10.1s zig build-exe test.zig<\/li>\n<li>Nim 45s nim c test.nim<\/li>\n<li>Rust Stopped after 30 minutes rustc test.rs<\/li>\n<li>Swift Stopped after 30 minutes swiftc test.swift<\/li>\n<li>D Segfault after 6 minutes dmd test.d<\/li>\n<li>V 0.6s v test.v<\/li>\n<\/ul><p>I wrote a small program that generates 400 000 lines of code in several languages to benchmark their compilation speed.<\/p><\/blockquote>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">#!\/bin\/bash\necho &quot;\nclass FOO\ncreate make\nfeature make\nlocal i: INTEGER\ndo&quot;\nlet i=0\nwhile (( $i &lt; 200000 ))\ndo\necho &quot;\ni := &quot;$((++i))&quot;\ni.print_on(std_output) &quot;\ndone\necho &quot;\nend\nend -- class FOO\n&quot;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">class FOO\ncreate make\nfeature make\nlocal i: INTEGER\ndo\n\n  i := 1\n  i.print_on(std_output) \n\n  i := 2\n  i.print_on(std_output) \n....\nend\nend --class <\/code><\/pre>\n\n\n\n<p>Liberty Eiffel is a trans-compile you know. It didn&#8217;t take too much to turn it into C but it run the C compiler underneath  after 8 minutes is still compiling a 20mb behemoth it produced&#8230;.<\/p>\n\n\n\n<p>But the most urgent problem is that bootstrapping Liberty is still a mono-core script&#8230; <\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">I&#8217;ve just read &#8220;Is Zig the long awaited C replacement&#8221; and it cites: The V Programming Language seems to be a &#8220;fastly compiling&#8221; language. Compilation speed benchmark C 5.2s gcc test.c C++ 1m 25s g++ test.cpp Zig 10.1s zig build-exe test.zig Nim 45s nim c test.nim Rust Stopped after 30 minutes rustc test.rs Swift Stopped&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2021\/02\/07\/the-v-programming-language\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[118,34,98],"tags":[],"class_list":["post-8158","post","type-post","status-publish","format-standard","hentry","category-comparisons","category-eiffel","category-liberty-eiffel"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-27A","jetpack-related-posts":[{"id":11120,"url":"https:\/\/monodes.com\/predaelli\/2024\/01\/07\/yet-another-missing-eiffel-%f0%9f%98%a2\/","url_meta":{"origin":8158,"position":0},"title":"Yet another missing Eiffel \ud83d\ude22","author":"Paolo Redaelli","date":"2024-01-07","format":false,"excerpt":"On https:\/\/github.com\/attractivechaos\/plb2 there is yet another programming language benchmark. And yet another not having Eiffel.... In addition to C, there is Nim, V, Rust.... that's very sad \ud83d\ude22","rel":"","context":"In &quot;Eiffel&quot;","block_context":{"text":"Eiffel","link":"https:\/\/monodes.com\/predaelli\/category\/eiffel\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10303,"url":"https:\/\/monodes.com\/predaelli\/2023\/03\/12\/modern-c-replacements\/","url_meta":{"origin":8158,"position":1},"title":"Modern C replacements?","author":"Paolo Redaelli","date":"2023-03-12","format":false,"excerpt":"These days I was just wondering if anyone has compiled a list of \"Modern C replacement\" languages when Slashdot almost read my mind: Meet Zig: the Modern Alternative to the C Programming Language - Slashdot Systems-oriented developers already have programming languages like C, C++, Rust, and Go, notes InfoWorld. But\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1286,"url":"https:\/\/monodes.com\/predaelli\/2016\/04\/17\/eiffel-a-viable-candidate-as-a-language-for-the-gnome-platform\/","url_meta":{"origin":8158,"position":2},"title":"Eiffel: A viable candidate as a language for the Gnome platform ?","author":"Paolo Redaelli","date":"2016-04-17","format":false,"excerpt":"Eiffel: A viable candidate as a language for the Gnome platform ? It was 2004. Linux were labelled as a cancer by Ballmer, Android and iPhone didn't existed. Multi-core CPU were still high-end. It was a different world. From archive.org, before it got lost.... Twelve years ago. And it was\u2026","rel":"","context":"In &quot;Eiffel&quot;","block_context":{"text":"Eiffel","link":"https:\/\/monodes.com\/predaelli\/category\/eiffel\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":297,"url":"https:\/\/monodes.com\/predaelli\/2015\/06\/12\/javascript-other-languages\/","url_meta":{"origin":8158,"position":3},"title":"JavaScript + Other Languages","author":"Paolo Redaelli","date":"2015-06-12","format":"link","excerpt":"JavaScript+OtherLanguages Those slides JavaScript + Other Languages are really useful to implement an eventual Eiffel to JavaScript compiler. Well, actually it should be called transcompiler.... We could just feed the C files made by current Liberty compiler but it seems to me that passing throught C which is a procedural\u2026","rel":"","context":"In &quot;Eiffel&quot;","block_context":{"text":"Eiffel","link":"https:\/\/monodes.com\/predaelli\/category\/eiffel\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8181,"url":"https:\/\/monodes.com\/predaelli\/2023\/03\/12\/replacing-c\/","url_meta":{"origin":8158,"position":4},"title":"Replacing C","author":"Paolo Redaelli","date":"2023-03-12","format":false,"excerpt":"Do We Need a Replacement for C? I found this old draft that cites Zig programming language... time to undraft it... :) C is a widely used language used to program anything from OS kernels to cryptography libraries. Is it time for a replacement? Erik EngheimNov 25, 2020\u00b75 min read\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":14846,"url":"https:\/\/monodes.com\/predaelli\/2026\/01\/28\/flutter-a-necessary-evil\/","url_meta":{"origin":8158,"position":5},"title":"Flutter? A necessary evil","author":"Paolo Redaelli","date":"2026-01-28","format":false,"excerpt":"Flutter SDK is available only for Linux x64. MacOS has ARM and x64 packages, Windows has x64. This make developing on Raspberry a real chore, not to speak *BSD. This makes me distrust the language as it seems a little to much under the whims of the GAFAM that controls\u2026","rel":"","context":"In &quot;Ethics&quot;","block_context":{"text":"Ethics","link":"https:\/\/monodes.com\/predaelli\/category\/ethics\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2025\/12\/flet-dev.webp?fit=752%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2025\/12\/flet-dev.webp?fit=752%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2025\/12\/flet-dev.webp?fit=752%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2025\/12\/flet-dev.webp?fit=752%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/8158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=8158"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/8158\/revisions"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=8158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=8158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=8158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}