Conversation #3 - Ginger Bill- Programming Proverbs and the Odin Programming Language

  Рет қаралды 3,959

Mike Shah

Mike Shah

Күн бұрын

►Conversation/Podcast Playlist: • Conversations / Podcast
►Find full courses on: courses.mshah.io/
►Join as member to get perks: / @mikeshah
►Lesson Description: In this conversation I speak with Bill (also known as Ginger Bill) who created the Odin programming language -- for Sane Software Development. Bill currently works at JangaFX (which uses Odin) and develops high performance tools for liquid, particle, and terrain simulations in games and movies. Throughout this conversation, we'll discuss Bills journey as a programmer, wisdom (through programming proverbs), and get some of his insights into the Odin programming language. It was a true honor to have an author of a language walking me through the Odin language, and learning from his experience. Sit back, relax, and get ready to take some notes on the wisdom Bill shares as he graciously joins us for this over one-hour conversation.
Please check out the following links from the talk:
Odin Language website: odin-lang.org/
Odin Language demo: github.com/odin-lang/Odin/tre...
Bill's Programming Proverbs: www.gingerbill.org/article/20...
JangaFX: jangafx.com/
GingerBill's KZbin Channel: / @gingergames
Sean Barrett - Advice for Writing Small Programs in C: • Advice for Writing Sma...
Mike Acton Data-Oriented Design talk: • CppCon 2014: Mike Acto...
Handmade Cities Conferences/Network: handmadecities.com/
00:00 Conversation Preview
00:17 Introduction
00:46 Introduction to Ginger Bill
02:59 When did Bill start programming?
04:30 The Acorn Archimedes Machine
05:29 Bill's Physics Background
06:27 Early Game Development
09:46 Programming Proverb: Simplicity is complicated
14:05 Programming Proverb: The concept of programming
16:40 How to teach students the reality in the young field of computer programming
19:05 Programming Proverb: Generic Programming
22:29 Breaking the rules in programming
23:42 Programming Proverb: William James on being wise
25:02 The gb Libraries, inspiration from stb_libraries, and importance of libraries in languages
30:25 Where users are coming to Odin from?
32:22 C23 and is it worth it to learn C?
35:16 Programming Proverb: Purpose of a Program
35:53 Mike's understanding of Odin and Odin's origin
38:00 Screen share of Odin Code
57:15 Showcase of Odin Projects
58:06 Showcase: Cat and Onion commercial game in Odin
58:30 Showcase: Spall Profiler
59:10 Showcase: Odin Language Server (Ols)
59:46 Odin Monthly Newsletter
1:00:45 Showcase: JangaFX (EmberGen, GeoGen, LiquiGen)
1:03:45 Using a different programming language as a competitive advantage
1:06:50 Difference in writing a compiler versus other software
1:08:30 Programming Proverb: Rob Pike on Data Structures
1:09:00 Programming Proverb: Fred Brooks
1:09:55 Programming Proverb: Mike Acton
1:10:08 Bills Programming Process and the benefits of taking a walk
1:12:44 Surprise features in Odin that had large impact
1:15:00 Odin 1.0 is coming
1:16: 32 On learning compiler and language development
1:19:40 Book recommendation for students and learners.
1:22:00 Advice: Understand one level lower than you work (Baking analogy)
1:24:00 Closing Words and Shout outs
►Please like and subscribe to help the channel!
►KZbin Channel: / mikeshah
►Join our free community: courses.mshah.io/communities/...

