├── CHANGELOG.md ├── LICENSE ├── README.md ├── _layout.html ├── app.css ├── arabic.tr ├── bahasa.tr ├── bosnian.tr ├── catalan.tr ├── chinese.tr ├── compare.html ├── english.tr ├── french.tr ├── german.tr ├── img ├── arrow-left.png ├── arrow-right.png ├── book.jpg ├── doom.png ├── down.png ├── emacs.png ├── gg.png ├── patreon.png ├── sponsor_chipnetics.svg ├── sponsor_mx.png ├── sponsor_syndica.jpg ├── sponsor_threefold.svg ├── sublime.png ├── v-logo.png ├── veasel.png ├── vim.png ├── vscode.png ├── youtube_comp_speed.png └── youtube_compile_speed.png ├── index.html ├── indonesian.tr ├── japanese.tr ├── norwegian.tr ├── portuguese.tr ├── preview.html ├── russian.tr ├── spanish.tr ├── turkish.tr └── website2_v ├── index.html ├── main.v ├── static ├── app.css └── img │ ├── arrow-left.png │ ├── arrow-right.png │ ├── book.jpg │ ├── book2.jpg │ ├── book_copy.jpg │ ├── doom.png │ ├── down.png │ ├── emacs.png │ ├── engine_screenshot.png │ ├── gg.png │ ├── huly.png │ ├── intellij.png │ ├── mastodon.png │ ├── patreon.png │ ├── sponsor_chipnetics.svg │ ├── sponsor_mx.png │ ├── sponsor_octoberswimmer.png │ ├── sponsor_syndica.jpg │ ├── sponsor_syndica_copy.jpg │ ├── sponsor_threefold.svg │ ├── sublime.png │ ├── v-logo.png │ ├── veasel.png │ ├── veery.jpg │ ├── vim.png │ ├── vscode.png │ ├── youtube_comp_speed.png │ └── youtube_compile_speed.png ├── templates ├── footer.html ├── header.html ├── header_component.html └── products.html ├── translations ├── en.tr ├── es.tr └── ru.tr └── v.mod /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # V 0.1.13 2 | - The website was made easily translatable, it's now partially available in several languages. 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Alexander Medvednikov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The V Programming Language Website 2 | 3 | https://vlang.io 4 | 5 | *note: You can't run this site locally, because of proprietary backend, but you can preview the html file `preview.html` for styling css.* 6 | 7 | ## How To Contribute 8 | 9 | There are various way you can contribute to this project. Refactoring writings, updating css, Adding Language support etc. We will cover them one by one. 10 | 11 | ### Styling the website 12 | 13 | There is `app.css` file which is the main stylesheet. Use `preview.html` to view the rendered html file. This will help you style the website. 14 | 15 | ### Adding Language 16 | 17 | Use the `english.tr` as a reference to add your translation to this project. 18 | 19 | -------------------------------------------------------------------------------- /_layout.html: -------------------------------------------------------------------------------- 1 | @define "header" 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | @css "app.css?43" 11 | 14 |
37 | بحلول وقت إصدار V 1.0 المخطط له في كانون الأول (ديسمبر) 2019 ، لن يتبقى أي ($wips)
38 | -----
39 | forum
40 | المنتدى
41 | -----
42 | blog
43 | مدونة
44 | -----
45 | fast_compilation
46 | تجميع سريع
47 | -----
48 | safety
49 | أمن
50 | -----
51 | performance
52 | أداء
53 | -----
54 | simple_language_for_maintainable_programs
55 | لغة بسيطة لبناء برامج قابلة للصيانة
56 | -----
57 | zero_deps
58 | مجمع 400 كيلو بايت مع صفرتبعيات
59 | -----
60 | c_translation
61 | ترجمة C / C ++
62 | -----
63 | introduction
64 | مقدمة
65 | -----
66 | comments
67 | تعليقات
68 | -----
69 | functions
70 | وظائف
71 | -----
72 | variables
73 | متغيرات
74 | -----
75 | basic_types
76 | أنواع أساسية
77 | -----
78 | strings
79 | سلاسل نصية
80 | -----
81 | arrays
82 | مصفوفات
83 | -----
84 | maps
85 | خرائط
86 | -----
87 | if
88 | if الشرطية
89 | -----
90 | in_op
91 | المشغل (in)
92 | -----
93 | for_loop
94 | الحلقات الدورانية
95 | -----
96 | switch
97 | مفاتيح
98 | -----
99 | structs
100 | الهياكل
101 | -----
102 | access_mod
103 | معدلات الوصول
104 | -----
105 | methods
106 | طرق
107 | -----
108 | pure_fns
109 | وظائف اصلية
110 | -----
111 | high_fns
112 | وظائف عالية المستوى
113 | -----
114 | constants
115 | الثوابت
116 | -----
117 | modules
118 | وحدات
119 | -----
120 | interfaces
121 | واجهات
122 | -----
123 | enums
124 | التعدادات
125 | -----
126 | optionals_and_errors
127 | أنواع الخيارات ومعالجة الأخطاء
128 | -----
129 | generics
130 | وظائف عامة
131 | -----
132 | concurrency
133 | التزامن
134 | -----
135 | decoding_json
136 | فك تشفير (json)
137 | -----
138 | testing
139 | تجريب
140 | -----
141 | memory_management
142 | إدارة الذاكرة
143 | -----
144 | fast_comp1
145 | فيي (v) تجمع بين 100 ألف و 1.2 مليون سطر من الشفرة في الثانية لكل وحدة المعالجة المركزية.
146 | -----
147 | fast_comp2
148 | فيي (V) يجمع نفسه في 0.15 - 0.6 ثانية.
149 | -----
150 | fast_comp3
151 | -----
152 | fast_comp4
153 | -----
154 | no_null
155 | ليس صفر.
156 | -----
157 |
--------------------------------------------------------------------------------
/bahasa.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Contoh
3 | -----
4 | documentation
5 | Dokumentasi
6 | -----
7 | modules
8 | Modul
9 | -----
10 | faq
11 | FAQ
12 | -----
13 | built_in_v
14 | Dibangun dengan V
15 | -----
16 | the_v_lang
17 | Bahasa Pemrograman V
18 | -----
19 | v_slogan
20 | Sederhana, cepat, aman, bahasa yang dikompilasi untuk mengembangkan perangkat lunak yang mudah dipelihara
21 | -----
22 | includes_binaries
23 | Sudah termasuk binari untuk 3 sistem
24 | -----
25 | install_source
26 | Atau install V langsung dari sumber
27 | -----
28 | couple_seconds
29 | Ini akan memakan waktu beberapa saat
30 | -----
31 | wip_info
32 | V adalah bahasa yang dikembangkan yang masih dalam tahap awal.
33 | Fitur-fitur yang masih dikerjakan ditandai dengan $wip
34 |
35 | Seluruh yang ada di halaman ini dan di dokumentasi telah di implementasikan dan bersifat terbuka.
36 |
37 | Rilis V 1.0 akan direncanakan pada Desember 2019, dimana tidak akan ada lagi $wip.
38 | -----
39 | forum
40 | Forum
41 | -----
42 | blog
43 | Blog
44 | -----
45 | fast_compilation
46 | Fast compilation
47 | -----
48 | safety
49 | Keamanan
50 | -----
51 | performance
52 | Performa
53 | -----
54 | simple_language_for_maintainable_programs
55 | Bahasa yang mudah untuk membangun program yang mudah dipelihara
56 | -----
57 | zero_deps
58 | 400 KB compiler tanpa dependencies
59 | -----
60 | c_translation
61 | C/C++ translation
62 | -----
63 | introduction
64 | Perkenalan
65 | -----
66 | comments
67 | Komentar
68 | -----
69 | functions
70 | Fungsi
71 | -----
72 | variables
73 | Variabel
74 | -----
75 | basic_types
76 | Tipe Dasar
77 | -----
78 | strings
79 | Strings
80 | -----
81 | arrays
82 | Arrays
83 | -----
84 | maps
85 | Maps
86 | -----
87 | if
88 | If
89 | -----
90 | in_op
91 | In operator
92 | -----
93 | for_loop
94 | For loop
95 | -----
96 | switch
97 | Switch
98 | -----
99 | structs
100 | Structs
101 | -----
102 | access_mod
103 | Access modifiers
104 | -----
105 | methods
106 | Methods
107 | -----
108 | pure_fns
109 | Pure functions
110 | -----
111 | high_fns
112 | High order functions
113 | -----
114 | constants
115 | Constants
116 | -----
117 | modules
118 | Modules
119 | -----
120 | interfaces
121 | Interfaces
122 | -----
123 | enums
124 | Enums
125 | -----
126 | optionals_and_errors
127 | Option types & error handling
128 | -----
129 | generics
130 | Generics
131 | -----
132 | concurrency
133 | Concurrency
134 | -----
135 | decoding_json
136 | Decoding JSON
137 | -----
138 | testing
139 | Testing
140 | -----
141 | memory_management
142 | Memory management
143 | -----
144 | fast_comp1
145 | V dicompile sekitar =100k dan 1.2 juta baris kode per detik per CPU core.
146 | -----
147 | fast_comp2
148 | V dicompile sendiri pada 0.15 - 0.6 detik.
149 | -----
150 | fast_comp3
151 | -----
152 | fast_comp4
153 | -----
154 | no_null
155 | No null
156 | -----
157 |
--------------------------------------------------------------------------------
/bosnian.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Primjeri
3 | -----
4 | documentation
5 | Dokumentacija
6 | -----
7 | modules
8 | Moduli
9 | -----
10 | faq
11 | FAQ
12 | -----
13 | built_in_v
14 | Kreirano sa V-om
15 | -----
16 | the_v_lang
17 | V programski jezik
18 | -----
19 | v_slogan
20 | Jednostavan, brz, siguran kompajliran jezik za kreiranje održivog softvera
21 | -----
22 | includes_binaries
23 | koristi binarne verzije za 3 sistema
24 | -----
25 | install_source
26 | Ili instaliraj V kompajliranjem izvornog koda
27 | -----
28 | couple_seconds
29 | ovo će trajati par sekundi
30 | -----
31 | wip_info
32 | V je aktivan jezik koji je u ranoj fazi razvoja
33 | Značajke koje su još u izradi označene su sa $wip
34 |
35 | Sve na ovoj stranici i dokumentacija su implementirani i otvorenog su koda.
36 |
37 | Do vremena izlazka V 1.0 koji je planiran za decembar 2019, neće više biti $wip za završiti.
38 | By the time of the V 1.0 release planned for December 2019, there will be no $wip's left.
39 | -----
40 | forum
41 | Forum
42 | -----
43 | blog
44 | Blog
45 | -----
46 | fast_compilation
47 | Brza kompilacija
48 | -----
49 | safety
50 | Sigurnost
51 | -----
52 | performance
53 | Performanse
54 | -----
55 | simple_language_for_maintainable_programs
56 | Jednostavan jezik za kreiranje održivih programa
57 | -----
58 | zero_deps
59 | 400 KB-ni kompajler sa nula ovisnih komponenti
60 | -----
61 | c_translation
62 | C/C++ prijevod
63 | -----
64 | introduction
65 | Uvod
66 | -----
67 | comments
68 | Komentari
69 | -----
70 | functions
71 | Funkcije
72 | -----
73 | variables
74 | Varijable
75 | -----
76 | basic_types
77 | Jednostavni tipovi
78 | -----
79 | strings
80 | Stringovi
81 | -----
82 | arrays
83 | Nizovi
84 | -----
85 | maps
86 | Mape
87 | -----
88 | if
89 | If
90 | -----
91 | in_op
92 | In operator
93 | -----
94 | for_loop
95 | For petlja
96 | -----
97 | switch
98 | Switch
99 | -----
100 | structs
101 | Struktovi
102 | -----
103 | access_mod
104 | Pristupni modifikatori
105 | -----
106 | methods
107 | Metode
108 | -----
109 | pure_fns
110 | Čiste funkcije
111 | -----
112 | high_fns
113 | Funkcije višeg stepena
114 | -----
115 | constants
116 | Konstante
117 | -----
118 | modules
119 | Moduli
120 | -----
121 | interfaces
122 | Interfejsi
123 | -----
124 | enums
125 | Enumi
126 | -----
127 | optionals_and_errors
128 | Vrste opcija i rukovanje greškama
129 | -----
130 | generics
131 | Generički tipovi
132 | -----
133 | concurrency
134 | Konkurencija
135 | -----
136 | decoding_json
137 | Dekodiranje JSON-a
138 | -----
139 | testing
140 | Testiranje
141 | -----
142 | memory_management
143 | Rukovanje memorijom
144 | -----
145 | fast_comp1
146 | V kompajlira između ≈100 hiljada i 1.2 miliona linija koda na sekundu po jezgri procesora.
147 | -----
148 | fast_comp2
149 | V kompajlira sebe za 0.15 - 0.6 sekundi.
150 | -----
151 | fast_comp3
152 | -----
153 | fast_comp4
154 | -----
155 | no_null
156 | Nije null
157 | -----
158 |
--------------------------------------------------------------------------------
/catalan.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Exemples
3 | -----
4 | documentation
5 | Documentació
6 | -----
7 | modules
8 | Mòduls
9 | -----
10 | faq
11 | FAQ
12 | -----
13 | built_in_v
14 | Creat amb V
15 | -----
16 | the_v_lang
17 | The V Programming Language
18 | -----
19 | v_slogan
20 | Un llenguatge senzill, ràpid, segur i compilat per desenvolupar programari mantenible
21 | -----
22 | includes_binaries
23 | inclou binaris per 3 sistemes
24 | -----
25 | install_source
26 | O instal·la V des del codi font
27 | -----
28 | couple_seconds
29 | això pot trigar un parell de segons
30 | -----
31 | wip_info
32 | V és un llenguatge desenvolupat activament en una etapa inicial.
33 | Les característiques en que encara s’està treballant estan marcades amb $wip
34 |
35 | Tota la resta d’aquesta pàgina i els documents s’han implementat i de codi obert.
36 |
37 | En el moment de la versió V 1.0 prevista per al desembre de 2019, ja no quedaran més $wip.
38 | -----
39 | forum
40 | Fòrum
41 | -----
42 | blog
43 | Bloc
44 | -----
45 | fast_compilation
46 | Compilació ràpida
47 | -----
48 | safety
49 | Seguretat
50 | -----
51 | performance
52 | Rendiment
53 | -----
54 | simple_language_for_maintainable_programs
55 | Llenguatge senzill per crear programes mantenibles
56 | -----
57 | zero_deps
58 | Compilador de 400 KB sense dependències
59 | -----
60 | c_translation
61 | Traducció C/C++
62 | -----
63 | introduction
64 | Introducció
65 | -----
66 | comments
67 | Comentaris
68 | -----
69 | functions
70 | Funcions
71 | -----
72 | variables
73 | Variables
74 | -----
75 | basic_types
76 | Tipus bàsics
77 | -----
78 | strings
79 | Strings
80 | -----
81 | arrays
82 | Arrays
83 | -----
84 | maps
85 | Maps
86 | -----
87 | if
88 | If
89 | -----
90 | in_op
91 | Operador In
92 | -----
93 | for_loop
94 | Bucle for
95 | -----
96 | switch
97 | Switch
98 | -----
99 | structs
100 | Structs
101 | -----
102 | access_mod
103 | Modificadors d’accés
104 | -----
105 | methods
106 | Mètodes
107 | -----
108 | pure_fns
109 | Funcions pures
110 | -----
111 | high_fns
112 | Funcions d’ordre superior
113 | -----
114 | constants
115 | Constants
116 | -----
117 | modules
118 | Mòduls
119 | -----
120 | interfaces
121 | Interfícies
122 | -----
123 | enums
124 | Enums
125 | -----
126 | optionals_and_errors
127 | Tipus opcionals i control d’errors
128 | -----
129 | generics
130 | Genèrics
131 | -----
132 | concurrency
133 | Concurrència
134 | -----
135 | decoding_json
136 | Descodificació de JSON
137 | -----
138 | testing
139 | Testing
140 | -----
141 | memory_management
142 | Control de memòria
143 | -----
144 | fast_comp1
145 | V compila entre ≈100k y 1.2 milions de línies de codi per segon i per nucli de CPU
146 | -----
147 | fast_comp2
148 | V es compila a si mateix en 0.15 - 0.6 segons
149 | -----
150 | fast_comp3
151 | -----
152 | fast_comp4
153 | -----
154 | no_null
155 | Sense null
156 | -----
157 |
--------------------------------------------------------------------------------
/chinese.tr:
--------------------------------------------------------------------------------
1 | examples
2 | 例子
3 | -----
4 | documentation
5 | 文档
6 | -----
7 | modules
8 | 模块
9 | -----
10 | faq
11 | 常见问题
12 | -----
13 | built_in_v
14 | 用V构建的作品
15 | -----
16 | the_v_lang
17 | V编程语言
18 | -----
19 | v_slogan
20 | 简洁、快速、安全的编译型语言,用于开发易维护的软件
21 | -----
22 | includes_binaries
23 | 包括3种操作系统的二进制文件
24 | -----
25 | install_source
26 | 或者从源码安装 V
27 | -----
28 | couple_seconds
29 | 这将花费几秒钟
30 | -----
31 | wip_info
32 | V 正处于被积极开发的早期阶段,仍在开发过程中的特性都会被标记为 $wip。
33 | 本页面及文档中的其他未被标记的描述,都已被实现并且开源。
34 |
35 | V 1.0 计划于2019年12月发布,届时将不会遗留任何 $wip 标记。 36 | ----- 37 | forum 38 | 论坛 39 | ----- 40 | blog 41 | 博客 42 | ----- 43 | fast_compilation 44 | 快速编译 45 | ----- 46 | safety 47 | 安全 48 | ----- 49 | performance 50 | 性能 51 | ----- 52 | simple_language_for_maintainable_programs 53 | 用于构建可维护程序的简洁语言 54 | ----- 55 | zero_deps 56 | 编译器仅 400 KB 且零依赖 57 | ----- 58 | c_translation 59 | C/C++ 转写 60 | ----- 61 | introduction 62 | 介绍 63 | ----- 64 | comments 65 | 注释 66 | ----- 67 | functions 68 | 函数 69 | ----- 70 | variables 71 | 变量 72 | ----- 73 | basic_types 74 | 基本类型 75 | ----- 76 | strings 77 | 字符串 78 | ----- 79 | arrays 80 | 数组 81 | ----- 82 | maps 83 | 集合 84 | ----- 85 | if 86 | If 语句 87 | ----- 88 | in_op 89 | In 运算符 90 | ----- 91 | for_loop 92 | For 循环 93 | ----- 94 | switch 95 | Switch 语句 96 | ----- 97 | structs 98 | 结构体 99 | ----- 100 | access_mod 101 | 访问修饰符 102 | ----- 103 | methods 104 | 方法 105 | ----- 106 | pure_fns 107 | 纯函数 108 | ----- 109 | high_fns 110 | 高阶函数 111 | ----- 112 | constants 113 | 常量 114 | ----- 115 | modules 116 | 模块 117 | ----- 118 | interfaces 119 | 接口 120 | ----- 121 | enums 122 | 枚举 123 | ----- 124 | optionals_and_errors 125 | Option 类型 & 错误处理 126 | ----- 127 | generics 128 | 泛型 129 | ----- 130 | concurrency 131 | 并发 132 | ----- 133 | decoding_json 134 | JSON 解析 135 | ----- 136 | testing 137 | 测试 138 | ----- 139 | memory_management 140 | 内存管理 141 | ----- 142 | fast_comp1 143 | V每个CPU内核每秒可编译≈100万至120万行代码 144 | ----- 145 | fast_comp2 146 | V自行编译在0.15-0.6秒以内 147 | ----- 148 | fast_comp3 149 | ----- 150 | fast_comp4 151 | ----- 152 | no_null 153 | 非空 154 | ----- 155 | -------------------------------------------------------------------------------- /compare.html: -------------------------------------------------------------------------------- 1 | @t header 2 | 32 | 33 |
40 | V was created because none of the existing languages had all of the following 41 | features: 42 |
43 |Fast compilation | D, Go, Delphi 45 | |
Simplicity & maintainability | Go 46 | |
Great performance on par with C and zero cost C interop | C, C++, D, Delphi, Rust 47 | |
Safety (immutability, no null, option types, free from data races) | Rust 48 | |
Easy concurrency | Go 49 | |
Easy cross compilation | Go 50 | |
Compile time code generation | D 51 | |
Small compiler with zero dependencies | - 52 | |
No global state | - 53 | |
Hot code reloading | C# (.NET 6+), Dart 54 | |
57 | Initially I was going to compare V to all major languages, but it got repetitive pretty quickly. 58 |
59 |60 | The table above and the list of the features on the home page should give you a pretty good picture. 61 |
62 |63 | For example, it's pretty obvious that compared to C++, V is much simpler. It offers significantly faster compilation speed, 64 | safety, lack of undefined behavior (wip, e.g. overflowing can still result in UB), easy concurrency, compile time code generation, etc. 65 |
66 |67 | Compared to Python, it's much faster, simpler, safer, more maintainable, etc. 68 |
69 |70 | You can use this formula for any language. 71 |
72 |73 | Syntax comparison: 74 |
75 |76 | V for Go developers 77 |
78 |79 | V for C++ developers 80 |
81 |82 | Since V is very similar to Go, and its domain is similar to Rust's, I left a comparison with these two languages. 83 |
84 | 85 |88 | V is very similar to Go, and these are the things it improves upon: 89 |
90 |
91 | — No err != nil
checks (replaced by result types)
92 |
94 | — No variable shadowing 95 |
96 |97 | — Immutability by default 98 |
99 |100 | — Enums 101 |
102 |
103 | — Sum types (type Expr = IfExpr | StringLiteral | IntLiteral | ...
)
104 |
106 | — String interpolation: println('${foo}: ${bar.baz}')
107 |
109 | — If and match expressions (including sum type matches) 110 |
111 |
112 | — No global state (globals can be enabled for low level applications like kernels via a command line flag)
113 |
115 | — A simple way to check whether an array contains an element: if elem in arr {
.
116 |
117 | — Only one declaration style: a := 0
, therefore no uninitialized variables.
118 |
120 | — Warnings for unused imports and vars for quicker development without annoying
121 | interruptions. But only in development/debugging mode.
122 |
123 | Making a production build still requires fixing all of them, thus enforcing
124 | clean code.
125 |
126 | — filter/map/reduce
methods for arrays and maps.
127 |
129 | — Much smaller runtime 130 |
131 |132 | — Much smaller binaries (a simple web server written in V is ~600 KB vs ~7 MB in Go) 133 |
134 |135 | — Zero cost C interop 136 |
137 |138 | — GC is optional 139 |
140 |141 | — Much faster serialization using codegen and no runtime reflection 142 |
143 |144 | — Simpler local modules: `import internal.css_lexer ` instead of `import "github.com/evanw/esbuild/internal/css_lexer"` 145 |
146 |147 | — Precompiled text and HTML templates unlike Go's html/templates that have to 148 | be parsed on every request (or pre-cached and executed on every request) and 149 | have to be deployed with the app's binary. 150 |
151 |152 | — Fearless concurrency (no data race guarantee at compilation) wip 153 |
154 |155 | — No null (null is only allowed in unsafe code) 156 |
157 |158 | — Stricter vfmt to ensure one coding style 159 |
160 |
161 | — Centralized package manager: vpm.vlang.io (v install ...
)
162 |
164 | — Much simpler and less verbose testing, assert
.
165 |
167 | — Primitive types can have methods resulting in less verbose code: strings.Replace(strings.Replace(s, "a", "A", -1), "b", "B", -1)
=>
168 |
s.replace('a', 'A').replace('b', 'B')
169 |
171 | - Arrays and maps (and arrays of arrays, arrays of maps etc) are automatically allocated. No more nil reference panics if you forgot to allocate each map in a loop. 172 |
173 |
174 |
175 |
180 | It is a complex language with a growing set of features and a steep learning curve. No doubt, once you learn and understand the language, 181 | it becomes a very powerful tool for developing safe, fast, and stable software. But the complexity is 182 | still there. 183 |
184 |185 | V's goal is to allow building maintainable and predictable software. That's why the language 186 | is so simple and maybe even boring for some. The good thing is, you can jump into any part of the project 187 | and understand what's going on, feel like it was you who wrote it, because the language is simple and 188 | there's only one way of doing things. 189 |
190 |191 | Rust's compilation speed is slow, on par with C++. V compiles 1.2 million lines of code per cpu per second. 192 |
193 |196 | Since V's domain is close to both Go and Rust, I decided to use a simple example to compare the three. 197 |
198 |199 | It's a simple program that fetches top Hacker News stories concurrently. (Note, that all examples only use stdlib, no external libs.) 200 |
201 |202 | Rust 203 |
204 |use serde::Deserialize; 205 | use std::sync::{Arc, Mutex}; 206 | 207 | const STORIES_URL: &str = "https://hacker-news.firebaseio.com/v0/topstories.json"; 208 | const ITEM_URL_BASE: &str = "https://hacker-news.firebaseio.com/v0/item"; 209 | 210 | #[derive(Deserialize)] 211 | struct Story { 212 | title: String, 213 | } 214 | 215 | fn main() { 216 | let story_ids: Arc<Vec<u64>> = Arc::new(reqwest::get(STORIES_URL).unwrap().json().unwrap()); 217 | let cursor = Arc::new(Mutex::new(0)); 218 | let mut handles = Vec::new(); 219 | for _ in 0..8 { 220 | let cursor = cursor.clone(); 221 | let story_ids = story_ids.clone(); 222 | handles.push(std::thread::spawn(move || loop { 223 | let index = { 224 | let mut cursor_guard = cursor.lock().unwrap(); 225 | let index = *cursor_guard; 226 | if index >= story_ids.len() { 227 | return; 228 | } 229 | *cursor_guard += 1; 230 | index 231 | }; 232 | let story_url = format!("{}/{}.json", ITEM_URL_BASE, story_ids[index]); 233 | let story: Story = reqwest::get(&story_url).unwrap().json().unwrap(); 234 | println!("{}", story.title); 235 | })); 236 | } 237 | for handle in handles { 238 | handle.join().unwrap(); 239 | } 240 | } 241 |242 | 243 | Go 244 | 245 |
246 | package main 247 | 248 | import ( 249 | "encoding/json" 250 | "fmt" 251 | "io/ioutil" 252 | "net/http" 253 | "sync" 254 | ) 255 | 256 | const STORIES_URL = "https://hacker-news.firebaseio.com/v0/topstories.json" 257 | const ITEM_URL_BASE = "https://hacker-news.firebaseio.com/v0/item" 258 | 259 | type Story struct { 260 | Title string 261 | } 262 | 263 | func main() { 264 | rsp, err := http.Get(STORIES_URL) 265 | if err != nil { 266 | panic(err) 267 | } 268 | defer rsp.Body.Close() 269 | data, err := ioutil.ReadAll(rsp.Body) 270 | if err != nil { 271 | panic(err) 272 | } 273 | var ids []int 274 | if err := json.Unmarshal(data, &ids); err != nil { 275 | panic(err) 276 | } 277 | var cursor int 278 | var mutex sync.Mutex 279 | next := func() int { 280 | mutex.Lock() 281 | defer mutex.Unlock() 282 | temp := cursor 283 | cursor++ 284 | return temp 285 | } 286 | wg := sync.WaitGroup{} 287 | for i := 0; i < 8; i++ { 288 | wg.Add(1) 289 | go func() { 290 | for cursor := next(); cursor < len(ids); cursor = next() { 291 | url := fmt.Sprintf( 292 | "%s/%d.json", 293 | ITEM_URL_BASE, 294 | ids[cursor], 295 | ) 296 | rsp, err := http.Get(url) 297 | if err != nil { 298 | panic(err) 299 | } 300 | defer rsp.Body.Close() 301 | 302 | data, err := ioutil.ReadAll(rsp.Body) 303 | if err != nil { 304 | panic(err) 305 | } 306 | var story Story 307 | if err := json.Unmarshal(data, &story); err != nil { 308 | panic(err) 309 | } 310 | fmt.Println(story.Title) 311 | } 312 | wg.Done() 313 | }() 314 | } 315 | wg.Wait() 316 | } 317 |318 | 319 | V 320 | 321 |
322 | import net.http 323 | import json 324 | 325 | const ( 326 | stories_url = 'https://hacker-news.firebaseio.com/v0/topstories.json' 327 | item_base_url = 'https://hacker-news.firebaseio.com/v0/item' 328 | ) 329 | 330 | struct Story { 331 | title string 332 | } 333 | 334 | struct Cursor { 335 | mut: 336 | pos int 337 | } 338 | 339 | fn main() { 340 | resp := http.get(stories_url)! 341 | ids := json.decode([]int, resp.body)! 342 | shared cursor := Cursor{} 343 | mut threads := []thread{} 344 | 345 | for _ in 0 .. 8 { 346 | threads << go fn (ids []int, shared cursor Cursor) { 347 | for { 348 | id := lock cursor { 349 | if cursor.pos >= ids.len { 350 | break 351 | } 352 | cursor.pos++ 353 | ids[cursor.pos - 1] 354 | } 355 | resp := http.get('$item_base_url/${id}.json') or { panic(err) } 356 | story := json.decode(Story, resp.body) or { panic(err) } 357 | println(story.title) 358 | } 359 | }(ids, shared cursor) 360 | } 361 | threads.wait() 362 | } 363 |364 | 365 | Nim 366 | 367 |
368 | V and Nim are very different. One of V's main philosophies is "there must be only one way of doing things". 369 | This results in predictable, simple, and maintainable code. 370 |
371 | 372 |
373 | Nim gives a lot of options and freedom to developers. For example, in V you would write
374 | foo.bar_baz()
,
375 | but in Nim all of these are valid: foo.barBaz()
, foo.bar_baz()
,
376 | bar_baz(foo)
, barBaz(foo)
,
377 | barbaz(foo)
etc.
378 |
380 | In V there's only one way to return a value from a function: return value
. In Nim you can do
381 | return value
, result = value
, value
(final expression), or modify
382 | a ref
argument.
383 |
Features like macros and OOP offer multiple ways to solve problems and increase complexity.
386 | 387 |Nim's strings are mutable, in my opinion this is a huge drawback. I'll post a detailed article 388 | about the power of immutable strings.
389 | 390 |Unlike V, Nim generates unreadable C code with lots of extra bloat. For example:
391 |392 | var users = [ 393 | User(name: "Carl", last_name: "Black", age: 22), 394 | User(name: "Sam", last_name: "Johnson", age: 23) 395 | ] 396 |397 | 398 | If we build this with
nim c -d:release test.nim
, we get
399 |
400 | 401 | STRING_LITERAL(TM_R8RUzYq41iOx0I9bZH5Nyrw_5, "Carl", 4); 402 | STRING_LITERAL(TM_R8RUzYq41iOx0I9bZH5Nyrw_6, "Black", 5); 403 | STRING_LITERAL(TM_R8RUzYq41iOx0I9bZH5Nyrw_7, "Sam", 3); 404 | STRING_LITERAL(TM_R8RUzYq41iOx0I9bZH5Nyrw_8, "Johnson", 7); 405 | NIM_CONST tyArray_m9aGbgPB3gZgFcKcDkjg9a8g TM_R8RUzYq41iOx0I9bZH5Nyrw_4 = { { ((NimStringDesc*) &TM_R8RUzYq41iOx0I9bZH5Nyrw_5), ((NimStringDesc*) &TM_R8RUzY 406 | q41iOx0I9bZH5Nyrw_6), ((NI) 22)}, 407 | 408 | {((NimStringDesc*) &TM_R8RUzYq41iOx0I9bZH5Nyrw_7), ((NimStringDesc*) &TM_R8RUzYq41iOx0I9bZH5Nyrw_8), ((NI) 23)}} 409 | ; 410 | 411 | N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) { 412 | { 413 | TFrame FR_; FR_.len = 0; 414 | } 415 | nimRegisterGlobalMarker(TM_R8RUzYq41iOx0I9bZH5Nyrw_3); 416 | genericAssign((void*)users_oOczRkVOc3qtKT8rsAJzaw, (void*)TM_R8RUzYq41iOx0I9bZH5Nyrw_4, (&NTI_m9aGbgPB3gZgFcKcDkjg9a8g_)); 417 | } 418 | 419 | N_LIB_PRIVATE N_NIMCALL(void, aDatInit000)(void) { 420 | static TNimNode* TM_R8RUzYq41iOx0I9bZH5Nyrw_2[3]; 421 | static TNimNode TM_R8RUzYq41iOx0I9bZH5Nyrw_0[4]; 422 | NTI_Qp0mfNOzxWdmSSWLHA9cnZQ_.size = sizeof(tyObject_User_Qp0mfNOzxWdmSSWLHA9cnZQ); 423 | NTI_Qp0mfNOzxWdmSSWLHA9cnZQ_.kind = 18; 424 | NTI_Qp0mfNOzxWdmSSWLHA9cnZQ_.base = 0; 425 | NTI_Qp0mfNOzxWdmSSWLHA9cnZQ_.flags = 2; 426 | TM_R8RUzYq41iOx0I9bZH5Nyrw_2[0] = &TM_R8RUzYq41iOx0I9bZH5Nyrw_0[1]; 427 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[1].kind = 1; 428 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[1].offset = offsetof(tyObject_User_Qp0mfNOzxWdmSSWLHA9cnZQ, name); 429 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[1].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_); 430 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[1].name = "name"; 431 | TM_R8RUzYq41iOx0I9bZH5Nyrw_2[1] = &TM_R8RUzYq41iOx0I9bZH5Nyrw_0[2]; 432 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[2].kind = 1; 433 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[2].offset = offsetof(tyObject_User_Qp0mfNOzxWdmSSWLHA9cnZQ, last_name); 434 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[2].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_); 435 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[2].name = "last_name"; 436 | TM_R8RUzYq41iOx0I9bZH5Nyrw_2[2] = &TM_R8RUzYq41iOx0I9bZH5Nyrw_0[3]; 437 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[3].kind = 1; 438 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[3].offset = offsetof(tyObject_User_Qp0mfNOzxWdmSSWLHA9cnZQ, age); 439 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[3].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_); 440 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[3].name = "age"; 441 | TM_R8RUzYq41iOx0I9bZH5Nyrw_0[0].len = 3; TM_R8RUzYq41iOx0I9bZH5Nyrw_0[0].kind = 2; TM_R8RUzYq41iOx0I9bZH5Nyrw_0[0].sons = &TM_R8RUzYq41iOx0I9bZH5Nyrw_2[0] 442 | ; 443 | NTI_Qp0mfNOzxWdmSSWLHA9cnZQ_.node = &TM_R8RUzYq41iOx0I9bZH5Nyrw_0[0]; 444 | NTI_m9aGbgPB3gZgFcKcDkjg9a8g_.size = sizeof(tyArray_m9aGbgPB3gZgFcKcDkjg9a8g); 445 | NTI_m9aGbgPB3gZgFcKcDkjg9a8g_.kind = 16; 446 | NTI_m9aGbgPB3gZgFcKcDkjg9a8g_.base = (&NTI_Qp0mfNOzxWdmSSWLHA9cnZQ_); 447 | NTI_m9aGbgPB3gZgFcKcDkjg9a8g_.flags = 2; 448 | } 449 |450 | 451 |
452 | V can emit native code directly (V's native backend is not as complete as the C backend yet though), 453 | Nim can only emit C and JavaScript. It's also possible to embed C code 454 | in Nim, which reduces safety and portability. 455 |
456 |Nim allows importing functions into global namespace. This becomes a huge problem when working on large
457 | code bases. Explicit imports that V, Go, Oberon have are much more practical: pkg.function()
vs
458 | function()
.
459 |
V's syntax is cleaner with fewer rules. Lack of significant whitespace improves 461 | readability and maintainability of large code bases and makes generating code much easier. 462 | From my experience of working with a huge Python code base, moving large blocks of code in whitespace sensitive 463 | languages is scary. 464 |
465 |The list can go on and on. Nim is a language with a lot of features, still developing and changing. 466 | V is not going to change much, if at all. 467 |
468 |Again, I'm not saying it's a worse language. It's a very different language that offers a lot of 469 | options and features. Many developers prefer this approach. And that's ok. 470 |
471 | 472 |
37 | By the time of the V 1.0 release planned for December 2019, there will be no $wip's left.
38 | -----
39 | forum
40 | Forum
41 | -----
42 | blog
43 | Blog
44 | -----
45 | fast_compilation
46 | Fast compilation
47 | -----
48 | safety
49 | Safety
50 | -----
51 | performance
52 | Performance
53 | -----
54 | simple_language_for_maintainable_programs
55 | Simple language for building maintainable programs
56 | -----
57 | zero_deps
58 | 400 KB compiler with zero dependencies
59 | -----
60 | c_translation
61 | C/C++ translation
62 | -----
63 | introduction
64 | Introduction
65 | -----
66 | comments
67 | Comments
68 | -----
69 | functions
70 | Functions
71 | -----
72 | variables
73 | Variables
74 | -----
75 | basic_types
76 | Basic types
77 | -----
78 | strings
79 | Strings
80 | -----
81 | arrays
82 | Arrays
83 | -----
84 | maps
85 | Maps
86 | -----
87 | if
88 | If
89 | -----
90 | in_op
91 | In operator
92 | -----
93 | for_loop
94 | For loop
95 | -----
96 | switch
97 | Switch
98 | -----
99 | structs
100 | Structs
101 | -----
102 | access_mod
103 | Access modifiers
104 | -----
105 | methods
106 | Methods
107 | -----
108 | pure_fns
109 | Pure functions
110 | -----
111 | high_fns
112 | High order functions
113 | -----
114 | constants
115 | Constants
116 | -----
117 | modules
118 | Modules
119 | -----
120 | interfaces
121 | Interfaces
122 | -----
123 | enums
124 | Enums
125 | -----
126 | optionals_and_errors
127 | Option types & error handling
128 | -----
129 | generics
130 | Generics
131 | -----
132 | concurrency
133 | Concurrency
134 | -----
135 | decoding_json
136 | Decoding JSON
137 | -----
138 | testing
139 | Testing
140 | -----
141 | memory_management
142 | Memory management
143 | -----
144 | fast_comp1
145 | V compiles between ≈100k and 1.2 million lines of code per second per CPU core.
146 | -----
147 | fast_comp2
148 | V compiles itself in 0.15 - 0.6 seconds.
149 | -----
150 | fast_comp3
151 | -----
152 | fast_comp4
153 | -----
154 | no_null
155 | No null
156 | -----
157 |
--------------------------------------------------------------------------------
/french.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Examples
3 | -----
4 | documentation
5 | Documentation
6 | -----
7 | modules
8 | Modules
9 | -----
10 | faq
11 | FAQ
12 | -----
13 | built_in_v
14 | Intégré dans v
15 | -----
16 | the_v_lang
17 | Le language de programmation v
18 | -----
19 | v_slogan
20 | Langage compilé simple, rapide, sûr pour le développement de logiciels maintenables
21 | -----
22 | includes_binaries
23 | Inclut des logiciels compilés pour 3 systèmes d'exploitation
24 | -----
25 | install_source
26 | Ou installez V à partir de la source
27 | -----
28 | couple_seconds
29 | Cela prendra quelques secondes
30 | -----
31 | wip_info
32 | V est une langue activement développée à un stade précoce.
33 | Les fonctionnalités en cours de travail sont marquées par $wip
34 |
35 | Tout le reste de cette page et de la documentation a été implémenté et est libre et gratuit.
36 |
37 | Au moment de la sortie de V 1.0 prévue pour décembre 2019, il ne restera plus de $ wip.
38 | -----
39 | forum
40 | Forum
41 | -----
42 | blog
43 | Blog
44 | -----
45 | fast_compilation
46 | Compilation rapide
47 | -----
48 | safety
49 | Sécurité
50 | -----
51 | performance
52 | Performance
53 | -----
54 | simple_language_for_maintainable_programs
55 | Langage simple pour construire des logiciels maintenables
56 | -----
57 | zero_deps
58 | Un compilateur pesant 400 KB sans dépendances externes
59 | -----
60 | c_translation
61 | Traduction en C/C++
62 | -----
63 | introduction
64 | Introduction
65 | -----
66 | comments
67 | Commentaires
68 | -----
69 | functions
70 | Fonctions
71 | -----
72 | variables
73 | Variables
74 | -----
75 | basic_types
76 | Types de base
77 | -----
78 | strings
79 | Chaînes de caractères
80 | -----
81 | arrays
82 | Listes
83 | -----
84 | maps
85 | Maps
86 | -----
87 | if
88 | If
89 | -----
90 | in_op
91 | Operateur-In
92 | -----
93 | for_loop
94 | Boucle for
95 | -----
96 | switch
97 | Switch
98 | -----
99 | structs
100 | stuctures
101 | -----
102 | access_mod
103 | Modificateurs d'accès
104 | -----
105 | methods
106 | Méthodes
107 | -----
108 | pure_fns
109 | Fonctions pures
110 | -----
111 | high_fns
112 | Fonctions d'ordre élevé
113 | -----
114 | constants
115 | constantes
116 | -----
117 | modules
118 | Modules
119 | -----
120 | interfaces
121 | Interfaces
122 | -----
123 | enums
124 | Enumerations
125 | -----
126 | optionals_and_errors
127 | Types d'options et gestion des erreurs
128 | -----
129 | generics
130 | Types Génériques
131 | -----
132 | concurrency
133 | parallélisme
134 | -----
135 | decoding_json
136 | Décodage de json
137 | -----
138 | testing
139 | Tests
140 | -----
141 | memory_management
142 | Gestion de la memoire
143 | -----
144 | fast_comp1
145 | V compile entre ≈100k et 1,2 million de lignes de code par seconde par cœur de processeur.
146 | -----
147 | fast_comp2
148 | V se compile en 0,15 à 0,6 seconde.
149 | -----
150 | no_null
151 | Pas de variable nulle
152 | -----
153 |
--------------------------------------------------------------------------------
/german.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Beispiele
3 | -----
4 | documentation
5 | Dokumentation
6 | -----
7 | modules
8 | Module
9 | -----
10 | faq
11 | FAQ
12 | -----
13 | built_in_v
14 | Mit V erstellt
15 | -----
16 | the_v_lang
17 | Die Programmiersprache V
18 | -----
19 | v_slogan
20 | Eine einfache, schnelle und sichere kompilierte Sprache zur Entwicklung von wartungsfreundlicher Software
21 | -----
22 | includes_binaries
23 | beeinhaltet Binärdateien für drei Systeme
24 | -----
25 | install_source
26 | Oder installiere V aus dem Quellkode
27 | -----
28 | couple_seconds
29 | dies dauert einige Sekunden
30 | -----
31 | wip_info
32 | V ist eine aktiv entwickelte Sprache in einem frühen Stadium.
33 | Features, an denen noch gearbeitet wird sind mit $wip markiert.
34 |
35 | Alles andere auf dieser Seite und die Dokumentation wurde implementiert und ist Open Source.
36 |
37 | Zum Zeitpunkt der Veröffentlichung, die für den Dezember 2019 geplant ist, wird es keine $wip's mehr geben.
38 | -----
39 | forum
40 | Forum
41 | -----
42 | blog
43 | Blog
44 | -----
45 | fast_compilation
46 | Schnelle Kompilierung
47 | -----
48 | safety
49 | Sicherheit
50 | -----
51 | performance
52 | Leistung
53 | -----
54 | simple_language_for_maintainable_programs
55 | Eine einfache Sprache zum Erstellen von wartungsfreundlichen Programmen
56 | -----
57 | zero_deps
58 | 400 KB Compiler ohne Abhängigkeiten von Drittanbietern
59 | -----
60 | c_translation
61 | C/C++ Übersetzung
62 | -----
63 | introduction
64 | Einführung
65 | -----
66 | comments
67 | Kommentare
68 | -----
69 | functions
70 | Funktionen
71 | -----
72 | variables
73 | Variablen
74 | -----
75 | basic_types
76 | Grundtypen
77 | -----
78 | strings
79 | Strings
80 | -----
81 | arrays
82 | Arrays
83 | -----
84 | maps
85 | Maps
86 | -----
87 | if
88 | If
89 | -----
90 | in_op
91 | In-Operator
92 | -----
93 | for_loop
94 | For-Schleife
95 | -----
96 | switch
97 | Switch
98 | -----
99 | structs
100 | Structs
101 | -----
102 | access_mod
103 | Zugriffsmodifikatoren
104 | -----
105 | methods
106 | Methoden
107 | -----
108 | pure_fns
109 | Pure Funktionen
110 | -----
111 | high_fns
112 | Funktionen höherer Ordnung
113 | -----
114 | constants
115 | Konstanten
116 | -----
117 | modules
118 | Module
119 | -----
120 | interfaces
121 | Interfaces
122 | -----
123 | enums
124 | Enums
125 | -----
126 | optionals_and_errors
127 | Optionstypen und Fehlerbehandlung
128 | -----
129 | generics
130 | Generics
131 | -----
132 | concurrency
133 | Parallelität
134 | -----
135 | decoding_json
136 | JSON dekodieren
137 | -----
138 | testing
139 | Testen
140 | -----
141 | memory_management
142 | Speicherverwaltung
143 | -----
144 | fast_comp1
145 | V kompiliert zwischen ~100 Tsd. und 1,2 Millionen Kodezeilen pro Sekunde und CPU Kern.
146 | -----
147 | fast_comp2
148 | V kompiliert sich selbst in 0,15 - 0,6 Sekunden.
149 | -----
150 | no_null
151 | Keine Nullzeiger
152 | -----
153 |
--------------------------------------------------------------------------------
/img/arrow-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/arrow-left.png
--------------------------------------------------------------------------------
/img/arrow-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/arrow-right.png
--------------------------------------------------------------------------------
/img/book.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/book.jpg
--------------------------------------------------------------------------------
/img/doom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/doom.png
--------------------------------------------------------------------------------
/img/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/down.png
--------------------------------------------------------------------------------
/img/emacs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/emacs.png
--------------------------------------------------------------------------------
/img/gg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/gg.png
--------------------------------------------------------------------------------
/img/patreon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/patreon.png
--------------------------------------------------------------------------------
/img/sponsor_chipnetics.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
171 |
--------------------------------------------------------------------------------
/img/sponsor_mx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/sponsor_mx.png
--------------------------------------------------------------------------------
/img/sponsor_syndica.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/sponsor_syndica.jpg
--------------------------------------------------------------------------------
/img/sponsor_threefold.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
121 |
--------------------------------------------------------------------------------
/img/sublime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/sublime.png
--------------------------------------------------------------------------------
/img/v-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/v-logo.png
--------------------------------------------------------------------------------
/img/veasel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/veasel.png
--------------------------------------------------------------------------------
/img/vim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/vim.png
--------------------------------------------------------------------------------
/img/vscode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/vscode.png
--------------------------------------------------------------------------------
/img/youtube_comp_speed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/youtube_comp_speed.png
--------------------------------------------------------------------------------
/img/youtube_compile_speed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vlang/website/a70eb0d7b80618f3371d1d79f8f8df5c84dc1c34/img/youtube_compile_speed.png
--------------------------------------------------------------------------------
/indonesian.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Contoh-contoh
3 | -----
4 | documentation
5 | Dokumentasi
6 | -----
7 | modules
8 | Modul-modul
9 | -----
10 | faq
11 | FAQ
12 | -----
13 | built_in_v
14 | Dibuat dengan V
15 | -----
16 | the_v_lang
17 | Bahasa Pemrograman V
18 | -----
19 | v_slogan
20 | Bahasa yang simple, cepat, aman, dan terkompilasi untuk mengembangkan perangkat lunak yang mudah dipelihara
21 | -----
22 | includes_binaries
23 | termasuk biner-biner untuk 3 sistem
24 | -----
25 | install_source
26 | Atau unduh V dari sumber
27 | -----
28 | couple_seconds
29 | proses ini akan membutuhkan beberapa detik
30 | -----
31 | wip_info
32 | V adalah bahasa pemrograman baru yang masih terus-menerus dikembangkan. Fitur-fitur yang masih dalam proses pengembangan ditandai dengan $wip
33 |
34 | Segala hal yang ada di halaman ini dan dokumentasi sudah diimplementasi dan open-source.
35 |
36 | Sejak V 1.0 yang direncanakan akan rilis pada Desember 2019, tidak akan ada lagi $wip.
37 | -----
38 | forum
39 | Forum
40 | -----
41 | blog
42 | Blog
43 | -----
44 | fast_compilation
45 | Kompilasi yang cepat
46 | -----
47 | safety
48 | Keamanan
49 | -----
50 | performance
51 | Performa
52 | -----
53 | simple_language_for_maintainable_programs
54 | Bahasa simple untuk membuat program yang dapat dipelihara
55 | -----
56 | zero_deps
57 | Compiler 400 KB tanpa dependensi
58 | -----
59 | c_translation
60 | Terjemahan C/C++
61 | -----
62 | introduction
63 | Pengantar
64 | -----
65 | comments
66 | Komentar
67 | -----
68 | functions
69 | Fungsi
70 | -----
71 | variables
72 | Variabel
73 | -----
74 | basic_types
75 | Tipe-tipe Dasar
76 | -----
77 | strings
78 | Strings
79 | -----
80 | arrays
81 | Arrays
82 | -----
83 | maps
84 | Maps
85 | -----
86 | if
87 | If
88 | -----
89 | in_op
90 | Operator In
91 | -----
92 | for_loop
93 | Looping For
94 | -----
95 | switch
96 | Switch
97 | -----
98 | structs
99 | Structs
100 | -----
101 | access_mod
102 | Pengubah akses
103 | -----
104 | methods
105 | Metode
106 | -----
107 | pure_fns
108 | Fungsi murni
109 | -----
110 | high_fns
111 | Fungsi tingkat tinggi
112 | -----
113 | constants
114 | Konstanta
115 | -----
116 | modules
117 | Modul
118 | -----
119 | interfaces
120 | Antarmuka
121 | -----
122 | enums
123 | Enums
124 | -----
125 | optionals_and_errors
126 | Jenis opsi & penanganan kesalahan
127 | -----
128 | generics
129 | Generics
130 | -----
131 | concurrency
132 | Konkurensi
133 | -----
134 | decoding_json
135 | Decoding JSON
136 | -----
137 | testing
138 | Pengujian
139 | -----
140 | memory_management
141 | Manajemen memori
142 | -----
143 | fast_comp1
144 | V mengkompilasi sekitar 100 ribu sampai 1.2 juta baris kode per detik per inti CPU.
145 | -----
146 | fast_comp2
147 | V mengkompilasi sendiri dalam waktu 0.15 - 0.6 detik.
148 | -----
149 | fast_comp3
150 | -----
151 | fast_comp4
152 | -----
153 | no_null
154 | Tidak ada null
155 | -----
156 |
--------------------------------------------------------------------------------
/japanese.tr:
--------------------------------------------------------------------------------
1 | examples
2 | 実装例
3 | -----
4 | documentation
5 | ドキュメント
6 | -----
7 | modules
8 | モジュール
9 | -----
10 | faq
11 | よくある質問
12 | -----
13 | built_in_v
14 | Built in V
15 | -----
16 | the_v_lang
17 | プログラミング言語V
18 | -----
19 | v_slogan
20 | 保守性に優れたソフトウェアを開発するための、シンプル・高速・安全なコンパイラ型言語
21 | -----
22 | includes_binaries
23 | 3つのOS向けのバイナリがあります
24 | -----
25 | install_source
26 | またはVをソースコードからインストール
27 | -----
28 | couple_seconds
29 | これには数秒かかります
30 | -----
31 | wip_info
32 | Vは活発に開発が行われていますが、開発の初期段階にある言語です。まだ開発中の機能には $wip タグがついています。このページ内で $wip タグのないものは全て実装されておりオープンソース化されています。
33 |
34 | V 1.0の公開は2019年12月に予定されており、 その頃には $wip タグは全て取り除かれる予定です。
35 | -----
36 | forum
37 | フォーラム
38 | -----
39 | blog
40 | ブログ
41 | -----
42 | fast_compilation
43 | 高速なコンパイル
44 | -----
45 | safety
46 | 安全性
47 | -----
48 | performance
49 | パフォーマンス
50 | -----
51 | simple_language_for_maintainable_programs
52 | 保守性に優れたプログラムを構築するためのシンプルな言語
53 | -----
54 | zero_deps
55 | 依存性0で400 KBのコンパイラ
56 | -----
57 | c_translation
58 | C/C++への変換
59 | -----
60 | introduction
61 | はじめに
62 | -----
63 | comments
64 | コメント
65 | -----
66 | functions
67 | 関数
68 | -----
69 | variables
70 | 変数
71 | -----
72 | basic_types
73 | 基本型
74 | -----
75 | strings
76 | 文字列
77 | -----
78 | arrays
79 | 配列
80 | -----
81 | maps
82 | マップ
83 | -----
84 | if
85 | If条件分岐
86 | -----
87 | in_op
88 | In演算子
89 | -----
90 | for_loop
91 | Forループ
92 | -----
93 | switch
94 | Switch
95 | -----
96 | structs
97 | 構造体
98 | -----
99 | access_mod
100 | アクセス修飾子
101 | -----
102 | methods
103 | メソッド
104 | -----
105 | pure_fns
106 | 純粋関数
107 | -----
108 | high_fns
109 | 高階関数
110 | -----
111 | constants
112 | 定数
113 | -----
114 | modules
115 | モジュール
116 | -----
117 | interfaces
118 | インターフェース
119 | -----
120 | enums
121 | 列挙型
122 | -----
123 | optionals_and_errors
124 | Optional型とエラーハンドリング
125 | -----
126 | generics
127 | ジェネリクス
128 | -----
129 | concurrency
130 | 並列処理
131 | -----
132 | decoding_json
133 | JSONのデコード
134 | -----
135 | testing
136 | テスト
137 | -----
138 | memory_management
139 | メモリ管理
140 | -----
141 | fast_comp1
142 | VはCPUコアあたり毎秒約120万行のコードをコンパイルします。
143 | -----
144 | fast_comp2
145 | このような速度は、直接のマシンコード生成 $wip と強力なモジュール性によって達成されます。
146 | -----
147 | fast_comp3
148 | Vは0.3-0.6秒で自身をコンパイルします。
149 | -----
150 | fast_comp4
151 | VはCを出力することもでき、その場合コンパイル速度は毎秒約100k行/CPUに低下します。
152 | -----
153 | no_null
154 | nullなし
155 |
--------------------------------------------------------------------------------
/norwegian.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Eksempler
3 | -----
4 | documentation
5 | Dokumentasjon
6 | -----
7 | modules
8 | Moduler
9 | -----
10 | faq
11 | Ofte stilte spørsmål
12 | -----
13 | built_in_v
14 | Skapt i V
15 | -----
16 | the_v_lang
17 | Dataprogrammeringsspråket V
18 | -----
19 | v_slogan
20 | Enkelt, raskt, sikkert, kompilert programmeringsspråk for vedlikeholdbar programvarers utvikling
21 | -----
22 | includes_binaries
23 | inkluderer programstøtte for 3 ulike operativsystemer
24 | -----
25 | install_source
26 | Eller installer V fra kildekode
27 | -----
28 | couple_seconds
29 | dette vil ta noen få sekunder
30 | -----
31 | wip_info
32 | V er et aktivt utviklet programmeringsspråk i sin tidlige fase.
33 | Funksjonaliteter som det fortsatt jobbes på er markert med $wip merknaden
34 |
35 | Alt some står på denne siden og i dokumentasjonen er implementert og åpen kildekode.
36 |
37 | Når vi lanserer V 1.0 i desember 2019 vil det ikke lenger være noen $wip merknader igjen.
38 | -----
39 | forum
40 | Nettforum
41 | -----
42 | blog
43 | Blogg
44 | -----
45 | fast_compilation
46 | Rask kompilering
47 | -----
48 | safety
49 | Sikkerhet
50 | -----
51 | performance
52 | Ytelse
53 | -----
54 | simple_language_for_maintainable_programs
55 | Enkelt programmeringsspråk for utvikling av vedlikeholdbar programvare
56 | -----
57 | zero_deps
58 | 400 KB kompilator helt uavhengig andre biblioteker
59 | -----
60 | c_translation
61 | C/C++ oversettelse
62 | -----
63 | introduction
64 | Innledning
65 | -----
66 | comments
67 | Kommentarer
68 | -----
69 | functions
70 | Funksjoner
71 | -----
72 | variables
73 | Variabler
74 | -----
75 | basic_types
76 | Enkle basistyper
77 | -----
78 | strings
79 | Teksttyper
80 | -----
81 | arrays
82 | Matriser
83 | -----
84 | maps
85 | Kart
86 | -----
87 | if
88 | If
89 | -----
90 | in_op
91 | In operatoren
92 | -----
93 | for_loop
94 | For løkker
95 | -----
96 | switch
97 | Brytere
98 | -----
99 | structs
100 | Strukter
101 | -----
102 | access_mod
103 | Tilgangsmodifikatorer
104 | -----
105 | methods
106 | Metoder
107 | -----
108 | pure_fns
109 | Enkle funksjoner
110 | -----
111 | high_fns
112 | Høytnivåsprogrammering
113 | -----
114 | constants
115 | Konstanter
116 | -----
117 | modules
118 | Moduler
119 | -----
120 | interfaces
121 | Interfacer
122 | -----
123 | enums
124 | Enumer
125 | -----
126 | optionals_and_errors
127 | Valgtyper og behandling av programfeil
128 | -----
129 | generics
130 | Generikk
131 | -----
132 | concurrency
133 | Samtidighet
134 | -----
135 | decoding_json
136 | JSON dekoding
137 | -----
138 | testing
139 | Feilsøking
140 | -----
141 | memory_management
142 | Minnehåndtering
143 | -----
144 | fast_comp1
145 | V kompilerer mellom ≈100k og 1.2 millioner kodelinjer hvert sekund per prosessorkjerne.
146 | -----
147 | fast_comp2
148 | V kompilerer seg selv på 0.15 til 0.6 sekunder.
149 | -----
150 | fast_comp3
151 | -----
152 | fast_comp4
153 | -----
154 | no_null
155 | Ingen null
156 | -----
157 |
--------------------------------------------------------------------------------
/portuguese.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Exemplos
3 | -----
4 | documentation
5 | Documentação
6 | -----
7 | modules
8 | Módulos
9 | -----
10 | faq
11 | FAQ
12 | -----
13 | built_in_v
14 | Feito em V
15 | -----
16 | the_v_lang
17 | A Linguagem de Programação V
18 | -----
19 | v_slogan
20 | Linguagem compilada simples, rápida e segura para o desenvolvimento de software sustentável
21 | -----
22 | includes_binaries
23 | inclui binários para 3 sistemas
24 | -----
25 | install_source
26 | Ou instale V pelo código fonte
27 | -----
28 | couple_seconds
29 | isso pode demorar um pouco
30 | -----
31 | wip_info
32 | V é uma linguagem ativamente desenvolvida em estágio inicial.
33 | Os recursos que ainda estão sendo trabalhados estão marcados com $wip
34 |
35 | Todo o resto nesta página e nos documentos foram implementados e são de código aberto.
36 |
37 | No momento do lançamento da V1.0 planejado para dezembro de 2019, não haverá mais $wip.
38 | -----
39 | forum
40 | Fórum
41 | -----
42 | blog
43 | Blog
44 | -----
45 | fast_compilation
46 | Compilação rápida
47 | -----
48 | safety
49 | Segurança
50 | -----
51 | performance
52 | Performance
53 | -----
54 | simple_language_for_maintainable_programs
55 | Linguagem simples para construir programas sustentáveis
56 | -----
57 | zero_deps
58 | Compilador de 400KB com zero dependências
59 | -----
60 | c_translation
61 | Tradução de C/C++
62 | -----
63 | introduction
64 | Introdução
65 | -----
66 | comments
67 | Comentários
68 | -----
69 | functions
70 | Funções
71 | -----
72 | variables
73 | Variáveis
74 | -----
75 | basic_types
76 | Tipos básicos
77 | -----
78 | strings
79 | Strings
80 | -----
81 | arrays
82 | Arrays
83 | -----
84 | maps
85 | Maps
86 | -----
87 | if
88 | If
89 | -----
90 | in_op
91 | Operador in
92 | -----
93 | for_loop
94 | Laço for
95 | -----
96 | switch
97 | Switch
98 | -----
99 | structs
100 | Structs
101 | -----
102 | access_mod
103 | Modificadores de acesso
104 | -----
105 | methods
106 | Métodos
107 | -----
108 | pure_fns
109 | Funções puras
110 | -----
111 | high_fns
112 | Funções de ordem superior
113 | -----
114 | constants
115 | Constantes
116 | -----
117 | modules
118 | Módulos
119 | -----
120 | interfaces
121 | Interfaces
122 | -----
123 | enums
124 | Enums
125 | -----
126 | optionals_and_errors
127 | Tipos opcionais e tratamento de erros
128 | -----
129 | generics
130 | Generics
131 | -----
132 | concurrency
133 | Concorrência
134 | -----
135 | decoding_json
136 | Decodificação JSON
137 | -----
138 | testing
139 | Teste
140 | -----
141 | memory_management
142 | Gerenciamento de memória
143 | -----
144 | fast_comp1
145 | V compila entre ≈100k e 1.2 milhões de linhas de código por segundo por núcleo de CPU.
146 | -----
147 | fast_comp2
148 | V se compila em 0.15 - 0.6 segundos.
149 | -----
150 | fast_comp3
151 | Essa velocidade é alcançada devido à geração direta de $wip em código nativo e forte modularidade do código.
152 | -----
153 | fast_comp4
154 | -----
155 | no_null
156 | Sem ponteiros nulos
157 | -----
158 |
--------------------------------------------------------------------------------
/russian.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Примеры
3 | -----
4 | documentation
5 | Документация
6 | -----
7 | modules
8 | Модули
9 | -----
10 | faq
11 | FAQ
12 | -----
13 | built_in_v
14 | Написано на V
15 | -----
16 | the_v_lang
17 | Язык программирования V
18 | -----
19 | v_slogan
20 | Простой, быстрый, безопасный язык для разработки легко поддерживаемых приложений
21 | -----
22 | includes_binaries
23 | включает в себя бинарые файлы для 3 систем
24 | -----
25 | install_source
26 | или установите V из исходного кода
27 | -----
28 | couple_seconds
29 | это займет пару секунд
30 | -----
31 | wip_info
32 | V является активно развивающимся языком на ранней стадии.
33 | Функции над которыми еще ведется работа, отмечены знаком $wip
34 |
35 | Всё остальное на этой странице и в документах было реализовано с открытым исходным кодом.
36 | К моменту выхода V 1.0, запланированному на декабрь 2019 года, не останется $wip.
37 | -----
38 | forum
39 | Форум
40 | -----
41 | blog
42 | Блог
43 | -----
44 | -----
45 | fast_compilation
46 | Быстрая компиляция
47 | -----
48 | safety
49 | Безопасность
50 | -----
51 | performance
52 | Производительность
53 | -----
54 | simple_language_for_maintainable_programs
55 | Простота
56 | -----
57 | zero_deps
58 | 400 KB компилятор без зависимостей
59 | -----
60 | c_translation
61 | Трансляция из C/C++
62 | -----
63 | introduction
64 | Введение
65 | -----
66 | comments
67 | Комментарии
68 | -----
69 | functions
70 | Функции
71 | -----
72 | variables
73 | Переменные
74 | -----
75 | basic_types
76 | Базовые типы
77 | -----
78 | strings
79 | Строки
80 | -----
81 | arrays
82 | Массивы
83 | -----
84 | maps
85 | Maps
86 | -----
87 | if
88 | If
89 | -----
90 | in_op
91 | Оператор in
92 | -----
93 | for_loop
94 | Цикл for
95 | -----
96 | switch
97 | Switch
98 | -----
99 | structs
100 | Cтруктуры
101 | -----
102 | access_mod
103 | Модификаторы доступа
104 | -----
105 | methods
106 | Методы
107 | -----
108 | pure_fns
109 | Чистые функции
110 | -----
111 | high_fns
112 | Функции высокого приоритета
113 | -----
114 | constants
115 | Константы
116 | -----
117 | modules
118 | Модули
119 | -----
120 | interfaces
121 | Интерфейсы
122 | -----
123 | enums
124 | Enums
125 | -----
126 | optionals_and_errors
127 | Опц. типы и обработка ошибок
128 | -----
129 | generics
130 | Generics
131 | -----
132 | concurrency
133 | Concurrency
134 | -----
135 | decoding_json
136 | Работа с JSON
137 | -----
138 | testing
139 | Тестирование
140 | -----
141 | memory_management
142 | Управление памятью
143 | -----
144 | fast_comp1
145 | V компилирует ≈1.2 миллиона строк кода в секунду на одном ядре.
146 | -----
147 | fast_comp2
148 | Такая скорость достигается за счет прямой генерации в машинный (нативный) код $wip и сильной модульности кода.
149 | -----
150 | fast_comp3
151 | V компилирует сам себя за 0.3 - 0.6 секунд.
152 | -----
153 | fast_comp4
154 | V также может использовать C, тогда скорость компиляции падает до ≈100k строк/сек/CPU.
155 | -----
156 | no_null
157 | Нет нулевых указателей
158 | -----
159 |
--------------------------------------------------------------------------------
/spanish.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Ejemplos
3 | -----
4 | documentation
5 | Documentación
6 | -----
7 | modules
8 | Módulos
9 | -----
10 | faq
11 | FAQ
12 | -----
13 | built_in_v
14 | Creado con V
15 | -----
16 | the_v_lang
17 | The V Programming Language
18 | -----
19 | v_slogan
20 | Lenguaje simple, rápido, seguro y compilado para el desarrollo de software mantenible
21 | -----
22 | includes_binaries
23 | incluye binarios para 3 sistemas
24 | -----
25 | install_source
26 | O instala V desde el código fuente
27 | -----
28 | couple_seconds
29 | esto puede tardar un par de segundos
30 | -----
31 | wip_info
32 | V es un lenguaje desarrollado activamente en una fase temprana.
33 | Las características que están siendo desarrolladas están marcadas con $wip
34 |
35 | El resto de cosas de esta página y la documentación han sido implementados y su código liberado.
36 | Para cuando llegue la fecha planeada de V 1.0 en Diciembre de 2019, ya no quederán más $wip.
37 | -----
38 | forum
39 | Foro
40 | -----
41 | blog
42 | Blog
43 | -----
44 | fast_compilation
45 | Compilación rápida
46 | -----
47 | safety
48 | Seguridad
49 | -----
50 | performance
51 | Rendimiento
52 | -----
53 | simple_language_for_maintainable_programs
54 | Lenguaje simple para crear programas mantenibles
55 | -----
56 | zero_deps
57 | Compilador de 400 KB sin dependencias
58 | -----
59 | c_translation
60 | Traducción desde C/C++
61 | -----
62 | introduction
63 | Introducción
64 | -----
65 | comments
66 | Comentarios
67 | -----
68 | functions
69 | Funciones
70 | -----
71 | variables
72 | Variables
73 | -----
74 | basic_types
75 | Tipos básicos
76 | -----
77 | strings
78 | Strings
79 | -----
80 | arrays
81 | Arrays
82 | -----
83 | maps
84 | Maps
85 | -----
86 | if
87 | If
88 | -----
89 | in_op
90 | Operador In
91 | -----
92 | for_loop
93 | Bucle for
94 | -----
95 | switch
96 | Switch
97 | -----
98 | structs
99 | Structs
100 | -----
101 | access_mod
102 | Modificadores de acceso
103 | -----
104 | methods
105 | Métodos
106 | -----
107 | pure_fns
108 | Funciones puras
109 | -----
110 | high_fns
111 | Funciones de orden superior
112 | -----
113 | constants
114 | Constantes
115 | -----
116 | modules
117 | Modulos
118 | -----
119 | interfaces
120 | Interfaces
121 | -----
122 | enums
123 | Enums
124 | -----
125 | optionals_and_errors
126 | Tipos opcionales y manejo de errores
127 | -----
128 | generics
129 | Generics
130 | -----
131 | concurrency
132 | Concurrencia
133 | -----
134 | decoding_json
135 | Decodificación de JSON
136 | -----
137 | testing
138 | Pruebas
139 | -----
140 | memory_management
141 | Manejo de memoria
142 | -----
143 | fast_comp1
144 | V compila entre ≈100k y 1.2 millones de lineas de código cada segundo por núcleo de CPU
145 | -----
146 | fast_comp2
147 | V se compila a si mismo entre 0.15 - 0.6 segundos
148 | -----
149 |
--------------------------------------------------------------------------------
/turkish.tr:
--------------------------------------------------------------------------------
1 | examples
2 | Örnekler
3 | -----
4 | documentation
5 | Dökümantasyon
6 | -----
7 | modules
8 | Modüller
9 | -----
10 | faq
11 | SSS
12 | -----
13 | built_in_v
14 | V ile build edildi
15 | -----
16 | the_v_lang
17 | The V Programlama Dili
18 | -----
19 | v_slogan
20 | Bakımı kolay yazılım geliştirmek için basit, hızlı, güvenli, derlenmiş dil
21 | -----
22 | includes_binaries
23 | 3 sistem için binary dosyalarını içerir
24 | -----
25 | install_source
26 | Ya da kaynak koddan V yükle
27 | -----
28 | couple_seconds
29 | Birkaç saniye alacak
30 | -----
31 | wip_info
32 | V, erken bir aşamada aktif olarak geliştirilmiş bir dildir.
33 | Hala üzerinde çalışılan özellikler $wip ile işaretlenmiştir
34 |
35 | Bu sayfadaki ve dokümanlardaki diğer her şey implemente edildi ve açık kaynaklıdır.
36 |
37 | Aralık 2019 için planlanan V 1.0 sürümüne kadar artık $wip kalmayacak. 38 | ----- 39 | forum 40 | Forum 41 | ----- 42 | blog 43 | Blog 44 | ----- 45 | fast_compilation 46 | Hızlı derleme 47 | ----- 48 | safety 49 | Güvenlik 50 | ----- 51 | performance 52 | Performans 53 | ----- 54 | simple_language_for_maintainable_programs 55 | Sürdürülebilir programlar oluşturmak için basit dil 56 | ----- 57 | zero_deps 58 | Sıfır bağımlılığa sahip 400 KB derleyici 59 | ----- 60 | c_translation 61 | C/C++ çeviri 62 | ----- 63 | introduction 64 | Talimat 65 | ----- 66 | comments 67 | Yorumlar 68 | ----- 69 | functions 70 | Fonksiyonlar 71 | ----- 72 | variables 73 | Değişkenler 74 | ----- 75 | basic_types 76 | Basit tipler 77 | ----- 78 | strings 79 | Stringler 80 | ----- 81 | arrays 82 | Diziler 83 | ----- 84 | maps 85 | Mapler 86 | ----- 87 | if 88 | If 89 | ----- 90 | in_op 91 | In operatörü 92 | ----- 93 | for_loop 94 | For döngüsü 95 | ----- 96 | switch 97 | Switch 98 | ----- 99 | structs 100 | Struct 101 | ----- 102 | access_mod 103 | Erişim niteleyicileri 104 | ----- 105 | methods 106 | Metotlar 107 | ----- 108 | pure_fns 109 | Saf fonksiyonlar 110 | ----- 111 | high_fns 112 | Yüksek dereceli fonksiyonlar 113 | ----- 114 | constants 115 | Sabitler 116 | ----- 117 | modules 118 | Modüller 119 | ----- 120 | interfaces 121 | Arayüzler 122 | ----- 123 | enums 124 | Enumlar 125 | ----- 126 | optionals_and_errors 127 | Option tipleri & hata işleme 128 | ----- 129 | generics 130 | Jenerikler 131 | ----- 132 | concurrency 133 | Eşzamanlılık 134 | ----- 135 | decoding_json 136 | JSON çözme 137 | ----- 138 | testing 139 | Testing 140 | ----- 141 | memory_management 142 | Bellek yönetimi 143 | ----- 144 | fast_comp1 145 | V, CPU çekirdeği başına saniyede ≈100k ila 1.2 milyon satır kod derler. 146 | ----- 147 | fast_comp2 148 | V kendini 0.15 - 0.6 saniye içinde derler. 149 | ----- 150 | fast_comp3 151 | ----- 152 | fast_comp4 153 | ----- 154 | no_null 155 | Null yok 156 | ----- 157 | -------------------------------------------------------------------------------- /website2_v/main.v: -------------------------------------------------------------------------------- 1 | module main 2 | 3 | import veb 4 | // import databases 5 | import os 6 | import time 7 | 8 | const port = 8082 9 | 10 | pub struct App { 11 | veb.StaticHandler 12 | } 13 | 14 | struct Context { 15 | veb.Context 16 | mut: 17 | lang Lang 18 | } 19 | 20 | enum Lang { 21 | en 22 | ru 23 | // cn 24 | // es 25 | // pt 26 | // fr 27 | // jp 28 | } 29 | 30 | // pub fn (app App) before_request() { 31 | // println('[web] before_request: ${app.req.method} ${app.req.url}') 32 | //} 33 | 34 | fn main() { 35 | /* 36 | mut db := databases.create_db_connection() or { panic(err) } 37 | 38 | sql db { 39 | create table User 40 | create table Product 41 | } or { panic('error on create table: ${err}') } 42 | 43 | db.close() or { panic(err) } 44 | 45 | */ 46 | mut app := &App{} 47 | // app.serve_static('/favicon.ico', 'src/assets/favicon.ico') 48 | // makes all static files available. 49 | app.mount_static_folder_at(os.resource_abs_path('static'), '/')! 50 | /* 51 | app.mount_static_folder_at(os.resource_abs_path('.'), '/') or { 52 | println(err) 53 | return 54 | } 55 | */ 56 | 57 | veb.run[App, Context](mut app, port) 58 | } 59 | 60 | pub fn (mut app App) index() veb.Result { 61 | ctx.set_lang() // TODO use middleware 62 | title := 'vweb app' 63 | 64 | return $veb.html() 65 | } 66 | 67 | pub fn (mut ctx Context) set_lang() { 68 | ctx.lang = Lang.from_string(ctx.get_cookie('lang') or { 'en' }) or { Lang.en } 69 | } 70 | 71 | fn build_tr_menu(cur_lang Lang) string { 72 | println('BUILD TR ${cur_lang}') 73 | // mut sb := strings.new_builder() 74 | // sb.write_string('