Автор: Soubhik Chakraborty, Subhomoy Haldar
Издательство: Nova Science Publishers, Inc.
Год: 2024
Страниц: 142
Язык: английский
Формат: pdf (true)
Размер: 15.7 MB
This book aims to educate the practitioner on pseudo-randomness in particular and discusses a few modern algorithms for random number generation. We attempt to describe what it means for a phenomenon to be random, discuss an approach to quantifying the amount of randomness and testing for statistical quality. A software testing suite is introduced to measure the performance and quality of arbitrary pseudo-random number generators, which are implemented in the V programming language.
V, also known as vlang, is a new general-purpose programming language inspired by Google’s Go Programming Language that is easy to use, fast, and simple to instrument. Alex Medvednikov, the author of V, graciously responded to our inquiry about the motivation behind creating the language. It was publicly introduced in 2019, although work on it began in 2017, in private, when Medvednikov was frustrated with the low performance of C interoperability in Go. Crashes in C libraries are also hard to debug in Go.
The first V compiler was written in Go. Shortly afterwards, V could bootstrap itself. The present compiler, developer tooling, and standard library are all written in V, making it easy for new contributors to familiarise themselves with the codebase.
The canonical backend for V is the C backend, which transpiles V source code to human readable C code. The C code is then compiled with either the bundled TCC compiler or the system’s own compiler. V is a good option for users who are not familiar with C, but do not want to compromise on performance for ease-of-use. Bundling TCC allows users who have no prior experience with C to be able to use V immediately without having to install a C compiler first. This also makes it useful for Continuous Integration (CI) pipelines.
V is at least 6 times faster than Python (often it is 1-2 orders of magnitude faster). This makes it great for prototyping and then polishing that code for production use. The reader is encouraged to test this claim themselves by implementing a suitable algorithm (without optimisations) in V and the language of their choice.
Older languages often rely on third-party build tools to compile large projects. This invariably leads to tight coupling and fragility. V simplifies the while process greatly and aims to provide a uniform experience across all projects, big or small.
There is a gap in software development skills between researchers and practitioners. Using older languages exacerbates this difference and requires newcomers to assimilate decades worth of obscure best-practices and techniques. V aims to provide solid defaults that lowers the bar for entry while refusing to compromise on fundamentals like performance, security and generality.
Скачать Randomness Revisited Using the V Programming Language