Picking A Language In 2025
摘要
TLDRThe discussion revolves around choosing a programming language for specialization in 2025. The main speaker is experiencing an 'existential crisis' in deciding whether to continue with Go, a language he finds productive but lacking depth, or to explore other languages such as Zig, Odin, and possibly Jai (J AI) for their metaprogramming capabilities. The speaker has a history with Rust but does not enjoy it, despite its technical advantages. The conversation highlights a dilemma in selecting a language amidst rapidly developing programming ecosystems, emphasizing the importance of not just programming language features but also metaprogramming and future potential. The other speaker offers advice on considering current language trends and being wary of adoption hype, a lesson drawn from the controversial history of C++. Overall, the discussion showcases a shared understanding of frustrations with popular languages like C++ and a keen interest in metaprogramming for future projects.
心得
- 🤔 Choosing a programming language is a complex decision involving productivity, depth, and future potential.
- 🔍 Rust was tried but ultimately not enjoyed by the main speaker.
- ⚙️ Go is productive but lacks depth; it's described as a straightforward language without much room for mastery.
- 🧠 Metaprogramming is a significant factor in choosing the next language.
- 🌐 The speaker needs a language suitable for web and asynchronous tasks.
- 🚀 Jai (J AI) is favored for its serious approach to metaprogramming, though it's still in closed beta.
- 🔧 Open-source languages are preferred for their transparency and community resources.
- 🎯 The speaker is considering Zig for its intriguing language features and adoption by some large projects.
- 🗣 C++ is heavily criticized for complicated features that don't fulfill practical implementations well.
- ⏳ It's a challenging time to choose a language due to rapidly evolving tech ecosystems.
时间轴
- 00:00:00 - 00:05:00
The discussion begins with an introduction to a conversational event where existential feelings and emotional processing are openly addressed. There's a shared sentiment about the daunting nature of choosing a programming language for the future, given experiences with Rust and Go. The speaker expresses a desire to find a new language that's enjoyable and suitable for asynchronous projects. They mention considering Zig, Odin, and Elixir for their metaprogramming capabilities.
- 00:05:00 - 00:10:00
The conversation explores the practical challenges of selecting a programming language amidst rapidly evolving technology. The speaker acknowledges the lengthy process of mastering a language beyond surface-level learning, noting that most resources tend to be of average quality. The sentiment shared is that current technological advancement complicates the decision-making process, as the future landscape of programming languages remains unpredictable.
- 00:10:00 - 00:15:00
An idea is floated regarding the need to determine the quality and robustness of web service capabilities in upcoming languages. The discourse touches on the challenges of aligning project requirements with language capabilities, especially given that many pioneering languages aren't focused on web integration. This ties back to the speaker's broader goal of finding a language that excels in metaprogramming and data aggregation tasks.
- 00:15:00 - 00:20:00
The speaker, invested in software evolution and experimentation, considers how modern programming environments could be leveraged. They are seeking a language that blends ease of use with capabilities for complex, multi-threaded operations, without the complex legacy issues of C++. The speaker values languages that remain undersold but possess long-term potential, like Ji or Odin, appreciating their community's honesty about current limitations.
- 00:20:00 - 00:25:00
There's an analysis of the downside of programming languages overly hyped by their communities, referencing C++ as a case study of potential pitfalls. The conversation highlights the refreshing transparency of languages like Ji and Odin about their capabilities, advocating for a more conservative approach to growth and community building. This discourse is positioned within the broader goal of assessing web service integration capabilities—a key requirement for the speaker.
- 00:25:00 - 00:30:00
Explorations continue into the possibilities presented by other languages like Zig and their potential roles in creating optimized workflows for future projects. There's an interest in a language offering metaprogramming excellence alongside robust web integration and asynchronous processing capabilities. The discussion implies that a methodical approach to testing these languages could yield fruitful insights into their practical applications.
- 00:30:00 - 00:37:58
Concluding thoughts reiterate the importance of innovation in programming language design while weighing the pros and cons of adopting new languages. The speaker reflects on the need for continuous exploration and testing before making a committed shift, suggesting that personal enjoyment and alignment with project goals should guide the selection process. The conversation serves as a meta-narrative on balancing functionality, enjoyment, and technological foresight in software development.
思维导图
视频问答
What languages are considered in the conversation?
Languages mentioned include Rust, Go, Zig, Odin, Elixir, and C++.
What is the main language that the user is considering to focus on for 2025?
The user is considering focusing on Zig.
What are the main concerns regarding choosing a programming language?
Concerns include the language's depth, productivity, metaprogramming capabilities, future potential, and current toolset for web and service aggregation tasks.
Why did the user decide against continuing with Rust?
The user dislikes programming in Rust and does not find joy in it, despite recognizing its technical merits.
What is metaprogramming and why is it important to the user?
Metaprogramming refers to the capability of a programming language to treat code as data, allowing programs to modify themselves or other programs. It's important to the user as they want to explore these capabilities more in their work.
How does the user feel about Go?
The user finds Go to be extremely productive but not very deep in terms of language features, describing it as the worst language they like.
What advice does the other speaker offer regarding choosing a language?
The speaker suggests the programming landscape is rapidly evolving with many new languages, making it a difficult time to pick one. They advise waiting or experimenting before committing to a language.
Which language does the other speaker seem to favor for metaprogramming?
The other speaker favors Jai (J AI) for its advanced and serious approach to metaprogramming.
What is the attitude towards C++ shared in the conversation?
Both speakers express a negative view of C++, criticizing its features as being overly complicated and not well executed.
Is open-source nature important when choosing a programming language according to the discussion?
Yes, an open-source language is favored as it allows access to source code and documentation, facilitating deeper understanding and customization.
查看更多视频摘要
- 00:00:00all right so I guess we should should
- 00:00:02should we start our first little talk
- 00:00:03here yeah cuz I like I said I don't know
- 00:00:05how long these are going to go and the
- 00:00:07Fortran thing might be one of those ones
- 00:00:09that takes us like an hour and a half or
- 00:00:11something so we might want to do it as a
- 00:00:12separate thing I don't know so I wanted
- 00:00:14to you you sounded like you were having
- 00:00:16like an existential crisis or something
- 00:00:18the way you described it in the Twitter
- 00:00:20message you know what I mean I I I am
- 00:00:22crisis right now which is that okay so
- 00:00:25I'm G I'm going to I'm going to give you
- 00:00:26some facts here K yeah I I felt like
- 00:00:29this was important like this was this
- 00:00:30was like an emotional like uh this was
- 00:00:34we need to do emotional processing you
- 00:00:35know like we need to we need to you know
- 00:00:38you know it's it's still guy stuff you
- 00:00:39know I mean I'm not not say you know but
- 00:00:41but it's some emotional processing here
- 00:00:43I I I'm not afraid of a little emotional
- 00:00:45processing you know yeah we I'm
- 00:00:47comfortable with my masculinity and we
- 00:00:48need to process some emotions right now
- 00:00:50okay so I I'm going to tell you my
- 00:00:52problem here okay it's that often when
- 00:00:55I'm building things I build things such
- 00:00:58that I have to do several rounds trips
- 00:01:00to various internet
- 00:01:02services so okay you know like having to
- 00:01:05aggregate a bunch of twitch chat
- 00:01:06together say record my audio put those
- 00:01:10together decode audio via a whisper take
- 00:01:14twitch chat and get you know chat jippy
- 00:01:16to start kind of organizing it like this
- 00:01:18is one thing I'm building right now and
- 00:01:19then combining those two results to turn
- 00:01:21like to to distill it into a final voice
- 00:01:24reading that's going to be chat jippy
- 00:01:27reacting based on what I said and how
- 00:01:29twitch chat felt about it and so it's
- 00:01:31like whenever and you know a lot of
- 00:01:32projects are going to kind of fall under
- 00:01:34this this type of scope which is just
- 00:01:36like a lot of just asynchronous
- 00:01:37requesting type stuff and so I want to
- 00:01:40pick a new language of the Year
- 00:01:432025 okay uh I did rust for two years I
- 00:01:46did go for one year I made a video about
- 00:01:49how I think I will never program rust
- 00:01:50again uh people hated that uh but you
- 00:01:54know really my my whole reason is just
- 00:01:55like I just don't like programming in
- 00:01:57Rust like that's it you know all
- 00:01:59technicalities side when I see really
- 00:02:00nice rust I go wow that's really nice
- 00:02:02that's like really cool like I love what
- 00:02:03you can do in it I don't want to do it
- 00:02:05uh and so I'm trying to think about this
- 00:02:07thing and it's just it feels like I'm in
- 00:02:08emotional crisis mode because it's like
- 00:02:10do I continue with go which is just not
- 00:02:13that great of a language like by all
- 00:02:15objective measures go is not fantastic
- 00:02:17it has just lots of like foot guns but
- 00:02:20it's extremely productive language and
- 00:02:22you can effectively build anything you
- 00:02:24want in it uh very easily especially if
- 00:02:26you have to go like if you need to go
- 00:02:27listen to two things at once for a short
- 00:02:29period time and then come back green
- 00:02:31threads are fantastic right because
- 00:02:33you're just like go do your thing and
- 00:02:34then when I say you're done you're done
- 00:02:35and we come back and we're all fantastic
- 00:02:37you know it just feels really easy and
- 00:02:39so I love I love the experience of a
- 00:02:41runtime because they just make that type
- 00:02:44of behavior super simple and so it's
- 00:02:46like do I continue with go or do I
- 00:02:48explore a language that isn't go and I
- 00:02:51kind of feel like I need to master one
- 00:02:53metaprogramming language experience like
- 00:02:55I need to actually become good at macros
- 00:02:58of some sort and so I've kind of been
- 00:03:01narrowing down Zig as the option because
- 00:03:03its macro system is comp time which
- 00:03:05means it's just Zig that's executed at
- 00:03:07compile time to produce Zig so it's not
- 00:03:09like some you know it's not like uh
- 00:03:11what's called c-based pre-processor
- 00:03:13macros so it's not like a separate
- 00:03:14language you're learning or it's not
- 00:03:15like rusts two different macro systems
- 00:03:17both declarative and procedural right
- 00:03:19it's it's just one it's just Zig so it's
- 00:03:22just Zig that makes Zig if you want to
- 00:03:24go down the comp time so you actually
- 00:03:25program something that looks like
- 00:03:26reflection and then it compiles that
- 00:03:29from refle C just generates the 3 10 18
- 00:03:31functions that you actually used by
- 00:03:33calling a bunch of times so it's a very
- 00:03:36interesting and compelling thing also
- 00:03:37Oden uh I think Ginger Bill's here I
- 00:03:39think I saw Ginger bill in the chat
- 00:03:41several times Ginger Bill awesome guy
- 00:03:43and so Odin also I believe has
- 00:03:45metaprogramming as well sounds very
- 00:03:46exciting Elixir has metaprogramming as
- 00:03:48well uh all sound really really good and
- 00:03:50so I'm kind of just stuck in this idea
- 00:03:52of what what do I choose to Specialty in
- 00:03:54because I was going a specialty in Rust
- 00:03:56but I I just found myself getting
- 00:03:58progressively more frustrated with it
- 00:03:59and I just feel like I'm in a free fall
- 00:04:01emotionally because go is not a a deep
- 00:04:04language go is a language you can learn
- 00:04:05in a a couple weeks and be productive
- 00:04:08really really fast I just kind of miss
- 00:04:10you know Miss the days of something that
- 00:04:11has a little bit more depth to
- 00:04:14it so I guess what I would say uh
- 00:04:19is my meta feedback on that is it's
- 00:04:21unfortunate that you have to be choosing
- 00:04:23this now and the reason that I say that
- 00:04:26is because I feel like now is not a
- 00:04:28fantastic time to have have to be
- 00:04:30choosing a language because you know
- 00:04:32from my perspective I feel like actually
- 00:04:36getting proficient in a language takes
- 00:04:38quite some time learning a language is
- 00:04:40not so hard you could do that in an
- 00:04:42afternoon depending on the language but
- 00:04:44actually learning how to program that
- 00:04:46language well takes quite a bit of time
- 00:04:49and that's especially true I think the
- 00:04:51better the better programmer you are the
- 00:04:54more true that is because most resources
- 00:04:57made in most programming languages by
- 00:04:59most people will be mid that's just how
- 00:05:02it is that's te so what you will see
- 00:05:05yeah what you will see when you go look
- 00:05:06up how to do something in rust or
- 00:05:09whatever is going to be the mid version
- 00:05:11of that thing and so usually if you're
- 00:05:15if you're a good programmer you're even
- 00:05:17at a bigger disadvantage because it
- 00:05:19means oh if I learn to program rust and
- 00:05:22I want to do rust or whatever I'm also
- 00:05:25now going to have to spend the time of
- 00:05:28being sort of an innovator to figure out
- 00:05:31what are the great ways to do these
- 00:05:32kinds of things in Rust because probably
- 00:05:34people haven't actually figured that out
- 00:05:36yet right um and so there's a lot of
- 00:05:40that kind of thing which is really a
- 00:05:42problem for uh you know looking at a
- 00:05:46language like I'm gonna this is going to
- 00:05:47be a big investment right and right now
- 00:05:50there are so many of these new really
- 00:05:53Qui sorry what can I rephrase it really
- 00:05:55quickly what you're what what you're
- 00:05:56saying just so I understand this
- 00:05:58correctly is that
- 00:06:00uh obviously syntactical learning is
- 00:06:01very very simple uh when you use go for
- 00:06:03the first time say you're coming from
- 00:06:05JavaScript it's very very simple or
- 00:06:06you're going from rust from Zig to go or
- 00:06:08any of these language transitions you
- 00:06:10try to use the you try to use that
- 00:06:12language the way you're used to using a
- 00:06:14language and then you find out that you
- 00:06:15just run into a lot of problems so what
- 00:06:17you're trying to say is that experience
- 00:06:19obviously the the harder a language or
- 00:06:20the more deep a language is the more
- 00:06:22experience it takes to really be fully
- 00:06:24good at that
- 00:06:26language and also the better you wish to
- 00:06:29be I guess the other part there's more
- 00:06:31opportunity for being good at the
- 00:06:32language like i' I can't really get much
- 00:06:34better at go because there's not
- 00:06:36anything I can really be good at it's
- 00:06:38just procedural it's like dude I could
- 00:06:40if and for and go like that true right
- 00:06:43but even if you take a thing like uh you
- 00:06:45know if you take Assembly Language right
- 00:06:47which is the most procedural thing
- 00:06:49there's nothing in it right there is you
- 00:06:51can use a macro assembler hopefully you
- 00:06:53will right but it's not that uh powerful
- 00:06:56otherwise it's like you could still you
- 00:06:58could spend a decade becoming a good
- 00:07:00Assembly Language programmer learning
- 00:07:02all of the ways to do things right uh
- 00:07:05and so some of that translates language
- 00:07:07to language some of it doesn't and to
- 00:07:10your point the more complicated the
- 00:07:13language is in terms of features that it
- 00:07:15offers you the more space there is to
- 00:07:18explore there the more possibility that
- 00:07:20something you haven't tried playing
- 00:07:21around with yet if you got good at it
- 00:07:24would be a better way to do whatever
- 00:07:26you're doing than what you were
- 00:07:27currently doing so it just compounds
- 00:07:30and so part of the thing that I think is
- 00:07:33really bad about choosing a language
- 00:07:35currently is that there's so much new
- 00:07:38language development going on right now
- 00:07:39which is good for the future like that's
- 00:07:41not a bad thing but it means that it's
- 00:07:46not a great time to make that choice you
- 00:07:49don't really know where all these
- 00:07:51languages are going you don't really
- 00:07:53know how good the tooling will be for
- 00:07:54each of them in the future you don't
- 00:07:56know how widely they'll be adopted or if
- 00:07:58they'll be abandoned or whatever else
- 00:08:00right and you end up in this situation
- 00:08:03where you are sort of taking on an
- 00:08:06additional burden that you won't be 10
- 00:08:09years from now right you are you are one
- 00:08:12of the people doing the work of
- 00:08:15determining which of these languages is
- 00:08:16good and which of these languages Will
- 00:08:18Survive that's extra work which maybe is
- 00:08:21fine and maybe you want to do it but I
- 00:08:23just wanted to say before we start
- 00:08:24talking about this like a meta point
- 00:08:26which is just one of the reasons I
- 00:08:28haven't really been doing anything in
- 00:08:30these languages or experimenting with
- 00:08:31them is because I'm just like I don't
- 00:08:34feel like I really want to spend that
- 00:08:36time now I would rather let this shake
- 00:08:39out more and look at it five years from
- 00:08:41now and then be like okay which language
- 00:08:44am I going to switch to because I only
- 00:08:45want to switch once away from you know C
- 00:08:48assuming these languages are better
- 00:08:50enough I don't want to be switching
- 00:08:52every well as you say you're you're
- 00:08:54tired of it probably right yeah yeah
- 00:08:56because I I I did you know a decade plus
- 00:08:59of having to build a lot of web apps and
- 00:09:01so a lot of JavaScript Java C++ that
- 00:09:04kind of stuff and so it's like I I want
- 00:09:05I just want to a freshen up that's why
- 00:09:07the whole go rust Zig thing is is just
- 00:09:09like looking to the Future what is going
- 00:09:10to be a very amazing experience and
- 00:09:13obviously go very great one to have in
- 00:09:14your tool bag but I don't think you need
- 00:09:16I don't think you need an aggressively
- 00:09:18large amount of experience to be pretty
- 00:09:20dang good at it so I'm like okay so this
- 00:09:22one is one that I can just always have
- 00:09:23available I need to build an
- 00:09:24asynchronous service bing boom boom boom
- 00:09:26boom I got it down like I'll just throw
- 00:09:28go in there and so I kind of I'm looking
- 00:09:30for that a nice kind of like the the
- 00:09:32fast the high-end language if you will
- 00:09:34the the Porsche of languages and I don't
- 00:09:36want to do C++
- 00:09:38again yeah well that C++ is a terrible
- 00:09:41language obviously and I would never
- 00:09:44recommend anyone use it for anything
- 00:09:46right like like c i I think is kind of
- 00:09:50remarkable and that you can still be
- 00:09:51very productive in C to this day uh C++
- 00:09:54I will never understand the people who
- 00:09:56defend it I really don't I'm sorry
- 00:09:57everyone out there I know there's people
- 00:09:59who will be so sad and mad at me for
- 00:10:02saying this but I literally will never
- 00:10:04understand why anyone likes that
- 00:10:06language it is so bad it just has it it
- 00:10:11has so many features and all of them are
- 00:10:14bad like they all don't quite do what
- 00:10:17you actually need them to do and and
- 00:10:19it's almost like a head scratcher like
- 00:10:20how did you manage to add this many
- 00:10:23things to the language and 99% of them
- 00:10:27are critically broken it's almost like a
- 00:10:28winning streak or well I guess it's a
- 00:10:31losing streak an unbroken and and uh a
- 00:10:34Guinness record long language losing
- 00:10:36streak that they've been having for 30
- 00:10:38years and they just show no signs of
- 00:10:40breaking and I'm just like that's
- 00:10:41remarkable so uh so yeah no I am 100% in
- 00:10:45support of just like I think people see
- 00:10:47an assembly language are two things I
- 00:10:49think everyone should learn uh Assembly
- 00:10:51Language not to write but just to read
- 00:10:54and see to write because I think it's
- 00:10:56sort of a mother language at this point
- 00:10:57it's just good and it's not hard right
- 00:10:59there's not a lot to see uh you can
- 00:11:01learn it quickly I think those are good
- 00:11:03languages to know but C++ is just it's
- 00:11:05useless so I also have a r that if you
- 00:11:07can't read the standard Library I have a
- 00:11:10I I'm highly suspicious of the language
- 00:11:13like that's just one of my things is
- 00:11:14that if I go to definition and I can't
- 00:11:16just go oh yeah there's some things I
- 00:11:18will never understand about like extra
- 00:11:20you know like you know whatever they put
- 00:11:22those things up directives on the top of
- 00:11:23stuff that are just like you know
- 00:11:25they're highly optimized I get it I
- 00:11:26won't understand all the things but this
- 00:11:28is insane like when you look at the
- 00:11:30standard definition of anything inside
- 00:11:31C++ it's like I cannot read this code I
- 00:11:34don't know what's happening or why it's
- 00:11:36happening but it's actually just it's
- 00:11:39Bonkers so
- 00:11:41uh I guess what I would say is from your
- 00:11:44perspective then you're saying I just
- 00:11:46want to make sure I got this right so
- 00:11:49from your perspective you are like I
- 00:11:52need to choose a language for next year
- 00:11:54so so I don't I don't have the luxury of
- 00:11:56waiting around or just being a diletant
- 00:11:59in a few languages for year it's like I
- 00:12:01I want to actually pick a language for
- 00:12:03next year this is a requirement and I'm
- 00:12:05going to program fairly seriously in
- 00:12:06that language and that's just what's
- 00:12:08happening so the hand is forced let me
- 00:12:11let me say it this way is that due to my
- 00:12:13quote unquote content creation status I
- 00:12:15want to investigate a language in a more
- 00:12:17thorough Manner and then okay kind of
- 00:12:20explain how how it makes me feel at the
- 00:12:22end of the whole thing you know like I
- 00:12:23did like I said I did multiple years in
- 00:12:24Rust and then quit it for a while and
- 00:12:27then went back and went yeah I really I
- 00:12:28still feel like I don't think this is
- 00:12:31just like I'm sure there's a great use
- 00:12:32case for rust that that does exist
- 00:12:34that's just absolutely phenomenal and
- 00:12:35I'm sure a lot of things with the
- 00:12:36operating systems and security and all
- 00:12:38that probably wen't having such a harder
- 00:12:40language maybe uh you could probably
- 00:12:42convince me or sell me on those kind of
- 00:12:43things I'm just saying hey you can sell
- 00:12:45me on memory safety on these kind of
- 00:12:46things but it's just like it's just
- 00:12:48something I find zero joy in and I think
- 00:12:51that's a very important part of
- 00:12:52programming is also just liking the
- 00:12:54thing itself and so it's like okay
- 00:12:56there's there's something there I just
- 00:12:57like go I think it's a I think it's like
- 00:13:00the worst language ever but I'm like I
- 00:13:02actually kind of like I like it you know
- 00:13:04it's like my boy go yeah he's like a
- 00:13:06little deficient but you know it's good
- 00:13:08uh you know even JavaScript I hate the
- 00:13:10language but I'm like you know you can
- 00:13:11get a lot of stuff done in
- 00:13:13JavaScript well that was part of the
- 00:13:15thing I was going to ask too about that
- 00:13:17is that like one of the problems with a
- 00:13:19lot of these new languages is their you
- 00:13:22know their use cases are not your use
- 00:13:25case either right like yeah most of what
- 00:13:27the people who are working on these
- 00:13:28langu angues are thinking about is not
- 00:13:31how do I aggregate a bunch of web
- 00:13:33services together to do stuff which is
- 00:13:35what you're saying is going to be a core
- 00:13:37requirement and so I mean I'm sure they
- 00:13:40all have you know curl equivalent crap
- 00:13:43in them right and presumably a Json
- 00:13:45parser or something but yeah I guess
- 00:13:48yeah I mean will they will they be as
- 00:13:51good as go for that kind of thing and
- 00:13:53the answer is like uh that part I don't
- 00:13:55really know because maybe they are you
- 00:13:58know maybe
- 00:13:59but maybe they're not because go that's
- 00:14:01all they were doing with that you know I
- 00:14:03mean like that seems like all it's for
- 00:14:05right yeah um so I do think that part is
- 00:14:09a risk and maybe one thing you could do
- 00:14:10is check out uh that part maybe do a
- 00:14:14little round robin of like how good is
- 00:14:16the web services part of these languages
- 00:14:19like how much it's not really a language
- 00:14:21thing so much but like the standard
- 00:14:23library or what libraries are available
- 00:14:25uh do those look robust enough or am I
- 00:14:28going to spend you know is your whole
- 00:14:29next year going to be like I had to
- 00:14:31write rewrite the https layer for you
- 00:14:34know whatever the languages I picked
- 00:14:36that's not going to be a fun time I mean
- 00:14:38maybe it is but you know it's that's a
- 00:14:40that's a thing the other thing I was
- 00:14:42going to mention is uh if if meta
- 00:14:44programming is something that interests
- 00:14:45you unfortunately that does mean
- 00:14:47probably get on the J beta I mean
- 00:14:49they've had the most uh impressive
- 00:14:51metaprogramming stuff I've seen
- 00:14:53consistently by far uh and so it feels
- 00:14:56like if metaprogramming is your thing
- 00:14:58you're going to want J that's kind of
- 00:15:00just how it is so I don't know we that
- 00:15:03that might be what you would want I
- 00:15:05don't know I did I did TW I I did make
- 00:15:07some tweets about kind of just like this
- 00:15:09language conundrum I'm in and J blow did
- 00:15:12send me an email saying if I want in I
- 00:15:14can get in he just he just wants to make
- 00:15:16sure it's somebody that's going to use
- 00:15:17the language that gets in and so it's
- 00:15:19like I want to use it but I know it's
- 00:15:20also very game oriented and so I also
- 00:15:22want to make sure it's it's it's a
- 00:15:24language that I I I mean I do actually
- 00:15:26want to write some some games this year
- 00:15:27like that would be the whole point is to
- 00:15:28try to figure out something really wild
- 00:15:30to write in it and uh and so maybe like
- 00:15:33maybe that is a good one so that they
- 00:15:34have a really good
- 00:15:36metaprogramming side to it I mean a at
- 00:15:39the risk of of uh pissing off some
- 00:15:42people who will probably complain about
- 00:15:44like no Nim had it or something like
- 00:15:46there there's people who will get mad at
- 00:15:47me saying this but basically as far as
- 00:15:50I'm concerned ji basically like John
- 00:15:53invented modern Med programming like the
- 00:15:55system he designed is what most
- 00:15:59languages now have a not as good copy of
- 00:16:02uh so basically like you know and that
- 00:16:05includes c++'s like they have like
- 00:16:07Circle and those sorts of things that
- 00:16:08they were doing but like John was kind
- 00:16:10of a Trailblazer there going like how do
- 00:16:12we actually make it so that this works
- 00:16:14robustly so that you can actually have
- 00:16:17you know recursive metaprogramming
- 00:16:19happening so your meta programs can you
- 00:16:20know uh continue to generate things
- 00:16:23which then feed back into the language
- 00:16:24properly and all that sort of stuff uh
- 00:16:27and it was really impressive of what he
- 00:16:29did and so he was kind of first out of
- 00:16:31that and I have not seen anyone take it
- 00:16:33as seriously as he's taken it still uh
- 00:16:37which is not to be a knock on the other
- 00:16:39languages that have it uh because I
- 00:16:42think it's good for languages to have
- 00:16:44these things but if you're talking about
- 00:16:47metaprogramming I still have not seen
- 00:16:48anyone take it as seriously as ji has
- 00:16:50it's a very powerful metaprogramming
- 00:16:53system uh and you
- 00:16:56know that's probably where you would
- 00:16:58want to if that's what you were looking
- 00:17:00at right yeah cuz that's kind of one of
- 00:17:01my things is I want a I want a language
- 00:17:03that could be very useful in the next 10
- 00:17:05years and I also want
- 00:17:08metaprogramming I I would I would try it
- 00:17:11I would try it uh and I think one
- 00:17:13another reason that that might be good
- 00:17:16is because uh it might be nice for them
- 00:17:19to get feedback on web use cases more uh
- 00:17:23because you know that it is true that
- 00:17:25like I said I think a lot of these
- 00:17:27languages are not super Webby and uh so
- 00:17:31I know there are web people who are
- 00:17:33using J in that beta uh but yeah I don't
- 00:17:37know and I guess the same would go for
- 00:17:39you had mentioned Odin and ginger billis
- 00:17:41here I don't know how much testing they
- 00:17:43get of that sort of thing I mean you can
- 00:17:45look Odin has some pretty cool stuff
- 00:17:47written in it like that embergen thing
- 00:17:49that was sort of its original uh project
- 00:17:51looks awesome right it's very
- 00:17:54professional uh and uh you know so I
- 00:17:58feel like
- 00:17:59there's very clear demonstrations that
- 00:18:01these languages are can be
- 00:18:03made good things can be made in some of
- 00:18:06these languages and I've seen examples
- 00:18:07of that right I don't actually know very
- 00:18:10much though about that web part like I
- 00:18:12don't know how many people are doing
- 00:18:13things like hey I I need to integrate
- 00:18:15twitch chat and ping and this and that
- 00:18:17and I'm going to pull them all together
- 00:18:19to do this thing I don't know how much
- 00:18:21any of these languages have really had
- 00:18:23that uh be pushed yeah right yeah so I
- 00:18:28think think that's that that's probably
- 00:18:30fair in any of these and I also know
- 00:18:31that I'm slightly barking up the wrong
- 00:18:33tree it's just that I I like this tree
- 00:18:35particular cuz I did you know one of my
- 00:18:37early times in programming my first
- 00:18:39couple years were spent programming C
- 00:18:42and I just really enjoyed that time I
- 00:18:44always enjoyed the experience of
- 00:18:45programming C even though it was It was
- 00:18:47obviously very easy to feel confident
- 00:18:50and then to unfe confident and realize
- 00:18:53you know nothing often uh as simple as
- 00:18:56the language was it was also extremely
- 00:18:58difficult and so it's just it was a very
- 00:19:00I I always enjoyed that and I always
- 00:19:02kind of looked back on that as like a
- 00:19:03really great time and so I've been
- 00:19:05wanting to kind of find the next one
- 00:19:06where I can really do that and I was
- 00:19:07really hoping rust honestly I just
- 00:19:09really hoped that rust was going to be
- 00:19:10that and then I just realized I just did
- 00:19:12not it just it was not that and so I I
- 00:19:15talked to Ginger too and he he of course
- 00:19:17as people tell me he's the N he's the
- 00:19:19first person to tell you you shouldn't
- 00:19:21use his language because it doesn't
- 00:19:23quite meet H his like high expectation
- 00:19:25of exactly what should be done for you
- 00:19:27and so he's always like well the HP
- 00:19:29stuff is not quite 100% ready you still
- 00:19:30have to use third party module so I
- 00:19:32don't think you should use it because we
- 00:19:33don't we haven't we haven't adopted the
- 00:19:34official you know on brand HTP stuff and
- 00:19:37so it's just like well okay maybe maybe
- 00:19:39I hear you but you know that's also good
- 00:19:42that there's third party stuff like
- 00:19:43third party is not a bad you know is is
- 00:19:45a good sign as well well I I actually
- 00:19:48really appreciate that approach uh
- 00:19:50Bill's approach is very refreshing right
- 00:19:52and it makes it easy to support his
- 00:19:54language too because you don't
- 00:19:56constantly have 800,000 Odin people in
- 00:19:59your feed complaining that you didn't
- 00:20:01use Odin because they just took a nice
- 00:20:03approach which is like we're not going
- 00:20:04to oversell this like we're going to
- 00:20:06keep working on it and right I hate the
- 00:20:08overselling overselling uh the reason I
- 00:20:11hate it so much is because it's where
- 00:20:13C++ came from C++ was basically a
- 00:20:17language where you know you had a guy
- 00:20:20Barna St strip who is very motivated to
- 00:20:23have his language be adopted to the
- 00:20:26point where there are actually anecdotes
- 00:20:28of like some of the people originally
- 00:20:30involved in working on
- 00:20:32C back at Bell Labs were like you know
- 00:20:35we don't think this is very good there's
- 00:20:37a bunch of things about this that you
- 00:20:38wouldn't and he was like angry with them
- 00:20:41and it's like this will hurt the
- 00:20:42adoption of C++ if you say these things
- 00:20:44like don't say these things right having
- 00:20:46adoption as a goal and pushing adoption
- 00:20:49while that may be necessary at some
- 00:20:51point when your language is really good
- 00:20:54doing it early is how we got C++ and and
- 00:20:58that's just bad like stop overselling
- 00:21:00and and so when I hear if I hear a
- 00:21:01language designer out there or members
- 00:21:04of a language Community pushing
- 00:21:06something and I've looked at that
- 00:21:07language and I know it's not very good
- 00:21:09yet right I get pretty grumpy about that
- 00:21:12and I I kind of understand why they're
- 00:21:13doing it because I know that you know
- 00:21:15sometimes you need momentum for this
- 00:21:16project if you're relying on like open-
- 00:21:18Source contributions or something you
- 00:21:20need to get people involved in it or it
- 00:21:21won't go but at the same time it's like
- 00:21:25that is a very bad thing because when
- 00:21:27you prioritize adoption like that what
- 00:21:29you'll probably end up with is a bad
- 00:21:31language that is widely used that's what
- 00:21:33we got with C++ and that was really bad
- 00:21:35and so uh I like the approach that that
- 00:21:38bill took with Odin of not pushing it
- 00:21:40aggressively not overselling it not
- 00:21:42going out there and just saying whatever
- 00:21:44it takes to try and get people to use it
- 00:21:46and also not being delusional about the
- 00:21:47language I've seen a lot of that where
- 00:21:49people make claims about a language that
- 00:21:51aren't true because they're overzealous
- 00:21:53about it and that's bad too ji same
- 00:21:56thing John was like this is staying
- 00:21:57closed do for a while we're doing beta
- 00:21:59for a while until I am sure that this is
- 00:22:02good and solid because it's going to
- 00:22:04start like once it starts getting
- 00:22:05adopted you get lock in you have to
- 00:22:07start prioritizing other things and like
- 00:22:09I don't want that I love those
- 00:22:11approaches I think they're going to
- 00:22:12result in better languages in the long
- 00:22:13run so I have positive things to say
- 00:22:15about them uh but yeah so that said I
- 00:22:19just don't know how good they are at
- 00:22:21things like web yet and so that would be
- 00:22:23an interesting thing for you to assess
- 00:22:25uh because you are exactly uh the
- 00:22:27programmer who could probably assess
- 00:22:28something like that that's like your
- 00:22:29bread and butter and you would know like
- 00:22:31ah this you know this isn't done very
- 00:22:33well here maybe can we do something
- 00:22:35better uh that would be a very
- 00:22:36interesting thing I would I would like
- 00:22:38to see that personally um yeah well I
- 00:22:40just feel like it's also it's just fun
- 00:22:41to like you know I get the opportunity
- 00:22:43to explore these things so I might as
- 00:22:44well explore a language that has you
- 00:22:47know high potential and and still is in
- 00:22:49its more Early times that's why you know
- 00:22:50Zig again is very uh appealing is
- 00:22:53because you know it's been adopted by
- 00:22:54bun now so bun obviously runs a lot of
- 00:22:57yavas script uh ghosty tiger beetle uh
- 00:23:00there's some other I think there's some
- 00:23:01other bigger ones that I I'm forgetting
- 00:23:03right now but those are like pretty dang
- 00:23:04big projects and they all speak
- 00:23:06extremely highly of Zig and so it's like
- 00:23:09okay I could I could I could see this
- 00:23:11being a very exciting thing to work in
- 00:23:14then yeah I I mean having looked at zigg
- 00:23:16a couple times because people pointed to
- 00:23:18it I just I not sure what like I don't
- 00:23:21really see a lot of the bonus there but
- 00:23:24maybe that's just because I'm coming
- 00:23:25from having looked at a bunch of these
- 00:23:27languages and gone like what's the
- 00:23:28current
- 00:23:29status I feel like it's good if you're
- 00:23:31coming from if if what you were looking
- 00:23:33for was C again uh then it seems like I
- 00:23:37can understand maybe maybe the choice
- 00:23:39right it's like well uh I don't really
- 00:23:41want to go C++ so I'm looking for
- 00:23:44something that's just a c extension
- 00:23:46right or something like that I don't
- 00:23:47know but a lot of the stuff is just like
- 00:23:50it's way too much typing for what it
- 00:23:52does uh and so I I was not I was like I
- 00:23:55don't really get it I don't I don't and
- 00:23:56a lot of the choices like the eror
- 00:23:58handling choic stuff I don't know it all
- 00:24:00I can say is I was like I don't I don't
- 00:24:01really get it I don't get this one um
- 00:24:04which is not to say that maybe it works
- 00:24:06for other people like maybe they're like
- 00:24:07you know thumbs up on that uh but again
- 00:24:10I would say like I can't imagine picking
- 00:24:12that over ji for example if you have
- 00:24:14access to the beta that that would make
- 00:24:15no sense to me right uh okay but unless
- 00:24:18you just want something that's open
- 00:24:19source uh I do I do like the open source
- 00:24:21nature because that you know I just find
- 00:24:23generally because if there's not a lot
- 00:24:25of docs you can eventually find
- 00:24:27something that that has what you're
- 00:24:29looking for you know so that's one
- 00:24:31that's one more nice part about anything
- 00:24:32that's open
- 00:24:34source yeah and uh and you
- 00:24:38know like I said that is one downside of
- 00:24:42picking a language now right is that you
- 00:24:44end up in this situation where
- 00:24:48uh you know some languages that might be
- 00:24:50right around the corner open source
- 00:24:52right or that might uh soon have some of
- 00:24:55the things you're looking for uh
- 00:24:59you don't know which ones they're going
- 00:25:00to be right and so that part yeah I just
- 00:25:02don't know so I'm not sure uh but I
- 00:25:06would say like yeah
- 00:25:09like it's a really hard time and since I
- 00:25:12don't since I am not willing to make a
- 00:25:14switch yet I have not done the really
- 00:25:17deep kind of eval on these languages I
- 00:25:20mean my assumption is I have would have
- 00:25:22a lot of complaints right away in most
- 00:25:25of these languages um because they just
- 00:25:28don't have the kinds of things that I
- 00:25:29would be looking for right uh what do
- 00:25:32you look for so like what what do you
- 00:25:34look for in a language if you were
- 00:25:36Vector if you were to choose vector
- 00:25:37vector vector like the language is would
- 00:25:40be based entirely around Vector compute
- 00:25:43and nothing else so Mo
- 00:25:45Joe no uh that's not based on Vector
- 00:25:48that's based on writing non Vector code
- 00:25:50that vectorizes right okay um so I would
- 00:25:54I would want a language that was just
- 00:25:56like I I would almost want Cuda right I
- 00:25:59I just I want the the normal the the non
- 00:26:02GPU version of Cuda right I want that's
- 00:26:04what I want I I don't really want uh
- 00:26:07sort of single Lane programming is just
- 00:26:10not I don't see that as being very
- 00:26:11useful anymore right okay that's by way
- 00:26:14something Zig does pretty well they have
- 00:26:16a vector built in that they have this
- 00:26:18whole idea that you can just kind of
- 00:26:19walk through everything built in the
- 00:26:21type the width how what how how many you
- 00:26:24want in there all that kind of stuff
- 00:26:26well most languages have that kind of
- 00:26:28Vector that's not what I mean by Vector
- 00:26:30okay right Vector programming is when
- 00:26:33you have a very good language for
- 00:26:34describing things scaler that are
- 00:26:36automatically Vector okay okay right and
- 00:26:39and this is a difficult thing to do
- 00:26:41properly right I I think Odin does have
- 00:26:44something like this I I feel like that
- 00:26:46had been added to Odin I can't remember
- 00:26:49uh but it's one of those things where
- 00:26:51most languages are not designed around
- 00:26:53it right does that make sense uh there
- 00:26:57it's an afterthought it's like a vector
- 00:26:59type that you then use to do something
- 00:27:01and it doesn't really it doesn't really
- 00:27:03capture what Vector programming looks
- 00:27:05like right
- 00:27:07okay so all right all right well these
- 00:27:10are all good things for me to think on
- 00:27:11I'll I'll go back and I I'll sit down
- 00:27:13I'll just do this I did peruse a little
- 00:27:15bit of the yod and docs and I really do
- 00:27:16like the for Loops I got to the for
- 00:27:18Loops just kind of like looking at the
- 00:27:19basic language of it and I was like okay
- 00:27:22this is very nice they they did very
- 00:27:24good job on that I enjoy this and the
- 00:27:26syntax just looks very pleasant or easy
- 00:27:27to use use right I'm I'm just going to
- 00:27:29be real here I the only reason why I'm
- 00:27:31not considering a functional programming
- 00:27:33language because I would if I were to
- 00:27:35choose one it'd probably be o camel
- 00:27:37because o camel has like the type system
- 00:27:38of rust with just none of the other
- 00:27:41things of rust and so it's just like oh
- 00:27:43I like this I like that Henley Milner
- 00:27:45type system whatever it is the ability
- 00:27:47to do like taged unions and all that and
- 00:27:49being able to infer really greatly like
- 00:27:51there's a lot of really cool things
- 00:27:52about the language it's just I find
- 00:27:54functional syntax to be maybe I just
- 00:27:57need more time in it maybe that's my big
- 00:27:58problem is I just don't do it enough to
- 00:27:59really love it did O camel is oaml
- 00:28:04support non-garbage collected usage yet
- 00:28:07no it's still garbage collected but they
- 00:28:09have really clever things coming out in
- 00:28:11the new ones where you can like say
- 00:28:13certain properties about your function
- 00:28:16and it will treat your function in a way
- 00:28:18that doesn't that that starts allocating
- 00:28:20on the stack as opposed to everything
- 00:28:22you know like your traditional garbage
- 00:28:23collected language so I think it's I
- 00:28:25don't know how it exactly works but it
- 00:28:27seems really clever what you can do well
- 00:28:30I mean yeah maybe they've got that under
- 00:28:32control I don't know functional
- 00:28:33programming to me I I don't love because
- 00:28:36you know computers aren't aren't that
- 00:28:38way and so I kind of like I I don't
- 00:28:41necessarily like coming at it from that
- 00:28:42way originally but I do like I
- 00:28:45mean I can see the appeal of of putting
- 00:28:50M writing certain types of code that way
- 00:28:51right so I'm not against it or anything
- 00:28:53but it is a it is a bit weird as your
- 00:28:55fundamental Paradigm because it's kind
- 00:28:57of a mismatch at some level but I
- 00:29:00haven't ever tried doing much
- 00:29:01programming no camel although I did look
- 00:29:03at it quite some time ago and uh the the
- 00:29:06fact that it was heavily reliant on
- 00:29:07garbage collection was never great but
- 00:29:10you know that probably has improved
- 00:29:11quite a bit in the 15 years since I
- 00:29:14looked at o camel right but yeah
- 00:29:15apparently modern o camel is very very
- 00:29:17good I've dabbled in it a few times now
- 00:29:19and every time I do it I go I you know I
- 00:29:21could like this language I could like
- 00:29:24you know the the I think my biggest
- 00:29:25problem with functional languages is
- 00:29:26that right after you do that I think I
- 00:29:28have to start writing white papers and
- 00:29:29never actually accomplish anything again
- 00:29:31and so I've always been very worried
- 00:29:33about that dive into functional
- 00:29:35programming and then I have to start
- 00:29:36wearing tie-dye t-shirts and you have to
- 00:29:38start talking about memory and peer
- 00:29:40functions and all that
- 00:29:41constantly yeah I mean it might be that
- 00:29:44what will happen is if you decide to do
- 00:29:46this next year in O camel you go back to
- 00:29:49uh school and become like professor
- 00:29:52primagen and all you do for the rest of
- 00:29:55your life is like talk about uh you know
- 00:29:57exact how to represent things in the
- 00:29:59Lambda calculus or whatever right and
- 00:30:01that's it we never hear from you
- 00:30:04again I just got sucked into the monoid
- 00:30:07monoid land and there there it goes I'm
- 00:30:09gone forever okay so I don't know if you
- 00:30:12ever answered what what would you what
- 00:30:14is your what is like the thing that you
- 00:30:15look for if you were to ever choose
- 00:30:17something different because you just do
- 00:30:19see you're so is it all just Vector just
- 00:30:23just optimizing for that or is there
- 00:30:24anything else that could pull you away
- 00:30:29it'd be pretty tough because uh as it is
- 00:30:32right now when I'm programming I have
- 00:30:34sort of my own like little meta layer
- 00:30:37that runs first that kind of cleans up
- 00:30:39some of the C things that I don't
- 00:30:41love and the next step that I would want
- 00:30:45to take there is just having my own uh
- 00:30:48like I said language that was geared
- 00:30:50towards exactly the way I think about
- 00:30:51Vector stuff right so I'd want it vector
- 00:30:54and and multicore I would want it
- 00:30:56exactly the way that I do it right and
- 00:30:59that's a pretty big step for me to take
- 00:31:01like I would basically be inventing my
- 00:31:03own language at that point if I decided
- 00:31:04to go that route so I haven't done that
- 00:31:07and I don't know that I ever will do
- 00:31:08that but that would be the thing that
- 00:31:11would convince me that it's time for me
- 00:31:13to switch to a new language and it's
- 00:31:16possible I don't know but it's possible
- 00:31:19that ji's metaprogramming is already
- 00:31:21such that I could just write that I
- 00:31:24might just be able to write that in
- 00:31:25their meta programming language and call
- 00:31:26it a day because their met progr
- 00:31:28language is very good
- 00:31:31so I you know I don't know maybe that's
- 00:31:34a route I go in the future I'm not sure
- 00:31:36but in terms of what I look
- 00:31:38for uh I would really want to see that
- 00:31:40because that would be a a motivator for
- 00:31:42me to switch if I just had to switch
- 00:31:45like it was like okay it's time you have
- 00:31:47to pick from one of these languages and
- 00:31:49it's like you know do you use Odin do
- 00:31:50you use ji or something or or rust
- 00:31:52heaven forbid uh like I I H I do have a
- 00:31:57list of things like go look at where I'm
- 00:31:59like okay here is a common thing that I
- 00:32:02think if you were making a modern
- 00:32:04language today if you've thought about
- 00:32:06it at all you can do this very easily
- 00:32:10and then I would go look and see can I
- 00:32:12do that easily and I don't ever say what
- 00:32:15these are because I don't want anyone to
- 00:32:17game the system yeah but I do have some
- 00:32:19of those things and like you know uh I I
- 00:32:22tried that with rust it didn't even get
- 00:32:24past the first one right like they
- 00:32:25hadn't even got my most basic test it
- 00:32:28couldn't even do it at all right and so
- 00:32:31I like well that's sorry what is the
- 00:32:34first test just you can't enforce me to
- 00:32:36use Ray right off the rip with no choice
- 00:32:39what is Ray resource acquisition is
- 00:32:41initialization oh RI sorry I didn't know
- 00:32:44that was pronounced that way okay just
- 00:32:46called it Ray I didn't know is it called
- 00:32:47Ray I don't I don't know what it's I
- 00:32:49just call it RI because I didn't even
- 00:32:51think Ray is probably much shorter and
- 00:32:53better I'm not really into saying a
- 00:32:55bunch of letters I would just rather say
- 00:32:56a word fair enough no uh yeah raai is I
- 00:33:01mean AB absolutely a no-o like if you
- 00:33:04tell me that that's on the on the menu
- 00:33:06we're done uh but yeah so I I felt like
- 00:33:10uh I kind of knew right off the bat I'm
- 00:33:12like the people who are making rust just
- 00:33:14don't think about programming like I do
- 00:33:15which again is not trying to say that
- 00:33:17other people like if they think like you
- 00:33:19do then it's a good language for you
- 00:33:21right uh they definitely don't think
- 00:33:23about programming the way I do so I was
- 00:33:24like no um but I you know so if I had to
- 00:33:28switch I would run a bunch of those
- 00:33:29tests and then pick the the one that
- 00:33:32that went the best but in terms of
- 00:33:33enticing me to switch like if I didn't
- 00:33:36have to switch it's that it's like if
- 00:33:38someone came out with a really amazing
- 00:33:41uh real Vector programming language uh I
- 00:33:44would I would seriously consider it okay
- 00:33:47well it's good to know all right all
- 00:33:48right I I like this discussion thank you
- 00:33:50for talking me through some languages
- 00:33:51and just thoughts about it uh you know
- 00:33:54may you know maybe maybe I I'll have to
- 00:33:56do some thinking but
- 00:33:58I got a little bit of time because I
- 00:33:59want to finish up my my my dumb idea and
- 00:34:02then I have to finish up an HTP course
- 00:34:05and then it's time to choose and
- 00:34:07read yeah I I mean can you do a little
- 00:34:10experimentation first I guess maybe you
- 00:34:12already have I I did two months of
- 00:34:14playing around with Zig last year just
- 00:34:16kind of built a a quick game built a
- 00:34:18tower defense in it and never got to the
- 00:34:20metaprogramming side of it and I was
- 00:34:22just like oh you know there's some
- 00:34:23things I really like about this language
- 00:34:25there's some really neat things can you
- 00:34:27do this the same with Odin perhaps first
- 00:34:29and like give that a month of testing or
- 00:34:31something like like maybe try just a
- 00:34:33little bit uh and then you can make a a
- 00:34:36decision I mean you could even do that
- 00:34:37with ji if John was okay with it I guess
- 00:34:39if he wants someone who's definitely
- 00:34:40going to use it I guess that doesn't
- 00:34:41count but you know it would might be
- 00:34:43interesting just do a little test in
- 00:34:45each and then just pick the one you
- 00:34:46enjoyed the most yeah yeah that might
- 00:34:48that might be the way to go I am curious
- 00:34:50like if if Jay do you by the way do you
- 00:34:52call it J AI or is it J or is it
- 00:34:56J I have no idea uh and I I one of the
- 00:35:01things that is true about John is that
- 00:35:04he uh for some
- 00:35:06reason I think I'll use the word almost
- 00:35:11religiously opposed to name
- 00:35:15fetishizing and so he's like the
- 00:35:19language is just the language I'm
- 00:35:20working on like like to the extent that
- 00:35:22if he just couldn't have if he could
- 00:35:23have called it nothing at all he would
- 00:35:25have and only give it a name when it's
- 00:35:27completely done that is that is John
- 00:35:30right and so uh I don't even know if
- 00:35:33I've ever heard him say the
- 00:35:36name oh interesting okay I I I honestly
- 00:35:41maybe he has but I don't know if he has
- 00:35:44uh now that I think about it like have I
- 00:35:46actually heard him say it himself so I
- 00:35:48have no idea J J AI ji probably I mean
- 00:35:54so here's the thing I will say John and
- 00:35:58me are both uh fans of uh what's his
- 00:36:01name Michael ji Williams the guy who who
- 00:36:03did like Black Dynamite uh then Black
- 00:36:05Dynamite was a was one of the best shows
- 00:36:08if it if it's that's the one where the
- 00:36:10white man is trying to get to shrink the
- 00:36:13[ __ ] eyes yeah and and and uh it has so
- 00:36:17many good scenes it has so many good
- 00:36:19scenes in it uh it's basically a black
- 00:36:21exploitation parody uh and he's the lead
- 00:36:24he's the lead okay um and uh and so I I
- 00:36:28would say like it you couldn't go wrong
- 00:36:30by pronouncing it the same way he
- 00:36:31pronounces his middle name so maybe
- 00:36:33maybe just go with that because John
- 00:36:36would John can't object to that I would
- 00:36:38say okay I didn't realize that JN also
- 00:36:40liked Black Dynamite that was yes oh
- 00:36:43that hey you know I just I feel a little
- 00:36:44bit more akin to the guy now now that I
- 00:36:46now that I know that yes he loves it and
- 00:36:50and uh as do I we we were we watched it
- 00:36:52together in fact uh if I remember
- 00:36:55remember correctly at least I think we
- 00:36:56did I it's been a long time uh I had
- 00:37:00seen it once for some reason I don't I
- 00:37:01think I I don't know I found out about
- 00:37:03it at like a maybe a a uh film festival
- 00:37:07or something I don't remember and I was
- 00:37:08like oh my God a a black sedition parody
- 00:37:11that sounds great and of course I
- 00:37:12watched it I was like massively overd
- 00:37:14delivered so you know yeah which is
- 00:37:16great we can't but now we're overd
- 00:37:18delivering it's overd delivering and so
- 00:37:19now someone might watch it become
- 00:37:21disappointed okay sorry uh yeah sorry
- 00:37:25guys uh I didn't mean to do that yeah it
- 00:37:28it's okay it's
- 00:37:30mid I don't know it's mid maybe as taken
- 00:37:33as a whole movie but certain scenes in
- 00:37:36that movie are still some of my most
- 00:37:38hilarious scenes like that I laugh so
- 00:37:40hard at uh so I don't know like it's
- 00:37:44it's mid as a whole I Wasing it in
- 00:37:49sections it is truly excellent that's
- 00:37:52what I'll say all right awesome okay
- 00:37:56well that was fun thank you
- Programming Languages
- Metaprogramming
- Rust
- Go
- Zig
- Odin
- Jai
- Future Planning
- C++
- Open Source