[#32] Ghostty: A New Terminal Emulator Written in Zig - Mitchell Hashimoto

Поделиться
HTML-код
  • Опубликовано: 30 сен 2024

Комментарии • 92

  • @codingsafari
    @codingsafari Год назад +49

    That guy is a legend. He also did a lot of good work for the go community.

    • @deNudge
      @deNudge 9 месяцев назад

      Vagrant, Terraform, Vault, ...@@actualwafflesenjoyer

  • @10e999
    @10e999 Год назад +51

    The Zig Compiler Internals blog series was incredibly helpful for learning the language.
    Thanks a lot Mitchell.

  • @misconfiguration
    @misconfiguration 11 месяцев назад +26

    Mitchell is such an inspiration, he doesn't need to work yet still finds ways to write things people need and do it better than the rest. Big fan of Mitchell and may God bless his family!

  • @jeezusjr
    @jeezusjr 5 месяцев назад +7

    I wish I was 10% as productive as Mitchell is. 😓

  • @LtdJorge
    @LtdJorge 21 день назад +2

    Damn, this is the guy where the Hashi in Hashicorp comes from, I didn't know he was doing Zig now (insted of Go) :D

  • @bendon4604
    @bendon4604 Год назад +32

    Amazing talk, learned a lot about Zig features in a huge project and very insightful examples!

  • @LucasOe
    @LucasOe Год назад +14

    That looks really promising! Despite there being so many Terminal Emulators, I can agree, that none of them check all boxes, so I'm excited for Ghostty.

  • @htr-g8r
    @htr-g8r Год назад +5

    Didn't know Zig has comptime type construct. That's really nice. I'm getting creeps from template programming on C++. Very nice of you to discourage the type gymnastics coming from this, since the comptime type construct is not mathematically meaningful or useful to overuse, especially as (automated) proof system (your use case was 100% valid though).

  • @j-r-hill
    @j-r-hill Год назад +6

    Excited for where this could go! Personally I'm a Linux TWM hipster and so I generally favor more minimal terminals (Sakura and LilyTerm are some that met my needs) but I'm really interested to see where this goes
    Also i just was not prepared for it to get so deep into metaprogramming, that blew my mind

  • @krumbergify
    @krumbergify Год назад +3

    The mozilla public license 2.0 is copyleft per file, convertable to GNU licenses and accepted in app stores. It is used by the VLC media player. The LGPL doesn’t work well for static linking.

  • @0netom
    @0netom Год назад +8

    I'd say memory usage is the biggest end-user problem with Electron apps, NOT their speed.
    After seeing that compile-time struct definition for bit packing font info, I was expecting memory usage being optimized too, so it was a surprise to hear, that memory usage is not prioritized.
    All your CPU optimizations are down the drain, if there is not enough memory and the system starts swapping, which I've often seen on macOS even with 16GB RAM.

    • @0netom
      @0netom Год назад

      For example, I'm using IntelliJ's built-in terminal plugin, which is horribly slow and not very feature-rich, but it's at hand and integrated with the window handling of the editor, so it's less of a mental context switch, then switching to an external editor and that's why I use it 80-90% of the time.
      2% of the time I'm even starting to use the Cursive plugin's Clojure REPL to call out to shell commands, just so I can stay even more focused.

  • @sporefergieboy10
    @sporefergieboy10 Год назад +52

    Ziggers rise up

  • @jhonyortiz5
    @jhonyortiz5 9 месяцев назад +2

    Options are good. People want different things. I really like a minimal emulator like Alacrity. Its less customizable by design and i prefer that. I dont need tabs on alacrity because i use zellij, its like tmux. I like the defaults on alacritty so i dont spend a lot of time configuring it and i like that. I know its nit picking but alacrity doesn't lack features as much as it is feature complete according to the standards that the devs and community have agreeed on.

  • @bjbboy71697
    @bjbboy71697 Год назад +5

    i hope you make this project public when it's ready! it looks really interesting and would be an amazing addition to the pool of zig software.

  • @Br4dButt0wski
    @Br4dButt0wski 4 месяца назад +1

    I like the songs in your intros, can you share them in the notes?

  • @casino130
    @casino130 Год назад +3

    The following dependencies will be installed:
    cctools
    clang-16
    clang_select
    gdbm
    ld64
    ld64-xcode
    libomp
    llvm-16
    llvm_select
    perl5
    perl5.34
    readline
    xar
    Continue? [Y/n]:

  • @Peewma
    @Peewma Месяц назад

    I've written python programs which do a quick generation of very repetitive C code from data just like the comptime keycode tuples stuff. Very nice use

  • @dwylhq874
    @dwylhq874 2 месяца назад +1

    05:33 Mitch starts

  • @BotYoutubevertification
    @BotYoutubevertification Месяц назад

    10:31 so uh............................................................................................................

  • @cemgecgel4284
    @cemgecgel4284 Год назад +12

    the showtime intro blew me away!

    • @sadhlife
      @sadhlife 4 месяца назад

      I also want to know what song it is

  • @koodeau
    @koodeau Год назад +1

    Yep, agree. Seeing suck improvements in iTerm happened would be the best thing to happen for me. Otherwise I can already see where ghostty can be used with wasm, so crazy

  • @kamalkamals
    @kamalkamals 4 месяца назад +1

    link to download ??

  • @bobuva2245
    @bobuva2245 10 месяцев назад +1

    Thanks for the insights and the demo, Mitchell. I've been wondering whether to learn Zig because it reminds me of the days of learning to program in C, many moons ago. From what you said, I think I'll give it a try.

  • @cunningham.s_law
    @cunningham.s_law 16 дней назад

    why do you prefer tabs and splits over tmux?

  • @bsergean
    @bsergean Год назад +1

    This baby talk and 3 hours pattern makes me think of a cron job, in this nerdy context.

  • @VeitLehmann
    @VeitLehmann Месяц назад

    Man, this looks amazing! Can't wait to put my hands on it! I'm currently using iTerm on macOS, and on Linux I'm torn between Wezterm (a little more feature-rich, and I like how the splits work) and Kitty (a little bit more robust, often a bit faster, better font rendering, but I don't like how splits work). I also don't like how both Wezterm and Kitty always feel a bit alien.
    Ghostty looks like the solution to all these issues! Any updates on when to expect a public release? Or how to get access to the closed beta?

  • @NickBlack
    @NickBlack Месяц назад

    notcurses author here, good stuff, always happy to see notcurses-demo killing it =]

  • @pranavdubey4364
    @pranavdubey4364 22 дня назад

    00:01 05:33 Mitch starts

  • @SteeveMorin
    @SteeveMorin Год назад +3

    Great talk!

  • @kevinkkirimii
    @kevinkkirimii Год назад +1

    Mitchell is just an amazing human being. Thank you for ghostty

  • @johncavanaugh6481
    @johncavanaugh6481 Год назад +1

    I cant wait for this on Windows/WSL and VSCode...

    • @codenameirvin1590
      @codenameirvin1590 6 месяцев назад +1

      It isn’t a shell, it’s a terminal emulator. VS Code is a terminal emulator as well. So you won’t use this inside of VS Code.

    • @johncavanaugh6481
      @johncavanaugh6481 6 месяцев назад

      @@codenameirvin1590 not necessarily true, Mitchell has talked about a flexible licensing so it could be used in vscode as a much more performant terminal. As for wsl, I hope to use ghostty to replace Microsoft terminal as my interface to wsl.

  • @flylord4361
    @flylord4361 5 месяцев назад

    why not write an ide in zig that works like a terminal?

  • @sdstorm
    @sdstorm Месяц назад

    What is that nvim color scheme?

  • @severgun
    @severgun 2 месяца назад +2

    Closed source closed beta.

  • @neunmalelf
    @neunmalelf Год назад +3

    From a PR point of view, you did A GREAT JOB so far. Some (bigger) companies could learn a lot ... 👍😉

  • @sdstorm
    @sdstorm Месяц назад

    This guy must have a PhD.

  • @BarakaAndrew
    @BarakaAndrew Месяц назад

    The power of one 10x engineer.

  • @underflowexception
    @underflowexception Год назад +1

    great video

  • @ukyoize
    @ukyoize Год назад +5

    variable lenght fonts in terminals are antifeature

    • @0netom
      @0netom Год назад

      I'd love to use proportional fonts for programming and in fact I did use it for ~2 years (before switching to Clojure),
      BUT I don't see how could it be used effectively in terminals.
      I would have loved to see a demo of that.

  • @palgun.
    @palgun. Год назад

    Does anyone know how to learn zig as the first programming language (guide)

  • @xdman2956
    @xdman2956 Год назад +3

    52:48 why 3 bit? lol

  • @Bvngee
    @Bvngee 11 месяцев назад

    So siked for this!!

  • @DexieTheSheep
    @DexieTheSheep Год назад

    love the new intro lol

  • @jarod1701
    @jarod1701 Год назад +2

    Under the BSL in three, two, one, ...

  • @bobbycomputers
    @bobbycomputers Год назад

    What font is he using in his terminal?

  • @uchennaofoma4624
    @uchennaofoma4624 Год назад +2

    Made it early 😅

  • @IAmOxidised7525
    @IAmOxidised7525 Год назад +2

    Does it work in windows , I bet it does not

    • @mjmlvp
      @mjmlvp Год назад +3

      In the video it is mentioned that Windows support is going to be there, but not yet

  • @TakinProfit
    @TakinProfit Год назад +12

    I guess Mitch never heard of wezterm 🙄

    • @homelessrobot
      @homelessrobot Год назад +2

      i guess Wez never heard of alacritty.

    • @TakinProfit
      @TakinProfit Год назад +9

      @@homelessrobot Wez never made a video comparing wezterm to other terminal emulators and then not mentioning the obvious alternative.

    • @homelessrobot
      @homelessrobot Год назад +7

      @@TakinProfit Yeah i didn't really know what game we were playing i was just stabbing in the dark and named a random terminal

    • @LKamii
      @LKamii Год назад +6

      Changed from alacritty to wezterm and never looking back.

    • @ac130kz
      @ac130kz Год назад +3

      @@homelessrobot good luck with no ligatures

  • @clintquasar
    @clintquasar Год назад +1

    Missed Konsole from your list.

  • @swastikacharyya
    @swastikacharyya Год назад +1

    There's a frame drope between 10:33 to 10:42 .

    • @JohnDoe-sp3dc
      @JohnDoe-sp3dc Год назад +5

      The application author is streaming over the Internet and this is a recording of the stream. There's nothing that could've been done.

  • @trejohnson7677
    @trejohnson7677 Год назад

    y never 30 seconds of thing working with these kinds of talks??? lol.

  • @benjamindeharo314
    @benjamindeharo314 Год назад

    Would you consider making a space invaders emulators ? (the Midway 8080 arcade machine, not a clone of the game)
    It is generally considered to be the next step after chip8 in emulation programming, but there isn't any clear tutorial about it

  • @senapk
    @senapk Месяц назад

    I changed for wezterm. Love the lua config, font support, images and multiplexer

  • @ac130kz
    @ac130kz Год назад

    cool, sadly no Vulkan

  • @salonsospain
    @salonsospain Месяц назад

    12332

  • @JeffreyGarcia-u9g
    @JeffreyGarcia-u9g 22 дня назад

    Arianna Trace

  • @salonsospain
    @salonsospain Месяц назад

    12K

  • @johnnm3207
    @johnnm3207 Год назад +10

    LORIS 4 min intro? please STOP

    • @RapidPixel79
      @RapidPixel79 Год назад +6

      There's a scrubbing bar btw, and the start of the talk is marked with a chapter...

    • @johnnm3207
      @johnnm3207 Год назад

      @@RapidPixel79 4 MINs?

  • @Gordonfreems
    @Gordonfreems Год назад +1

    Wheres the discord link?

  • @uchennaofoma4624
    @uchennaofoma4624 Год назад +1

    Made it early 😅

  • @uchennaofoma4624
    @uchennaofoma4624 Год назад +1

    First 😮

  • @uchennaofoma4624
    @uchennaofoma4624 Год назад +1

    Made it early 😅

  • @uchennaofoma4624
    @uchennaofoma4624 Год назад +1

    First 😮

  • @khanra17
    @khanra17 7 месяцев назад

    I think he intentionally not included wez because it solved all the problems he mentioned.
    And you have to make up a problem to solve

    • @deviantsemicolon618
      @deviantsemicolon618 Месяц назад +2

      wezterm isn't fast at all. it's a good terminal, but i certainly wouldn't call it fast.
      there's also its lack of ability to work on wayland properly.
      there's also the fact that there isn't really a competition between devs to make the best terminal emulator, so why shit on other projects like this on the behalf of someone who probably wouldn't even care?