Picking A Language In 2025

00:37:58
https://www.youtube.com/watch?v=xTgO6PpMnhk

Ringkasan

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.

Takeaways

  • 🤔 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.

Garis waktu

  • 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.

Tampilkan lebih banyak

Peta Pikiran

Video Tanya Jawab

  • 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.

Lihat lebih banyak ringkasan video

Dapatkan akses instan ke ringkasan video YouTube gratis yang didukung oleh AI!
Teks
en
Gulir Otomatis:
  • 00:00:00
    all right so I guess we should should
  • 00:00:02
    should we start our first little talk
  • 00:00:03
    here yeah cuz I like I said I don't know
  • 00:00:05
    how long these are going to go and the
  • 00:00:07
    Fortran thing might be one of those ones
  • 00:00:09
    that takes us like an hour and a half or
  • 00:00:11
    something so we might want to do it as a
  • 00:00:12
    separate thing I don't know so I wanted
  • 00:00:14
    to you you sounded like you were having
  • 00:00:16
    like an existential crisis or something
  • 00:00:18
    the way you described it in the Twitter
  • 00:00:20
    message you know what I mean I I I am
  • 00:00:22
    crisis right now which is that okay so
  • 00:00:25
    I'm G I'm going to I'm going to give you
  • 00:00:26
    some facts here K yeah I I felt like
  • 00:00:29
    this was important like this was this
  • 00:00:30
    was like an emotional like uh this was
  • 00:00:34
    we need to do emotional processing you
  • 00:00:35
    know like we need to we need to you know
  • 00:00:38
    you know it's it's still guy stuff you
  • 00:00:39
    know I mean I'm not not say you know but
  • 00:00:41
    but it's some emotional processing here
  • 00:00:43
    I I I'm not afraid of a little emotional
  • 00:00:45
    processing you know yeah we I'm
  • 00:00:47
    comfortable with my masculinity and we
  • 00:00:48
    need to process some emotions right now
  • 00:00:50
    okay so I I'm going to tell you my
  • 00:00:52
    problem here okay it's that often when
  • 00:00:55
    I'm building things I build things such
  • 00:00:58
    that I have to do several rounds trips
  • 00:01:00
    to various internet
  • 00:01:02
    services so okay you know like having to
  • 00:01:05
    aggregate a bunch of twitch chat
  • 00:01:06
    together say record my audio put those
  • 00:01:10
    together decode audio via a whisper take
  • 00:01:14
    twitch chat and get you know chat jippy
  • 00:01:16
    to start kind of organizing it like this
  • 00:01:18
    is one thing I'm building right now and
  • 00:01:19
    then combining those two results to turn
  • 00:01:21
    like to to distill it into a final voice
  • 00:01:24
    reading that's going to be chat jippy
  • 00:01:27
    reacting based on what I said and how
  • 00:01:29
    twitch chat felt about it and so it's
  • 00:01:31
    like whenever and you know a lot of
  • 00:01:32
    projects are going to kind of fall under
  • 00:01:34
    this this type of scope which is just
  • 00:01:36
    like a lot of just asynchronous
  • 00:01:37
    requesting type stuff and so I want to
  • 00:01:40
    pick a new language of the Year
  • 00:01:43
    2025 okay uh I did rust for two years I
  • 00:01:46
    did go for one year I made a video about
  • 00:01:49
    how I think I will never program rust
  • 00:01:50
    again uh people hated that uh but you
  • 00:01:54
    know really my my whole reason is just
  • 00:01:55
    like I just don't like programming in
  • 00:01:57
    Rust like that's it you know all
  • 00:01:59
    technicalities side when I see really
  • 00:02:00
    nice rust I go wow that's really nice
  • 00:02:02
    that's like really cool like I love what
  • 00:02:03
    you can do in it I don't want to do it
  • 00:02:05
    uh and so I'm trying to think about this
  • 00:02:07
    thing and it's just it feels like I'm in
  • 00:02:08
    emotional crisis mode because it's like
  • 00:02:10
    do I continue with go which is just not
  • 00:02:13
    that great of a language like by all
  • 00:02:15
    objective measures go is not fantastic
  • 00:02:17
    it has just lots of like foot guns but
  • 00:02:20
    it's extremely productive language and
  • 00:02:22
    you can effectively build anything you
  • 00:02:24
    want in it uh very easily especially if
  • 00:02:26
    you have to go like if you need to go
  • 00:02:27
    listen to two things at once for a short
  • 00:02:29
    period time and then come back green
  • 00:02:31
    threads are fantastic right because
  • 00:02:33
    you're just like go do your thing and
  • 00:02:34
    then when I say you're done you're done
  • 00:02:35
    and we come back and we're all fantastic
  • 00:02:37
    you know it just feels really easy and
  • 00:02:39
    so I love I love the experience of a
  • 00:02:41
    runtime because they just make that type
  • 00:02:44
    of behavior super simple and so it's
  • 00:02:46
    like do I continue with go or do I
  • 00:02:48
    explore a language that isn't go and I
  • 00:02:51
    kind of feel like I need to master one
  • 00:02:53
    metaprogramming language experience like
  • 00:02:55
    I need to actually become good at macros
  • 00:02:58
    of some sort and so I've kind of been
  • 00:03:01
    narrowing down Zig as the option because
  • 00:03:03
    its macro system is comp time which
  • 00:03:05
    means it's just Zig that's executed at
  • 00:03:07
    compile time to produce Zig so it's not
  • 00:03:09
    like some you know it's not like uh
  • 00:03:11
    what's called c-based pre-processor
  • 00:03:13
    macros so it's not like a separate
  • 00:03:14
    language you're learning or it's not
  • 00:03:15
    like rusts two different macro systems
  • 00:03:17
    both declarative and procedural right
  • 00:03:19
    it's it's just one it's just Zig so it's
  • 00:03:22
    just Zig that makes Zig if you want to
  • 00:03:24
    go down the comp time so you actually
  • 00:03:25
    program something that looks like
  • 00:03:26
    reflection and then it compiles that
  • 00:03:29
    from refle C just generates the 3 10 18
  • 00:03:31
    functions that you actually used by
  • 00:03:33
    calling a bunch of times so it's a very
  • 00:03:36
    interesting and compelling thing also
  • 00:03:37
    Oden uh I think Ginger Bill's here I
  • 00:03:39
    think I saw Ginger bill in the chat
  • 00:03:41
    several times Ginger Bill awesome guy
  • 00:03:43
    and so Odin also I believe has
  • 00:03:45
    metaprogramming as well sounds very
  • 00:03:46
    exciting Elixir has metaprogramming as
  • 00:03:48
    well uh all sound really really good and
  • 00:03:50
    so I'm kind of just stuck in this idea
  • 00:03:52
    of what what do I choose to Specialty in
  • 00:03:54
    because I was going a specialty in Rust
  • 00:03:56
    but I I just found myself getting
  • 00:03:58
    progressively more frustrated with it
  • 00:03:59
    and I just feel like I'm in a free fall
  • 00:04:01
    emotionally because go is not a a deep
  • 00:04:04
    language go is a language you can learn
  • 00:04:05
    in a a couple weeks and be productive
  • 00:04:08
    really really fast I just kind of miss
  • 00:04:10
    you know Miss the days of something that
  • 00:04:11
    has a little bit more depth to
  • 00:04:14
    it so I guess what I would say uh
  • 00:04:19
    is my meta feedback on that is it's
  • 00:04:21
    unfortunate that you have to be choosing
  • 00:04:23
    this now and the reason that I say that
  • 00:04:26
    is because I feel like now is not a
  • 00:04:28
    fantastic time to have have to be
  • 00:04:30
    choosing a language because you know
  • 00:04:32
    from my perspective I feel like actually
  • 00:04:36
    getting proficient in a language takes
  • 00:04:38
    quite some time learning a language is
  • 00:04:40
    not so hard you could do that in an
  • 00:04:42
    afternoon depending on the language but
  • 00:04:44
    actually learning how to program that
  • 00:04:46
    language well takes quite a bit of time
  • 00:04:49
    and that's especially true I think the
  • 00:04:51
    better the better programmer you are the
  • 00:04:54
    more true that is because most resources
  • 00:04:57
    made in most programming languages by
  • 00:04:59
    most people will be mid that's just how
  • 00:05:02
    it is that's te so what you will see
  • 00:05:05
    yeah what you will see when you go look
  • 00:05:06
    up how to do something in rust or
  • 00:05:09
    whatever is going to be the mid version
  • 00:05:11
    of that thing and so usually if you're
  • 00:05:15
    if you're a good programmer you're even
  • 00:05:17
    at a bigger disadvantage because it
  • 00:05:19
    means oh if I learn to program rust and
  • 00:05:22
    I want to do rust or whatever I'm also
  • 00:05:25
    now going to have to spend the time of
  • 00:05:28
    being sort of an innovator to figure out
  • 00:05:31
    what are the great ways to do these
  • 00:05:32
    kinds of things in Rust because probably
  • 00:05:34
    people haven't actually figured that out
  • 00:05:36
    yet right um and so there's a lot of
  • 00:05:40
    that kind of thing which is really a
  • 00:05:42
    problem for uh you know looking at a
  • 00:05:46
    language like I'm gonna this is going to
  • 00:05:47
    be a big investment right and right now
  • 00:05:50
    there are so many of these new really
  • 00:05:53
    Qui sorry what can I rephrase it really
  • 00:05:55
    quickly what you're what what you're
  • 00:05:56
    saying just so I understand this
  • 00:05:58
    correctly is that
  • 00:06:00
    uh obviously syntactical learning is
  • 00:06:01
    very very simple uh when you use go for
  • 00:06:03
    the first time say you're coming from
  • 00:06:05
    JavaScript it's very very simple or
  • 00:06:06
    you're going from rust from Zig to go or
  • 00:06:08
    any of these language transitions you
  • 00:06:10
    try to use the you try to use that
  • 00:06:12
    language the way you're used to using a
  • 00:06:14
    language and then you find out that you
  • 00:06:15
    just run into a lot of problems so what
  • 00:06:17
    you're trying to say is that experience
  • 00:06:19
    obviously the the harder a language or
  • 00:06:20
    the more deep a language is the more
  • 00:06:22
    experience it takes to really be fully
  • 00:06:24
    good at that
  • 00:06:26
    language and also the better you wish to
  • 00:06:29
    be I guess the other part there's more
  • 00:06:31
    opportunity for being good at the
  • 00:06:32
    language like i' I can't really get much
  • 00:06:34
    better at go because there's not
  • 00:06:36
    anything I can really be good at it's
  • 00:06:38
    just procedural it's like dude I could
  • 00:06:40
    if and for and go like that true right
  • 00:06:43
    but even if you take a thing like uh you
  • 00:06:45
    know if you take Assembly Language right
  • 00:06:47
    which is the most procedural thing
  • 00:06:49
    there's nothing in it right there is you
  • 00:06:51
    can use a macro assembler hopefully you
  • 00:06:53
    will right but it's not that uh powerful
  • 00:06:56
    otherwise it's like you could still you
  • 00:06:58
    could spend a decade becoming a good
  • 00:07:00
    Assembly Language programmer learning
  • 00:07:02
    all of the ways to do things right uh
  • 00:07:05
    and so some of that translates language
  • 00:07:07
    to language some of it doesn't and to
  • 00:07:10
    your point the more complicated the
  • 00:07:13
    language is in terms of features that it
  • 00:07:15
    offers you the more space there is to
  • 00:07:18
    explore there the more possibility that
  • 00:07:20
    something you haven't tried playing
  • 00:07:21
    around with yet if you got good at it
  • 00:07:24
    would be a better way to do whatever
  • 00:07:26
    you're doing than what you were
  • 00:07:27
    currently doing so it just compounds
  • 00:07:30
    and so part of the thing that I think is
  • 00:07:33
    really bad about choosing a language
  • 00:07:35
    currently is that there's so much new
  • 00:07:38
    language development going on right now
  • 00:07:39
    which is good for the future like that's
  • 00:07:41
    not a bad thing but it means that it's
  • 00:07:46
    not a great time to make that choice you
  • 00:07:49
    don't really know where all these
  • 00:07:51
    languages are going you don't really
  • 00:07:53
    know how good the tooling will be for
  • 00:07:54
    each of them in the future you don't
  • 00:07:56
    know how widely they'll be adopted or if
  • 00:07:58
    they'll be abandoned or whatever else
  • 00:08:00
    right and you end up in this situation
  • 00:08:03
    where you are sort of taking on an
  • 00:08:06
    additional burden that you won't be 10
  • 00:08:09
    years from now right you are you are one
  • 00:08:12
    of the people doing the work of
  • 00:08:15
    determining which of these languages is
  • 00:08:16
    good and which of these languages Will
  • 00:08:18
    Survive that's extra work which maybe is
  • 00:08:21
    fine and maybe you want to do it but I
  • 00:08:23
    just wanted to say before we start
  • 00:08:24
    talking about this like a meta point
  • 00:08:26
    which is just one of the reasons I
  • 00:08:28
    haven't really been doing anything in
  • 00:08:30
    these languages or experimenting with
  • 00:08:31
    them is because I'm just like I don't
  • 00:08:34
    feel like I really want to spend that
  • 00:08:36
    time now I would rather let this shake
  • 00:08:39
    out more and look at it five years from
  • 00:08:41
    now and then be like okay which language
  • 00:08:44
    am I going to switch to because I only
  • 00:08:45
    want to switch once away from you know C
  • 00:08:48
    assuming these languages are better
  • 00:08:50
    enough I don't want to be switching
  • 00:08:52
    every well as you say you're you're
  • 00:08:54
    tired of it probably right yeah yeah
  • 00:08:56
    because I I I did you know a decade plus
  • 00:08:59
    of having to build a lot of web apps and
  • 00:09:01
    so a lot of JavaScript Java C++ that
  • 00:09:04
    kind of stuff and so it's like I I want
  • 00:09:05
    I just want to a freshen up that's why
  • 00:09:07
    the whole go rust Zig thing is is just
  • 00:09:09
    like looking to the Future what is going
  • 00:09:10
    to be a very amazing experience and
  • 00:09:13
    obviously go very great one to have in
  • 00:09:14
    your tool bag but I don't think you need
  • 00:09:16
    I don't think you need an aggressively
  • 00:09:18
    large amount of experience to be pretty
  • 00:09:20
    dang good at it so I'm like okay so this
  • 00:09:22
    one is one that I can just always have
  • 00:09:23
    available I need to build an
  • 00:09:24
    asynchronous service bing boom boom boom
  • 00:09:26
    boom I got it down like I'll just throw
  • 00:09:28
    go in there and so I kind of I'm looking
  • 00:09:30
    for that a nice kind of like the the
  • 00:09:32
    fast the high-end language if you will
  • 00:09:34
    the the Porsche of languages and I don't
  • 00:09:36
    want to do C++
  • 00:09:38
    again yeah well that C++ is a terrible
  • 00:09:41
    language obviously and I would never
  • 00:09:44
    recommend anyone use it for anything
  • 00:09:46
    right like like c i I think is kind of
  • 00:09:50
    remarkable and that you can still be
  • 00:09:51
    very productive in C to this day uh C++
  • 00:09:54
    I will never understand the people who
  • 00:09:56
    defend it I really don't I'm sorry
  • 00:09:57
    everyone out there I know there's people
  • 00:09:59
    who will be so sad and mad at me for
  • 00:10:02
    saying this but I literally will never
  • 00:10:04
    understand why anyone likes that
  • 00:10:06
    language it is so bad it just has it it
  • 00:10:11
    has so many features and all of them are
  • 00:10:14
    bad like they all don't quite do what
  • 00:10:17
    you actually need them to do and and
  • 00:10:19
    it's almost like a head scratcher like
  • 00:10:20
    how did you manage to add this many
  • 00:10:23
    things to the language and 99% of them
  • 00:10:27
    are critically broken it's almost like a
  • 00:10:28
    winning streak or well I guess it's a
  • 00:10:31
    losing streak an unbroken and and uh a
  • 00:10:34
    Guinness record long language losing
  • 00:10:36
    streak that they've been having for 30
  • 00:10:38
    years and they just show no signs of
  • 00:10:40
    breaking and I'm just like that's
  • 00:10:41
    remarkable so uh so yeah no I am 100% in
  • 00:10:45
    support of just like I think people see
  • 00:10:47
    an assembly language are two things I
  • 00:10:49
    think everyone should learn uh Assembly
  • 00:10:51
    Language not to write but just to read
  • 00:10:54
    and see to write because I think it's
  • 00:10:56
    sort of a mother language at this point
  • 00:10:57
    it's just good and it's not hard right
  • 00:10:59
    there's not a lot to see uh you can
  • 00:11:01
    learn it quickly I think those are good
  • 00:11:03
    languages to know but C++ is just it's
  • 00:11:05
    useless so I also have a r that if you
  • 00:11:07
    can't read the standard Library I have a
  • 00:11:10
    I I'm highly suspicious of the language
  • 00:11:13
    like that's just one of my things is
  • 00:11:14
    that if I go to definition and I can't
  • 00:11:16
    just go oh yeah there's some things I
  • 00:11:18
    will never understand about like extra
  • 00:11:20
    you know like you know whatever they put
  • 00:11:22
    those things up directives on the top of
  • 00:11:23
    stuff that are just like you know
  • 00:11:25
    they're highly optimized I get it I
  • 00:11:26
    won't understand all the things but this
  • 00:11:28
    is insane like when you look at the
  • 00:11:30
    standard definition of anything inside
  • 00:11:31
    C++ it's like I cannot read this code I
  • 00:11:34
    don't know what's happening or why it's
  • 00:11:36
    happening but it's actually just it's
  • 00:11:39
    Bonkers so
  • 00:11:41
    uh I guess what I would say is from your
  • 00:11:44
    perspective then you're saying I just
  • 00:11:46
    want to make sure I got this right so
  • 00:11:49
    from your perspective you are like I
  • 00:11:52
    need to choose a language for next year
  • 00:11:54
    so so I don't I don't have the luxury of
  • 00:11:56
    waiting around or just being a diletant
  • 00:11:59
    in a few languages for year it's like I
  • 00:12:01
    I want to actually pick a language for
  • 00:12:03
    next year this is a requirement and I'm
  • 00:12:05
    going to program fairly seriously in
  • 00:12:06
    that language and that's just what's
  • 00:12:08
    happening so the hand is forced let me
  • 00:12:11
    let me say it this way is that due to my
  • 00:12:13
    quote unquote content creation status I
  • 00:12:15
    want to investigate a language in a more
  • 00:12:17
    thorough Manner and then okay kind of
  • 00:12:20
    explain how how it makes me feel at the
  • 00:12:22
    end of the whole thing you know like I
  • 00:12:23
    did like I said I did multiple years in
  • 00:12:24
    Rust and then quit it for a while and
  • 00:12:27
    then went back and went yeah I really I
  • 00:12:28
    still feel like I don't think this is
  • 00:12:31
    just like I'm sure there's a great use
  • 00:12:32
    case for rust that that does exist
  • 00:12:34
    that's just absolutely phenomenal and
  • 00:12:35
    I'm sure a lot of things with the
  • 00:12:36
    operating systems and security and all
  • 00:12:38
    that probably wen't having such a harder
  • 00:12:40
    language maybe uh you could probably
  • 00:12:42
    convince me or sell me on those kind of
  • 00:12:43
    things I'm just saying hey you can sell
  • 00:12:45
    me on memory safety on these kind of
  • 00:12:46
    things but it's just like it's just
  • 00:12:48
    something I find zero joy in and I think
  • 00:12:51
    that's a very important part of
  • 00:12:52
    programming is also just liking the
  • 00:12:54
    thing itself and so it's like okay
  • 00:12:56
    there's there's something there I just
  • 00:12:57
    like go I think it's a I think it's like
  • 00:13:00
    the worst language ever but I'm like I
  • 00:13:02
    actually kind of like I like it you know
  • 00:13:04
    it's like my boy go yeah he's like a
  • 00:13:06
    little deficient but you know it's good
  • 00:13:08
    uh you know even JavaScript I hate the
  • 00:13:10
    language but I'm like you know you can
  • 00:13:11
    get a lot of stuff done in
  • 00:13:13
    JavaScript well that was part of the
  • 00:13:15
    thing I was going to ask too about that
  • 00:13:17
    is that like one of the problems with a
  • 00:13:19
    lot of these new languages is their you
  • 00:13:22
    know their use cases are not your use
  • 00:13:25
    case either right like yeah most of what
  • 00:13:27
    the people who are working on these
  • 00:13:28
    langu angues are thinking about is not
  • 00:13:31
    how do I aggregate a bunch of web
  • 00:13:33
    services together to do stuff which is
  • 00:13:35
    what you're saying is going to be a core
  • 00:13:37
    requirement and so I mean I'm sure they
  • 00:13:40
    all have you know curl equivalent crap
  • 00:13:43
    in them right and presumably a Json
  • 00:13:45
    parser or something but yeah I guess
  • 00:13:48
    yeah I mean will they will they be as
  • 00:13:51
    good as go for that kind of thing and
  • 00:13:53
    the answer is like uh that part I don't
  • 00:13:55
    really know because maybe they are you
  • 00:13:58
    know maybe
  • 00:13:59
    but maybe they're not because go that's
  • 00:14:01
    all they were doing with that you know I
  • 00:14:03
    mean like that seems like all it's for
  • 00:14:05
    right yeah um so I do think that part is
  • 00:14:09
    a risk and maybe one thing you could do
  • 00:14:10
    is check out uh that part maybe do a
  • 00:14:14
    little round robin of like how good is
  • 00:14:16
    the web services part of these languages
  • 00:14:19
    like how much it's not really a language
  • 00:14:21
    thing so much but like the standard
  • 00:14:23
    library or what libraries are available
  • 00:14:25
    uh do those look robust enough or am I
  • 00:14:28
    going to spend you know is your whole
  • 00:14:29
    next year going to be like I had to
  • 00:14:31
    write rewrite the https layer for you
  • 00:14:34
    know whatever the languages I picked
  • 00:14:36
    that's not going to be a fun time I mean
  • 00:14:38
    maybe it is but you know it's that's a
  • 00:14:40
    that's a thing the other thing I was
  • 00:14:42
    going to mention is uh if if meta
  • 00:14:44
    programming is something that interests
  • 00:14:45
    you unfortunately that does mean
  • 00:14:47
    probably get on the J beta I mean
  • 00:14:49
    they've had the most uh impressive
  • 00:14:51
    metaprogramming stuff I've seen
  • 00:14:53
    consistently by far uh and so it feels
  • 00:14:56
    like if metaprogramming is your thing
  • 00:14:58
    you're going to want J that's kind of
  • 00:15:00
    just how it is so I don't know we that
  • 00:15:03
    that might be what you would want I
  • 00:15:05
    don't know I did I did TW I I did make
  • 00:15:07
    some tweets about kind of just like this
  • 00:15:09
    language conundrum I'm in and J blow did
  • 00:15:12
    send me an email saying if I want in I
  • 00:15:14
    can get in he just he just wants to make
  • 00:15:16
    sure it's somebody that's going to use
  • 00:15:17
    the language that gets in and so it's
  • 00:15:19
    like I want to use it but I know it's
  • 00:15:20
    also very game oriented and so I also
  • 00:15:22
    want to make sure it's it's it's a
  • 00:15:24
    language that I I I mean I do actually
  • 00:15:26
    want to write some some games this year
  • 00:15:27
    like that would be the whole point is to
  • 00:15:28
    try to figure out something really wild
  • 00:15:30
    to write in it and uh and so maybe like
  • 00:15:33
    maybe that is a good one so that they
  • 00:15:34
    have a really good
  • 00:15:36
    metaprogramming side to it I mean a at
  • 00:15:39
    the risk of of uh pissing off some
  • 00:15:42
    people who will probably complain about
  • 00:15:44
    like no Nim had it or something like
  • 00:15:46
    there there's people who will get mad at
  • 00:15:47
    me saying this but basically as far as
  • 00:15:50
    I'm concerned ji basically like John
  • 00:15:53
    invented modern Med programming like the
  • 00:15:55
    system he designed is what most
  • 00:15:59
    languages now have a not as good copy of
  • 00:16:02
    uh so basically like you know and that
  • 00:16:05
    includes c++'s like they have like
  • 00:16:07
    Circle and those sorts of things that
  • 00:16:08
    they were doing but like John was kind
  • 00:16:10
    of a Trailblazer there going like how do
  • 00:16:12
    we actually make it so that this works
  • 00:16:14
    robustly so that you can actually have
  • 00:16:17
    you know recursive metaprogramming
  • 00:16:19
    happening so your meta programs can you
  • 00:16:20
    know uh continue to generate things
  • 00:16:23
    which then feed back into the language
  • 00:16:24
    properly and all that sort of stuff uh
  • 00:16:27
    and it was really impressive of what he
  • 00:16:29
    did and so he was kind of first out of
  • 00:16:31
    that and I have not seen anyone take it
  • 00:16:33
    as seriously as he's taken it still uh
  • 00:16:37
    which is not to be a knock on the other
  • 00:16:39
    languages that have it uh because I
  • 00:16:42
    think it's good for languages to have
  • 00:16:44
    these things but if you're talking about
  • 00:16:47
    metaprogramming I still have not seen
  • 00:16:48
    anyone take it as seriously as ji has
  • 00:16:50
    it's a very powerful metaprogramming
  • 00:16:53
    system uh and you
  • 00:16:56
    know that's probably where you would
  • 00:16:58
    want to if that's what you were looking
  • 00:17:00
    at right yeah cuz that's kind of one of
  • 00:17:01
    my things is I want a I want a language
  • 00:17:03
    that could be very useful in the next 10
  • 00:17:05
    years and I also want
  • 00:17:08
    metaprogramming I I would I would try it
  • 00:17:11
    I would try it uh and I think one
  • 00:17:13
    another reason that that might be good
  • 00:17:16
    is because uh it might be nice for them
  • 00:17:19
    to get feedback on web use cases more uh
  • 00:17:23
    because you know that it is true that
  • 00:17:25
    like I said I think a lot of these
  • 00:17:27
    languages are not super Webby and uh so
  • 00:17:31
    I know there are web people who are
  • 00:17:33
    using J in that beta uh but yeah I don't
  • 00:17:37
    know and I guess the same would go for
  • 00:17:39
    you had mentioned Odin and ginger billis
  • 00:17:41
    here I don't know how much testing they
  • 00:17:43
    get of that sort of thing I mean you can
  • 00:17:45
    look Odin has some pretty cool stuff
  • 00:17:47
    written in it like that embergen thing
  • 00:17:49
    that was sort of its original uh project
  • 00:17:51
    looks awesome right it's very
  • 00:17:54
    professional uh and uh you know so I
  • 00:17:58
    feel like
  • 00:17:59
    there's very clear demonstrations that
  • 00:18:01
    these languages are can be
  • 00:18:03
    made good things can be made in some of
  • 00:18:06
    these languages and I've seen examples
  • 00:18:07
    of that right I don't actually know very
  • 00:18:10
    much though about that web part like I
  • 00:18:12
    don't know how many people are doing
  • 00:18:13
    things like hey I I need to integrate
  • 00:18:15
    twitch chat and ping and this and that
  • 00:18:17
    and I'm going to pull them all together
  • 00:18:19
    to do this thing I don't know how much
  • 00:18:21
    any of these languages have really had
  • 00:18:23
    that uh be pushed yeah right yeah so I
  • 00:18:28
    think think that's that that's probably
  • 00:18:30
    fair in any of these and I also know
  • 00:18:31
    that I'm slightly barking up the wrong
  • 00:18:33
    tree it's just that I I like this tree
  • 00:18:35
    particular cuz I did you know one of my
  • 00:18:37
    early times in programming my first
  • 00:18:39
    couple years were spent programming C
  • 00:18:42
    and I just really enjoyed that time I
  • 00:18:44
    always enjoyed the experience of
  • 00:18:45
    programming C even though it was It was
  • 00:18:47
    obviously very easy to feel confident
  • 00:18:50
    and then to unfe confident and realize
  • 00:18:53
    you know nothing often uh as simple as
  • 00:18:56
    the language was it was also extremely
  • 00:18:58
    difficult and so it's just it was a very
  • 00:19:00
    I I always enjoyed that and I always
  • 00:19:02
    kind of looked back on that as like a
  • 00:19:03
    really great time and so I've been
  • 00:19:05
    wanting to kind of find the next one
  • 00:19:06
    where I can really do that and I was
  • 00:19:07
    really hoping rust honestly I just
  • 00:19:09
    really hoped that rust was going to be
  • 00:19:10
    that and then I just realized I just did
  • 00:19:12
    not it just it was not that and so I I
  • 00:19:15
    talked to Ginger too and he he of course
  • 00:19:17
    as people tell me he's the N he's the
  • 00:19:19
    first person to tell you you shouldn't
  • 00:19:21
    use his language because it doesn't
  • 00:19:23
    quite meet H his like high expectation
  • 00:19:25
    of exactly what should be done for you
  • 00:19:27
    and so he's always like well the HP
  • 00:19:29
    stuff is not quite 100% ready you still
  • 00:19:30
    have to use third party module so I
  • 00:19:32
    don't think you should use it because we
  • 00:19:33
    don't we haven't we haven't adopted the
  • 00:19:34
    official you know on brand HTP stuff and
  • 00:19:37
    so it's just like well okay maybe maybe
  • 00:19:39
    I hear you but you know that's also good
  • 00:19:42
    that there's third party stuff like
  • 00:19:43
    third party is not a bad you know is is
  • 00:19:45
    a good sign as well well I I actually
  • 00:19:48
    really appreciate that approach uh
  • 00:19:50
    Bill's approach is very refreshing right
  • 00:19:52
    and it makes it easy to support his
  • 00:19:54
    language too because you don't
  • 00:19:56
    constantly have 800,000 Odin people in
  • 00:19:59
    your feed complaining that you didn't
  • 00:20:01
    use Odin because they just took a nice
  • 00:20:03
    approach which is like we're not going
  • 00:20:04
    to oversell this like we're going to
  • 00:20:06
    keep working on it and right I hate the
  • 00:20:08
    overselling overselling uh the reason I
  • 00:20:11
    hate it so much is because it's where
  • 00:20:13
    C++ came from C++ was basically a
  • 00:20:17
    language where you know you had a guy
  • 00:20:20
    Barna St strip who is very motivated to
  • 00:20:23
    have his language be adopted to the
  • 00:20:26
    point where there are actually anecdotes
  • 00:20:28
    of like some of the people originally
  • 00:20:30
    involved in working on
  • 00:20:32
    C back at Bell Labs were like you know
  • 00:20:35
    we don't think this is very good there's
  • 00:20:37
    a bunch of things about this that you
  • 00:20:38
    wouldn't and he was like angry with them
  • 00:20:41
    and it's like this will hurt the
  • 00:20:42
    adoption of C++ if you say these things
  • 00:20:44
    like don't say these things right having
  • 00:20:46
    adoption as a goal and pushing adoption
  • 00:20:49
    while that may be necessary at some
  • 00:20:51
    point when your language is really good
  • 00:20:54
    doing it early is how we got C++ and and
  • 00:20:58
    that's just bad like stop overselling
  • 00:21:00
    and and so when I hear if I hear a
  • 00:21:01
    language designer out there or members
  • 00:21:04
    of a language Community pushing
  • 00:21:06
    something and I've looked at that
  • 00:21:07
    language and I know it's not very good
  • 00:21:09
    yet right I get pretty grumpy about that
  • 00:21:12
    and I I kind of understand why they're
  • 00:21:13
    doing it because I know that you know
  • 00:21:15
    sometimes you need momentum for this
  • 00:21:16
    project if you're relying on like open-
  • 00:21:18
    Source contributions or something you
  • 00:21:20
    need to get people involved in it or it
  • 00:21:21
    won't go but at the same time it's like
  • 00:21:25
    that is a very bad thing because when
  • 00:21:27
    you prioritize adoption like that what
  • 00:21:29
    you'll probably end up with is a bad
  • 00:21:31
    language that is widely used that's what
  • 00:21:33
    we got with C++ and that was really bad
  • 00:21:35
    and so uh I like the approach that that
  • 00:21:38
    bill took with Odin of not pushing it
  • 00:21:40
    aggressively not overselling it not
  • 00:21:42
    going out there and just saying whatever
  • 00:21:44
    it takes to try and get people to use it
  • 00:21:46
    and also not being delusional about the
  • 00:21:47
    language I've seen a lot of that where
  • 00:21:49
    people make claims about a language that
  • 00:21:51
    aren't true because they're overzealous
  • 00:21:53
    about it and that's bad too ji same
  • 00:21:56
    thing John was like this is staying
  • 00:21:57
    closed do for a while we're doing beta
  • 00:21:59
    for a while until I am sure that this is
  • 00:22:02
    good and solid because it's going to
  • 00:22:04
    start like once it starts getting
  • 00:22:05
    adopted you get lock in you have to
  • 00:22:07
    start prioritizing other things and like
  • 00:22:09
    I don't want that I love those
  • 00:22:11
    approaches I think they're going to
  • 00:22:12
    result in better languages in the long
  • 00:22:13
    run so I have positive things to say
  • 00:22:15
    about them uh but yeah so that said I
  • 00:22:19
    just don't know how good they are at
  • 00:22:21
    things like web yet and so that would be
  • 00:22:23
    an interesting thing for you to assess
  • 00:22:25
    uh because you are exactly uh the
  • 00:22:27
    programmer who could probably assess
  • 00:22:28
    something like that that's like your
  • 00:22:29
    bread and butter and you would know like
  • 00:22:31
    ah this you know this isn't done very
  • 00:22:33
    well here maybe can we do something
  • 00:22:35
    better uh that would be a very
  • 00:22:36
    interesting thing I would I would like
  • 00:22:38
    to see that personally um yeah well I
  • 00:22:40
    just feel like it's also it's just fun
  • 00:22:41
    to like you know I get the opportunity
  • 00:22:43
    to explore these things so I might as
  • 00:22:44
    well explore a language that has you
  • 00:22:47
    know high potential and and still is in
  • 00:22:49
    its more Early times that's why you know
  • 00:22:50
    Zig again is very uh appealing is
  • 00:22:53
    because you know it's been adopted by
  • 00:22:54
    bun now so bun obviously runs a lot of
  • 00:22:57
    yavas script uh ghosty tiger beetle uh
  • 00:23:00
    there's some other I think there's some
  • 00:23:01
    other bigger ones that I I'm forgetting
  • 00:23:03
    right now but those are like pretty dang
  • 00:23:04
    big projects and they all speak
  • 00:23:06
    extremely highly of Zig and so it's like
  • 00:23:09
    okay I could I could I could see this
  • 00:23:11
    being a very exciting thing to work in
  • 00:23:14
    then yeah I I mean having looked at zigg
  • 00:23:16
    a couple times because people pointed to
  • 00:23:18
    it I just I not sure what like I don't
  • 00:23:21
    really see a lot of the bonus there but
  • 00:23:24
    maybe that's just because I'm coming
  • 00:23:25
    from having looked at a bunch of these
  • 00:23:27
    languages and gone like what's the
  • 00:23:28
    current
  • 00:23:29
    status I feel like it's good if you're
  • 00:23:31
    coming from if if what you were looking
  • 00:23:33
    for was C again uh then it seems like I
  • 00:23:37
    can understand maybe maybe the choice
  • 00:23:39
    right it's like well uh I don't really
  • 00:23:41
    want to go C++ so I'm looking for
  • 00:23:44
    something that's just a c extension
  • 00:23:46
    right or something like that I don't
  • 00:23:47
    know but a lot of the stuff is just like
  • 00:23:50
    it's way too much typing for what it
  • 00:23:52
    does uh and so I I was not I was like I
  • 00:23:55
    don't really get it I don't I don't and
  • 00:23:56
    a lot of the choices like the eror
  • 00:23:58
    handling choic stuff I don't know it all
  • 00:24:00
    I can say is I was like I don't I don't
  • 00:24:01
    really get it I don't get this one um
  • 00:24:04
    which is not to say that maybe it works
  • 00:24:06
    for other people like maybe they're like
  • 00:24:07
    you know thumbs up on that uh but again
  • 00:24:10
    I would say like I can't imagine picking
  • 00:24:12
    that over ji for example if you have
  • 00:24:14
    access to the beta that that would make
  • 00:24:15
    no sense to me right uh okay but unless
  • 00:24:18
    you just want something that's open
  • 00:24:19
    source uh I do I do like the open source
  • 00:24:21
    nature because that you know I just find
  • 00:24:23
    generally because if there's not a lot
  • 00:24:25
    of docs you can eventually find
  • 00:24:27
    something that that has what you're
  • 00:24:29
    looking for you know so that's one
  • 00:24:31
    that's one more nice part about anything
  • 00:24:32
    that's open
  • 00:24:34
    source yeah and uh and you
  • 00:24:38
    know like I said that is one downside of
  • 00:24:42
    picking a language now right is that you
  • 00:24:44
    end up in this situation where
  • 00:24:48
    uh you know some languages that might be
  • 00:24:50
    right around the corner open source
  • 00:24:52
    right or that might uh soon have some of
  • 00:24:55
    the things you're looking for uh
  • 00:24:59
    you don't know which ones they're going
  • 00:25:00
    to be right and so that part yeah I just
  • 00:25:02
    don't know so I'm not sure uh but I
  • 00:25:06
    would say like yeah
  • 00:25:09
    like it's a really hard time and since I
  • 00:25:12
    don't since I am not willing to make a
  • 00:25:14
    switch yet I have not done the really
  • 00:25:17
    deep kind of eval on these languages I
  • 00:25:20
    mean my assumption is I have would have
  • 00:25:22
    a lot of complaints right away in most
  • 00:25:25
    of these languages um because they just
  • 00:25:28
    don't have the kinds of things that I
  • 00:25:29
    would be looking for right uh what do
  • 00:25:32
    you look for so like what what do you
  • 00:25:34
    look for in a language if you were
  • 00:25:36
    Vector if you were to choose vector
  • 00:25:37
    vector vector like the language is would
  • 00:25:40
    be based entirely around Vector compute
  • 00:25:43
    and nothing else so Mo
  • 00:25:45
    Joe no uh that's not based on Vector
  • 00:25:48
    that's based on writing non Vector code
  • 00:25:50
    that vectorizes right okay um so I would
  • 00:25:54
    I would want a language that was just
  • 00:25:56
    like I I would almost want Cuda right I
  • 00:25:59
    I just I want the the normal the the non
  • 00:26:02
    GPU version of Cuda right I want that's
  • 00:26:04
    what I want I I don't really want uh
  • 00:26:07
    sort of single Lane programming is just
  • 00:26:10
    not I don't see that as being very
  • 00:26:11
    useful anymore right okay that's by way
  • 00:26:14
    something Zig does pretty well they have
  • 00:26:16
    a vector built in that they have this
  • 00:26:18
    whole idea that you can just kind of
  • 00:26:19
    walk through everything built in the
  • 00:26:21
    type the width how what how how many you
  • 00:26:24
    want in there all that kind of stuff
  • 00:26:26
    well most languages have that kind of
  • 00:26:28
    Vector that's not what I mean by Vector
  • 00:26:30
    okay right Vector programming is when
  • 00:26:33
    you have a very good language for
  • 00:26:34
    describing things scaler that are
  • 00:26:36
    automatically Vector okay okay right and
  • 00:26:39
    and this is a difficult thing to do
  • 00:26:41
    properly right I I think Odin does have
  • 00:26:44
    something like this I I feel like that
  • 00:26:46
    had been added to Odin I can't remember
  • 00:26:49
    uh but it's one of those things where
  • 00:26:51
    most languages are not designed around
  • 00:26:53
    it right does that make sense uh there
  • 00:26:57
    it's an afterthought it's like a vector
  • 00:26:59
    type that you then use to do something
  • 00:27:01
    and it doesn't really it doesn't really
  • 00:27:03
    capture what Vector programming looks
  • 00:27:05
    like right
  • 00:27:07
    okay so all right all right well these
  • 00:27:10
    are all good things for me to think on
  • 00:27:11
    I'll I'll go back and I I'll sit down
  • 00:27:13
    I'll just do this I did peruse a little
  • 00:27:15
    bit of the yod and docs and I really do
  • 00:27:16
    like the for Loops I got to the for
  • 00:27:18
    Loops just kind of like looking at the
  • 00:27:19
    basic language of it and I was like okay
  • 00:27:22
    this is very nice they they did very
  • 00:27:24
    good job on that I enjoy this and the
  • 00:27:26
    syntax just looks very pleasant or easy
  • 00:27:27
    to use use right I'm I'm just going to
  • 00:27:29
    be real here I the only reason why I'm
  • 00:27:31
    not considering a functional programming
  • 00:27:33
    language because I would if I were to
  • 00:27:35
    choose one it'd probably be o camel
  • 00:27:37
    because o camel has like the type system
  • 00:27:38
    of rust with just none of the other
  • 00:27:41
    things of rust and so it's just like oh
  • 00:27:43
    I like this I like that Henley Milner
  • 00:27:45
    type system whatever it is the ability
  • 00:27:47
    to do like taged unions and all that and
  • 00:27:49
    being able to infer really greatly like
  • 00:27:51
    there's a lot of really cool things
  • 00:27:52
    about the language it's just I find
  • 00:27:54
    functional syntax to be maybe I just
  • 00:27:57
    need more time in it maybe that's my big
  • 00:27:58
    problem is I just don't do it enough to
  • 00:27:59
    really love it did O camel is oaml
  • 00:28:04
    support non-garbage collected usage yet
  • 00:28:07
    no it's still garbage collected but they
  • 00:28:09
    have really clever things coming out in
  • 00:28:11
    the new ones where you can like say
  • 00:28:13
    certain properties about your function
  • 00:28:16
    and it will treat your function in a way
  • 00:28:18
    that doesn't that that starts allocating
  • 00:28:20
    on the stack as opposed to everything
  • 00:28:22
    you know like your traditional garbage
  • 00:28:23
    collected language so I think it's I
  • 00:28:25
    don't know how it exactly works but it
  • 00:28:27
    seems really clever what you can do well
  • 00:28:30
    I mean yeah maybe they've got that under
  • 00:28:32
    control I don't know functional
  • 00:28:33
    programming to me I I don't love because
  • 00:28:36
    you know computers aren't aren't that
  • 00:28:38
    way and so I kind of like I I don't
  • 00:28:41
    necessarily like coming at it from that
  • 00:28:42
    way originally but I do like I
  • 00:28:45
    mean I can see the appeal of of putting
  • 00:28:50
    M writing certain types of code that way
  • 00:28:51
    right so I'm not against it or anything
  • 00:28:53
    but it is a it is a bit weird as your
  • 00:28:55
    fundamental Paradigm because it's kind
  • 00:28:57
    of a mismatch at some level but I
  • 00:29:00
    haven't ever tried doing much
  • 00:29:01
    programming no camel although I did look
  • 00:29:03
    at it quite some time ago and uh the the
  • 00:29:06
    fact that it was heavily reliant on
  • 00:29:07
    garbage collection was never great but
  • 00:29:10
    you know that probably has improved
  • 00:29:11
    quite a bit in the 15 years since I
  • 00:29:14
    looked at o camel right but yeah
  • 00:29:15
    apparently modern o camel is very very
  • 00:29:17
    good I've dabbled in it a few times now
  • 00:29:19
    and every time I do it I go I you know I
  • 00:29:21
    could like this language I could like
  • 00:29:24
    you know the the I think my biggest
  • 00:29:25
    problem with functional languages is
  • 00:29:26
    that right after you do that I think I
  • 00:29:28
    have to start writing white papers and
  • 00:29:29
    never actually accomplish anything again
  • 00:29:31
    and so I've always been very worried
  • 00:29:33
    about that dive into functional
  • 00:29:35
    programming and then I have to start
  • 00:29:36
    wearing tie-dye t-shirts and you have to
  • 00:29:38
    start talking about memory and peer
  • 00:29:40
    functions and all that
  • 00:29:41
    constantly yeah I mean it might be that
  • 00:29:44
    what will happen is if you decide to do
  • 00:29:46
    this next year in O camel you go back to
  • 00:29:49
    uh school and become like professor
  • 00:29:52
    primagen and all you do for the rest of
  • 00:29:55
    your life is like talk about uh you know
  • 00:29:57
    exact how to represent things in the
  • 00:29:59
    Lambda calculus or whatever right and
  • 00:30:01
    that's it we never hear from you
  • 00:30:04
    again I just got sucked into the monoid
  • 00:30:07
    monoid land and there there it goes I'm
  • 00:30:09
    gone forever okay so I don't know if you
  • 00:30:12
    ever answered what what would you what
  • 00:30:14
    is your what is like the thing that you
  • 00:30:15
    look for if you were to ever choose
  • 00:30:17
    something different because you just do
  • 00:30:19
    see you're so is it all just Vector just
  • 00:30:23
    just optimizing for that or is there
  • 00:30:24
    anything else that could pull you away
  • 00:30:29
    it'd be pretty tough because uh as it is
  • 00:30:32
    right now when I'm programming I have
  • 00:30:34
    sort of my own like little meta layer
  • 00:30:37
    that runs first that kind of cleans up
  • 00:30:39
    some of the C things that I don't
  • 00:30:41
    love and the next step that I would want
  • 00:30:45
    to take there is just having my own uh
  • 00:30:48
    like I said language that was geared
  • 00:30:50
    towards exactly the way I think about
  • 00:30:51
    Vector stuff right so I'd want it vector
  • 00:30:54
    and and multicore I would want it
  • 00:30:56
    exactly the way that I do it right and
  • 00:30:59
    that's a pretty big step for me to take
  • 00:31:01
    like I would basically be inventing my
  • 00:31:03
    own language at that point if I decided
  • 00:31:04
    to go that route so I haven't done that
  • 00:31:07
    and I don't know that I ever will do
  • 00:31:08
    that but that would be the thing that
  • 00:31:11
    would convince me that it's time for me
  • 00:31:13
    to switch to a new language and it's
  • 00:31:16
    possible I don't know but it's possible
  • 00:31:19
    that ji's metaprogramming is already
  • 00:31:21
    such that I could just write that I
  • 00:31:24
    might just be able to write that in
  • 00:31:25
    their meta programming language and call
  • 00:31:26
    it a day because their met progr
  • 00:31:28
    language is very good
  • 00:31:31
    so I you know I don't know maybe that's
  • 00:31:34
    a route I go in the future I'm not sure
  • 00:31:36
    but in terms of what I look
  • 00:31:38
    for uh I would really want to see that
  • 00:31:40
    because that would be a a motivator for
  • 00:31:42
    me to switch if I just had to switch
  • 00:31:45
    like it was like okay it's time you have
  • 00:31:47
    to pick from one of these languages and
  • 00:31:49
    it's like you know do you use Odin do
  • 00:31:50
    you use ji or something or or rust
  • 00:31:52
    heaven forbid uh like I I H I do have a
  • 00:31:57
    list of things like go look at where I'm
  • 00:31:59
    like okay here is a common thing that I
  • 00:32:02
    think if you were making a modern
  • 00:32:04
    language today if you've thought about
  • 00:32:06
    it at all you can do this very easily
  • 00:32:10
    and then I would go look and see can I
  • 00:32:12
    do that easily and I don't ever say what
  • 00:32:15
    these are because I don't want anyone to
  • 00:32:17
    game the system yeah but I do have some
  • 00:32:19
    of those things and like you know uh I I
  • 00:32:22
    tried that with rust it didn't even get
  • 00:32:24
    past the first one right like they
  • 00:32:25
    hadn't even got my most basic test it
  • 00:32:28
    couldn't even do it at all right and so
  • 00:32:31
    I like well that's sorry what is the
  • 00:32:34
    first test just you can't enforce me to
  • 00:32:36
    use Ray right off the rip with no choice
  • 00:32:39
    what is Ray resource acquisition is
  • 00:32:41
    initialization oh RI sorry I didn't know
  • 00:32:44
    that was pronounced that way okay just
  • 00:32:46
    called it Ray I didn't know is it called
  • 00:32:47
    Ray I don't I don't know what it's I
  • 00:32:49
    just call it RI because I didn't even
  • 00:32:51
    think Ray is probably much shorter and
  • 00:32:53
    better I'm not really into saying a
  • 00:32:55
    bunch of letters I would just rather say
  • 00:32:56
    a word fair enough no uh yeah raai is I
  • 00:33:01
    mean AB absolutely a no-o like if you
  • 00:33:04
    tell me that that's on the on the menu
  • 00:33:06
    we're done uh but yeah so I I felt like
  • 00:33:10
    uh I kind of knew right off the bat I'm
  • 00:33:12
    like the people who are making rust just
  • 00:33:14
    don't think about programming like I do
  • 00:33:15
    which again is not trying to say that
  • 00:33:17
    other people like if they think like you
  • 00:33:19
    do then it's a good language for you
  • 00:33:21
    right uh they definitely don't think
  • 00:33:23
    about programming the way I do so I was
  • 00:33:24
    like no um but I you know so if I had to
  • 00:33:28
    switch I would run a bunch of those
  • 00:33:29
    tests and then pick the the one that
  • 00:33:32
    that went the best but in terms of
  • 00:33:33
    enticing me to switch like if I didn't
  • 00:33:36
    have to switch it's that it's like if
  • 00:33:38
    someone came out with a really amazing
  • 00:33:41
    uh real Vector programming language uh I
  • 00:33:44
    would I would seriously consider it okay
  • 00:33:47
    well it's good to know all right all
  • 00:33:48
    right I I like this discussion thank you
  • 00:33:50
    for talking me through some languages
  • 00:33:51
    and just thoughts about it uh you know
  • 00:33:54
    may you know maybe maybe I I'll have to
  • 00:33:56
    do some thinking but
  • 00:33:58
    I got a little bit of time because I
  • 00:33:59
    want to finish up my my my dumb idea and
  • 00:34:02
    then I have to finish up an HTP course
  • 00:34:05
    and then it's time to choose and
  • 00:34:07
    read yeah I I mean can you do a little
  • 00:34:10
    experimentation first I guess maybe you
  • 00:34:12
    already have I I did two months of
  • 00:34:14
    playing around with Zig last year just
  • 00:34:16
    kind of built a a quick game built a
  • 00:34:18
    tower defense in it and never got to the
  • 00:34:20
    metaprogramming side of it and I was
  • 00:34:22
    just like oh you know there's some
  • 00:34:23
    things I really like about this language
  • 00:34:25
    there's some really neat things can you
  • 00:34:27
    do this the same with Odin perhaps first
  • 00:34:29
    and like give that a month of testing or
  • 00:34:31
    something like like maybe try just a
  • 00:34:33
    little bit uh and then you can make a a
  • 00:34:36
    decision I mean you could even do that
  • 00:34:37
    with ji if John was okay with it I guess
  • 00:34:39
    if he wants someone who's definitely
  • 00:34:40
    going to use it I guess that doesn't
  • 00:34:41
    count but you know it would might be
  • 00:34:43
    interesting just do a little test in
  • 00:34:45
    each and then just pick the one you
  • 00:34:46
    enjoyed the most yeah yeah that might
  • 00:34:48
    that might be the way to go I am curious
  • 00:34:50
    like if if Jay do you by the way do you
  • 00:34:52
    call it J AI or is it J or is it
  • 00:34:56
    J I have no idea uh and I I one of the
  • 00:35:01
    things that is true about John is that
  • 00:35:04
    he uh for some
  • 00:35:06
    reason I think I'll use the word almost
  • 00:35:11
    religiously opposed to name
  • 00:35:15
    fetishizing and so he's like the
  • 00:35:19
    language is just the language I'm
  • 00:35:20
    working on like like to the extent that
  • 00:35:22
    if he just couldn't have if he could
  • 00:35:23
    have called it nothing at all he would
  • 00:35:25
    have and only give it a name when it's
  • 00:35:27
    completely done that is that is John
  • 00:35:30
    right and so uh I don't even know if
  • 00:35:33
    I've ever heard him say the
  • 00:35:36
    name oh interesting okay I I I honestly
  • 00:35:41
    maybe he has but I don't know if he has
  • 00:35:44
    uh now that I think about it like have I
  • 00:35:46
    actually heard him say it himself so I
  • 00:35:48
    have no idea J J AI ji probably I mean
  • 00:35:54
    so here's the thing I will say John and
  • 00:35:58
    me are both uh fans of uh what's his
  • 00:36:01
    name Michael ji Williams the guy who who
  • 00:36:03
    did like Black Dynamite uh then Black
  • 00:36:05
    Dynamite was a was one of the best shows
  • 00:36:08
    if it if it's that's the one where the
  • 00:36:10
    white man is trying to get to shrink the
  • 00:36:13
    [ __ ] eyes yeah and and and uh it has so
  • 00:36:17
    many good scenes it has so many good
  • 00:36:19
    scenes in it uh it's basically a black
  • 00:36:21
    exploitation parody uh and he's the lead
  • 00:36:24
    he's the lead okay um and uh and so I I
  • 00:36:28
    would say like it you couldn't go wrong
  • 00:36:30
    by pronouncing it the same way he
  • 00:36:31
    pronounces his middle name so maybe
  • 00:36:33
    maybe just go with that because John
  • 00:36:36
    would John can't object to that I would
  • 00:36:38
    say okay I didn't realize that JN also
  • 00:36:40
    liked Black Dynamite that was yes oh
  • 00:36:43
    that hey you know I just I feel a little
  • 00:36:44
    bit more akin to the guy now now that I
  • 00:36:46
    now that I know that yes he loves it and
  • 00:36:50
    and uh as do I we we were we watched it
  • 00:36:52
    together in fact uh if I remember
  • 00:36:55
    remember correctly at least I think we
  • 00:36:56
    did I it's been a long time uh I had
  • 00:37:00
    seen it once for some reason I don't I
  • 00:37:01
    think I I don't know I found out about
  • 00:37:03
    it at like a maybe a a uh film festival
  • 00:37:07
    or something I don't remember and I was
  • 00:37:08
    like oh my God a a black sedition parody
  • 00:37:11
    that sounds great and of course I
  • 00:37:12
    watched it I was like massively overd
  • 00:37:14
    delivered so you know yeah which is
  • 00:37:16
    great we can't but now we're overd
  • 00:37:18
    delivering it's overd delivering and so
  • 00:37:19
    now someone might watch it become
  • 00:37:21
    disappointed okay sorry uh yeah sorry
  • 00:37:25
    guys uh I didn't mean to do that yeah it
  • 00:37:28
    it's okay it's
  • 00:37:30
    mid I don't know it's mid maybe as taken
  • 00:37:33
    as a whole movie but certain scenes in
  • 00:37:36
    that movie are still some of my most
  • 00:37:38
    hilarious scenes like that I laugh so
  • 00:37:40
    hard at uh so I don't know like it's
  • 00:37:44
    it's mid as a whole I Wasing it in
  • 00:37:49
    sections it is truly excellent that's
  • 00:37:52
    what I'll say all right awesome okay
  • 00:37:56
    well that was fun thank you
Tags
  • Programming Languages
  • Metaprogramming
  • Rust
  • Go
  • Zig
  • Odin
  • Jai
  • Future Planning
  • C++
  • Open Source