Пікірлер: 34
@jakubtomsu
@jakubtomsu 3 ай бұрын
Odin is such a fantastic language!
@MikeShah
@MikeShah 3 ай бұрын
Super clean and pragmatic language
@handmadegamesdev
@handmadegamesdev Ай бұрын
Great video! I'm so pleased to see Odin getting the attention it deserves. Thanks for making this available to everyone.
@MikeShah
@MikeShah Ай бұрын
Cheers -- you are most welcome! Keeping doing great work!
@GaryChike
@GaryChike 3 ай бұрын
Great discussion! For all the purported 'C-replacements' (e.g. system programming languages with no GC), my current first choice would be Odin 🎆.. yes, even over the much-touted Zig🔥. Although C3 looks promising too. So many languages .. so little time.
@MikeShah
@MikeShah 3 ай бұрын
Indeed! I think the path these days is probably to start with C, and then convert to another systems language like Odin, Dlang, etc.
@BrunoDeAngelis
@BrunoDeAngelis 3 ай бұрын
Interviews of Bill are always super interesting, and Odin is a lovely breath of fresh air
@MikeShah
@MikeShah 3 ай бұрын
100%
@cyrilemeka6987
@cyrilemeka6987 2 ай бұрын
14:09 the concept of programming is soo accurate. Most people tend to forget the first point and the fourth point can't be any more real today. Loving the talk❤
@MikeShah
@MikeShah 2 ай бұрын
Cheers!
@iatheman
@iatheman 2 ай бұрын
Great interview. The questions were relevant. There was a portion where they dive into more technical detail that's the right amount for this format. The whole thing flowed really well.
@MikeShah
@MikeShah 2 ай бұрын
Cheers -- glad you enjoyed it!
@_iao_
@_iao_ 3 ай бұрын
knew i remembered your face from somewhere-- i've seen some of your SDL videos. glad to see you helping shine light on Bill and Odin!
@MikeShah
@MikeShah 3 ай бұрын
Cheers!
@xhivo97
@xhivo97 3 ай бұрын
Great video! The intro is just too cute lol
@MikeShah
@MikeShah 3 ай бұрын
Cheers! It was a very fun conversation 🙂
@johnnycashcow1130
@johnnycashcow1130 3 ай бұрын
Awesome! Love these videos!
@MikeShah
@MikeShah 3 ай бұрын
Cheers!
@debugger4693
@debugger4693 3 ай бұрын
Great!
@MikeShah
@MikeShah 3 ай бұрын
Cheers!
@thegameoflife9179
@thegameoflife9179 3 ай бұрын
Interesting talk, i like Odin and i hope it gets more vendors but that the language itself does not get too bloated like so many others have over the years.... i don't currently work in computers but my history of where i learned about them goes way back to the Commodore 64.... these are just a couple of programs i wrote that got in magazines... Based on the old Mastermind game, remember that? kzbin.info/www/bejne/q3KWoGp6ha98jLs And another, though this is just some of the music... kzbin.info/www/bejne/pp-WlKOcnJh6Z8k
@MikeShah
@MikeShah 3 ай бұрын
Very cool -- nice projects!
@skaruts
@skaruts 3 ай бұрын
Personally, my brain can't handle 10k lines of code in one file. I get totally confused. Sure, the editor has ways to jump around to functions, but... I'm not good at memorizing the names of all the functions I write. Usually when it gets to 1k lines I'm already having trouble with it, and I have to start spreading it out.
@tubeincompetence
@tubeincompetence 3 ай бұрын
Always a balance. :) But I feel 1000 lines of code can be quite fast to go through, read and get an overview of, while 10000 lines I would prefer to just close the file or give up getting a good understanding of the whole file. But probably more of a "me problem" and I do have those 10k lines files where I am familiar with the code and can find what I need quite well after working with them for a while. But new file to discover? Give me something smaller
@MikeShah
@MikeShah 3 ай бұрын
Agreed, always a balance! I think it's always useful to hear from others with experience that there are no 'hard and fast rules'@@tubeincompetence
@CianMcsweeney
@CianMcsweeney 3 ай бұрын
That's why an editor with good Symbol parsing and fuzzy matching on those symbols is key (at least for me)
@skaruts
@skaruts 3 ай бұрын
@@CianMcsweeney if you don't know the exact name of what you're looking for, then fuzzy search may still present you with a big list of matches that you have to look through and it may involve some trial and error. But regardless of that, the main issue for me isn't actually with things being easy or hard to find. The main issue is more psychological, as I can't help but feel overwhelmed and encumbered, and when I separate the code I feel lighter and relieved. Maybe it's just me, I don't know.
@BrunoDeAngelis
@BrunoDeAngelis 3 ай бұрын
@@CianMcsweeney which one do you use or which one would you recommend? Thanks
@LukeAGuest
@LukeAGuest 3 ай бұрын
He doesn't need to use generics because his language doesn't have user defined numeric types. He's wrong about enums, they are types, backed by integers, it's just in C they aren't types, there is no scope and they are just ints and are abused as ints. Algorithms + Data structures = Programs, Wirth. Ada has bitsets: type Bit_Sets is array (Positive range 1 .. 10) of Boolean with Packed; The array index type can be any scalar type, even an enum. You DON'T need pointers AT ALL, you just need the syntax to do it for you, see my repo.
@GingerGames
@GingerGames 3 ай бұрын
I'm not wrong about enums in C. `enum Foo` will not well defined backing integer type. Some implementations will have it be `int`, but others will use the smallest integer type needed to represent the fields. The other issue is that when you use an enum as a type, it'll just act like `int` most of the time. And in the context of the video. I was talking about C specifically, not any other language. I know Ada has bit sets, in fact normal Pascal had bit sets, and that is where I got the idea from. "You DON'T need pointers AT ALL"? What are you on about? A pointer is just a memory address with an associate typed with it. Unless you are saying something like `load(memory_address, Type)` etc, which is just obfuscating the typed pointer.
@LukeAGuest
@LukeAGuest 3 ай бұрын
@@GingerGames What you said about enums, you didn't mention c, just enums. I pointed out that in exactly what's wrong with enums in C, no need to reiterate. In Ada, you are not limited by machine word size in bit sets, that array can be huge if you want, in Pascal, it's limited to 32 bits IIRC, might even be less. I know what a pointer is, no patronising required thanks. As I said, if you have the syntax to do it, you don't need explicit pointers, as long as you can set a memory address for an object.
@GingerGames
@GingerGames 3 ай бұрын
@@LukeAGuest As I said, I was talking about C in that context, and even in the next sentence I mention C. Why are you bringing up something irrelevant with about Ada? I never mention Ada nor how it works. Ada might not be limited to a single integer, but Odin's is thus being closer to Pascal. I wasn't being patronizing. What you are saying is a little confusing, but what I think you mean is that languages like Java/Python/etc don't show their pointers because (nearly) EVERY value is a pointer itself (i.e. a reference), which means you are passing pointers around already. That isn't a mere _syntax_ thing but a completely different memory model and semantics. Odin is part of the C and Pascal tradition which passes around values not references.
Zig for Impatient Devs
9:48
Isaac Harris-Holt
Рет қаралды 64 М.
1 класс vs 11 класс (неаккуратность)
01:00
Super sport🤯
00:15
Lexa_Merin
Рет қаралды 20 МЛН
Would you like a delicious big mooncake? #shorts#Mooncake #China #Chinesefood
00:30
5 reasons why Odinlang is great for gamedev ✨
10:10
Karl Zylinski
Рет қаралды 13 М.
Jai vs Odin systems programming languages (Non-spicy takes!)
20:10
Context Free
Рет қаралды 67 М.
zig is the future of programming. here's why.
9:34
Low Level Learning
Рет қаралды 193 М.
AI Hardware w/ Jim Keller
33:29
Tenstorrent
Рет қаралды 27 М.
How I would learn to code (if I could start over)
10:52
PIRATE KING
Рет қаралды 1,3 МЛН
Rust vs 7 Other Languages You Probably Haven't Tried
8:55
Code to the Moon
Рет қаралды 73 М.
Pascal in 100 Seconds
2:43
Fireship
Рет қаралды 535 М.
Will Ada Replace C/C++?
44:57
Tsoding
Рет қаралды 80 М.
Очень странные дела PS 4 Pro
1:00
ТЕХНОБЛОГ ГУБАРЕВ СЕРГЕЙ
Рет қаралды 370 М.
ПК с Авито за 3000р
0:58
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,8 МЛН
What model of phone do you have?
0:16
Hassyl Joon
Рет қаралды 74 М.
Топ-3 суперкрутых ПК из CompShop
1:00
CompShop Shorts
Рет қаралды 455 М.