V language - First Impression [Programming Languages Episode 2]

  Рет қаралды 2,811

Mike Shah

Mike Shah

6 ай бұрын

►Full First Look Series Playlist: • Programming Languages ...
►Find full courses on: courses.mshah.io/
►Join as Member to Support the channel: / @mikeshah
►Lesson Description: In this lesson we do a tour of the V programming language (pronounced as simply 'V'). We'll install and walk through some of the documents and look at the language features. This is a first look -- hopefully you enjoy it, and maybe it will inspire you to take a look at this language!
►KZbin Channel: / mikeshah
►Please like and subscribe to help the channel!
►Join our free community: courses.mshah.io/communities/...

Пікірлер: 55
@donnacasterr6223
@donnacasterr6223 5 ай бұрын
It seems like a very practical language. No weird syntax or symbols. The language is not overly hard with a steep learning curve. Its also not overly simplistic like Golang. Really rooting for it. Well designed language
@bruno-zl9qn
@bruno-zl9qn 5 ай бұрын
i was very enthusiastic when I started to play with Go after I watched your first video. Then comes V, which i had NEVER heard of. And V seems like an improvement from Go, and it seems quite easy to do shell scripting, graphics, games, low-level, C interfacing, web programming with it. I wonder what other language you're going to come up with to surprise us next. Thanks for opening up our minds :-)
@MikeShah
@MikeShah 5 ай бұрын
Cheers, thank you for the kind words! Many languages like V have lots of potential as they continue to mature -- so this is really an exciting time in systems programming. As mentioned, it's nice to look at many, and sometimes we learn new techniques that we can apply to our favorite language of choice.
@bobweiram6321
@bobweiram6321 6 ай бұрын
V is a vendetta against C.
@MikeShah
@MikeShah 5 ай бұрын
😅
@pookiepats
@pookiepats Ай бұрын
Thanks Mike, watching you have fun with these has inspired me to learn/create in the same fashion; appreciate you!
@MikeShah
@MikeShah Ай бұрын
Cheers! Let the community know what you're investigating!
@MikeShah
@MikeShah Ай бұрын
Cheers, let community know what you investigate!
@SirLoon
@SirLoon 5 ай бұрын
I use V for parsing files and cherrypicking needed info from logs. To me it is faster than any other languages with matter of maintainability (updating, building, porting etc.)
@MikeShah
@MikeShah 5 ай бұрын
Very cool -- I imagine that's how many folks will start getting familiar with the language with smaller projects like you are using.
@BryanChance
@BryanChance 3 ай бұрын
I really like v-lang. I've played around with it comparing to Go, Zig, Chai, Python, Odin, Vala, Vale, Haxe,Dlang and others. Familiar and concise, syntax, no crazy indents, no crazy constructs, sensible error handling, optional manual memory management, generics, easy interop with C, vsh (shell scripting), GUI and graphics libs . It's a very sensible, modern language in m opinion. My only pet peeve is that I wish the fn and pub is spelled out like function and public. It makes the code easier to read. "public" and "function" is easier to spot when you just glance over the code. -;)
@MikeShah
@MikeShah 3 ай бұрын
I was pleasantly surprised with V as well!
@user-fr1no2ir3r
@user-fr1no2ir3r 6 ай бұрын
I'm happy if you make first impression videos for odin programming language
@MikeShah
@MikeShah 5 ай бұрын
It's under consideration :)
@GaryChike
@GaryChike 5 ай бұрын
Amazing that EmberGen, a commerical fluid/smoke/fire simulator was written fully in Odin - it being such a young programming language and all.
@MikeShah
@MikeShah 5 ай бұрын
Yes! That's where I first heard of the language -- was quite impressive
@casper64
@casper64 5 ай бұрын
Great video! You made me think of an older mr robot
@MikeShah
@MikeShah 5 ай бұрын
Cheers!
@machelOApps
@machelOApps 4 ай бұрын
Great content, thanks. Like your attitude 👌
@MikeShah
@MikeShah 4 ай бұрын
Cheers!
@lockbert99
@lockbert99 5 ай бұрын
Seems like immutable variables should be called constants.
@MikeShah
@MikeShah 5 ай бұрын
I think DLang (which is one of the languages I think in) actually gets it right having 'const' and 'immutable' as different qualifiers. Both are transitive (correct decision), but immutable ensures data that you point to can never change, whereas 'const pointer' for instance points to one location, but underlying data could otherwise change.
@bsdooby
@bsdooby 6 ай бұрын
Cool, that you also consider more „niche“ languages…
@MikeShah
@MikeShah 5 ай бұрын
Yup, there will be a mix -- even some languages that are in production!
@ylluminate
@ylluminate 5 ай бұрын
Good news is that V is not niche, but is a general language that can even be used to develop across the spectrum from operating systems to web apps.
@MikeShah
@MikeShah 5 ай бұрын
Looking forward to further developments in the langauge!@@ylluminate
@bsdooby
@bsdooby 5 ай бұрын
@@ylluminate niche in the sense that V is not (yet) super popular. And it had its history…
@ylluminate
@ylluminate 5 ай бұрын
@@bsdooby sadly people don't know the history. I've been following it since before it was publicly released and the problems have entirely stemmed from people not having context or understanding language and cultural barriers. It's a shame really and hurts my heart since technologists should try to keep the drama (ie, purple penis wars, etc.) out of such things.
@kodosunofficial
@kodosunofficial 2 ай бұрын
Looks like Rust married with Go and having a child.
@bsdooby
@bsdooby 6 ай бұрын
ADT, or algebraic data types, e.g. sum and/or product types are concepts mostly found in Functional Programming; ... Therefore next wish: F# 😊
@MikeShah
@MikeShah 5 ай бұрын
OCaml episode has already been recorded :)
@GaryChike
@GaryChike 5 ай бұрын
@@MikeShah F# is based on OCaml .. so you're set!
@GaryChike
@GaryChike 5 ай бұрын
Vlang's syntax, like D, Nim and Crystal , is very clean and easy to reason about. I was able to submit some Vlang code to Rosetta code after a weekend of pouring over the very helpful documentation. Some languages have lack of adequate documentation and/or lack of learning resources which can make them tough to learn.
@MikeShah
@MikeShah 5 ай бұрын
Vlang I found to be somewhere between Go and DLang -- clean syntax inspired by Go, with more features :) Considering Crystal and Nim in this series as well -- Crystall specifically I am curious about.
@GaryChike
@GaryChike 5 ай бұрын
@@MikeShah Crystal is one of my favorites. You remember my 'series' of writing an IO console application in multiple languages? Here it is in Crystal: Q = "Q" # First capital letter designates a constant puts "Press to exit.." loop do print "> " user_input = read_line next if user_input == "" break if user_input.upcase == Q puts "You wrote '#{user_input}'" end puts "Goodbye!" sleep 2 ------------------------------------------------------------- Terse!
@GaryChike
@GaryChike 5 ай бұрын
Here's the 'equivalent' I programmed in Zig which is definitely made for low-level systems programming. I'm sure the code can be optimized. I appreciate the programmers who can do this - but it's not really for me. const std = @import("std"); pub fn main() !void { const stdin = std.io.getStdIn().reader(); std.debug.print("> Press to exit.. ", .{}); while (true) { std.debug.print("> ", .{}); var buf: [100]u8 = undefined; const line = (try stdin.readUntilDelimiterOrEof(buf[0..], ' ')) orelse { break; }; if (std.ascii.eqlIgnoreCase(line, "")) { //continue; } else if (std.ascii.eqlIgnoreCase(line, "q")) { break; } else { std.debug.print("> You wrote \"{s}\" ", .{line}); } } std.debug.print("> Goodbye! ", .{}); }
@MikeShah
@MikeShah 5 ай бұрын
@@GaryChike Your IO console applications should be a KZbin series.😁 Crystal looks incredible clean
@GaryChike
@GaryChike 5 ай бұрын
@@MikeShah Ah .. shucks! ☺
@bsdooby
@bsdooby 6 ай бұрын
…and Nim.
@ghulam2545
@ghulam2545 6 ай бұрын
No semicolon!
@liteal
@liteal 6 ай бұрын
Lets implement an own lang! with llvm backed for example :))
@MikeShah
@MikeShah 5 ай бұрын
That would be fun :)
@ylluminate
@ylluminate 5 ай бұрын
LLVM was avoided for V due to a lot of problems and baggage it can bring to the table.
@MikeShah
@MikeShah 5 ай бұрын
V was perhaps one of the easiest installs -- very lightweight!@@ylluminate
@0xfadead
@0xfadead 2 ай бұрын
​@@ylluminate I mean is an entire C compiler really more lightweight? It may be when you're using tcc as a backend, but that's basically like using `-O0'
@leffivanov3127
@leffivanov3127 6 ай бұрын
Oh, THE memleaklang)
@bsdooby
@bsdooby 6 ай бұрын
can you elaborate?
@leffivanov3127
@leffivanov3127 6 ай бұрын
@@bsdooby it's a joke. When V was started out they were saying that they gonna make automatic memory management without GC, like borrow checker in Rust, or @live in D, or ORC in Nim. But for quite some time compiler just generated code with memory leaks. Didn't check the latest version, but it looks like they decided to give up and just use GC or something?
@MikeShah
@MikeShah 5 ай бұрын
I think John Carmack had a famous tweet some time ago about not bothering to call 'free' if all of your allocations happen at the start -- perhaps an ode to that philosophy (if V is used for game/media applications where allocations may happen at the start)? (Note: I am joking :) ) @@leffivanov3127
@ylluminate
@ylluminate 5 ай бұрын
@@leffivanov3127 autofree is still coming, but BDWGC was inserted with incredible and surprising results. Currently GC is being used with incredibly low impact. Autofree is about 90% or so done, but there are some edge cases, etc. that need to still be addressed. Of course manual memory management is also an option, but thanks to how efficient V is with memory handling it makes the BDWGC much more lightweight and less impactful than expected.
@machelOApps
@machelOApps 4 ай бұрын
@@leffivanov3127 as far as i know performance of their GC surprised even creators. They have like 3 or 4 modes (including manual) of memory management, one of them is autofree which should auto handle mem management during compile time, remaining 10% would be handled by GC. Seems that for now autofree is not much more performant then GC alone.
Rust - First Impression [Programming Languages Episode 3]
1:07:00
Dart - First Impression [Programming Languages Episode 24]
1:00:03
Каха инструкция по шашлыку
01:00
К-Media
Рет қаралды 7 МЛН
小女孩把路人当成离世的妈妈,太感人了.#short #angel #clown
00:53
Китайка и Пчелка 4 серия😂😆
00:19
KITAYKA
Рет қаралды 3,6 МЛН
Шокирующая Речь Выпускника 😳📽️@CarrolltonTexas
00:43
Глеб Рандалайнен
Рет қаралды 11 МЛН
I Tried JAI, Can It Replace C++?! (Programming Language)
21:05
The Vlang Drama
43:35
ThePrimeTime
Рет қаралды 95 М.
A small presentation of V's features at IBM
24:26
The V Programming Language
Рет қаралды 12 М.
Zig - First Impression [Programming Languages Episode 4]
50:36
Mike Shah
Рет қаралды 3,9 М.
Vlang: The language of 2023?? | Prime React
35:53
ThePrimeTime
Рет қаралды 129 М.
When Zig Outshines Rust | Prime Reacts
23:31
ThePrimeTime
Рет қаралды 132 М.
A problem so hard even Google relies on Random Chance
12:06
Breaking Taps
Рет қаралды 1,1 МЛН
WWDC 2024 - June 10 | Apple
1:43:37
Apple
Рет қаралды 10 МЛН
ВСЕ МОИ ТЕЛЕФОНЫ
14:31
DimaViper Live
Рет қаралды 58 М.
КОПИМ НА АЙФОН В ТГК АРСЕНИЙ СЭДГАПП🛒
0:59
Урна с айфонами!
0:30
По ту сторону Гугла
Рет қаралды 4,4 МЛН