How I learned to love build systems

Ғылым және технология

Follow me on Mastodon: hachyderm.io/@fasterthanlime
Support me on Patreon or GitHub: fasterthanli.me/donate
Why in the world did they want me to run ./configure?
Contents
00:00 How Amos fell into the magic potion
04:44 "Real" Windows development
07:23 Enter CMake, then Meson
10:34 Now scale it up
14:15 Be humble, stay curious
15:28 Obligatory tunes of the chip

Пікірлер: 153

  • @Whatthetrash
    @Whatthetrash Жыл бұрын

    I have no idea how you got on my KZread recommended feed, but I'm oh so glad you did. Fantastic, clear, informal videos that honestly excite me to go out and learn -- which is an incredible resource. Subscribed... and thanks for what you do! :)

  • @fasterthanlime

    @fasterthanlime

    Жыл бұрын

    Thanks so much! This is exactly why I do these :)

  • @QmVuamFtaW4

    @QmVuamFtaW4

    Жыл бұрын

    for me i got his RSS feed from some personal site, and goddamn i fell in love with his yt channel.

  • @smalldjo

    @smalldjo

    Жыл бұрын

    same, i follow on twitter, for some reason i forgot now and i wont pretend i understand all of this but still enjoy it. weird

  • @CyborusYT
    @CyborusYT2 жыл бұрын

    "I also write articles that are equally long" Well-

  • @neilweidinger
    @neilweidinger2 жыл бұрын

    Fantastic video, really mirrors my experience of going from the comfortable but illusory plug-and-play nature of clicking buttons in an IDE to understanding the intricacies and complexities of building source code for multiple platforms

  • @coderedart
    @coderedart2 жыл бұрын

    "Part of the answer is that, games are not food" @ 2:29 - FasterThanLime

  • @pnuema1.618
    @pnuema1.618 Жыл бұрын

    This is a fantastic video. Its educational and gives a clean abstracted overview of build systems. Personally I find that abstracted overview is hard to come by because most people convoluted the general overview of what a build system does. The only issue I have is your title. I searched for "most used build systems" and found this video but I think this video belongs more in the "what is a build system and why do I need one" category which I feel like your title excludes you from. Either way I am happy I found this video!

  • @chickenscrap2000
    @chickenscrap2000 Жыл бұрын

    Kudos to you for keeping a good attitude about them and even coming to appreciate them! I’m at a point in my career where I understand why they’re needed, but dread every minute I spend modifying a jenkins file/web pack/grunt/maven/make/gradle/{whatever} config. It’s time that I should be spending on the actual problem I’m trying to solve. Don’t think I’ll ever be able to say I love them.

  • @Chalisque
    @Chalisque Жыл бұрын

    Back around 1997, I used to walk to/from university (around 3 miles each way) with a Zip drive and 2 or 3 Zip disks to download stuff that I could take home in my bag, configure, make, run. Seemed so amazing at the time that I could even do that, compared to how it was before with 1.44M floppies. 256MB USB sticks circa 2005 were magic.

  • @antonliakhovitch8306

    @antonliakhovitch8306

    Жыл бұрын

    And now, we have NixOS which might download 5GB of data when you modify your mounts 😅 (Disclaimer: NixOS is amazing and I run it on all of my machines. Nonetheless it's reliant on a fast network connection and would be absolute hell to use in the university / zip disk situation)

  • @igorordecha

    @igorordecha

    Жыл бұрын

    @@antonliakhovitch8306 me: plugs in a usb drive NixOS: well, time to backup everything and reinstall the OS. Like they say "better safe than sorry"

  • @Albtraum_TDDC

    @Albtraum_TDDC

    Жыл бұрын

    I remember in around 1993 we got an Amiga 1200 and we got a couple CD's of AmiNet, by snail mail from Germany to Greece, as it was faster and cheaper than over the practically nonexistent internet.

  • @terrypark3690
    @terrypark3690 Жыл бұрын

    I thought this was going to be tips on what you have to learn to build systems but it literally was how you learned systems. It's amazing and helpful to hear your journey!

  • @whatamievendoing
    @whatamievendoing Жыл бұрын

    Well, it was fun to watch you do such a deep dive into this niche software dev topic. Very informative stuff, thanks for sharing!

  • @velvetrock9933
    @velvetrock9933 Жыл бұрын

    As a DevOps I recently encountered a sort of build engineer(ish) task of gluing together a C++/ML desktop app, which allowed me to make a deep dive into build systems during work hours. Started to read a blog of a Ninja-build creator, Professional CMake book, etc. Man, build systems stuff is sooo interesting, deeply cool / technically beautiful and at the same time not unappreciated/ viral enough! Thank you for spreading the word and chad content in general!

  • @imjasonmiller
    @imjasonmiller2 жыл бұрын

    Great video, Amos. Thank you!

  • @Seandotcom
    @Seandotcom Жыл бұрын

    I knew nothing about build systems until I got into embedded development. I fumbled around with SCons for a bit but now have learned to love CMake. Great video!

  • @DougAnderson444
    @DougAnderson4442 жыл бұрын

    "There's only one of you, so make it last" -- love it!

  • @MechMK1
    @MechMK1 Жыл бұрын

    I vividly remember when I first started to play around with Linux and the command line in general, I was very overwhelmed by it. I was also the only one in my family who had any computer experience at all, so if something wasn't working, I had no one to rely on. It was unpleasant, but it also taught me alot of stuff.

  • @phantruong1217
    @phantruong1217 Жыл бұрын

    Wow, incredible video. Great job :)

  • @luxusAI
    @luxusAI Жыл бұрын

    cool video. i loved the summary

  • @Y3arin
    @Y3arin2 жыл бұрын

    Thanks, Amos. Great video!

  • @eart-studio
    @eart-studio2 жыл бұрын

    Great video! I could use a vide about compiler optimizations. But it has to be so simple that even it can be used in programming game like ShenzhenIO or Human Resources Machine.

  • @eazypeazy8559
    @eazypeazy8559 Жыл бұрын

    that's so cool, man! I have completely different experience, but I came to similar questions...

  • @quorrafromtron
    @quorrafromtron Жыл бұрын

    This video would've been so useful like 5 years ago, I went through pretty much the same learning process (even started with a ti84 lol)

  • @lorenzorossi2000
    @lorenzorossi20002 жыл бұрын

    I have no idea on js history, I only know that there are a lot of import-styles, build systems and complexity but it would be really interesting to know about all of that history (and it would be enlightning to know why some dependencies only like some build system for whatever reason)

  • @Luxalpa

    @Luxalpa

    Жыл бұрын

    Many of the weird behavior of javascript is due to its original focus on interacting with HTML, which has things like bools and numbers all stringified so in order to be ergonomic, JS would need to be able to treat strings like numbers or booleans.

  • @DannysGalaxyTab
    @DannysGalaxyTab Жыл бұрын

    This video is great please make more.

  • @namgnoi
    @namgnoi Жыл бұрын

    reflecting a bit what have me drawn to these kind of "lower-level" tools like the cli and vim, was a kind of appreciating of exposure to these, often difficult, parts to lessen the uncomfortableness of leaky abstractions. and on further reflection it gave me confidence that I so felt the need for, quite often as a coping mechanism for feeling most of the time insignificant from childhood events. now after more or less being able to move beyond that need I find myself sensing a more natual curiosity emerge to explore these dimension. Thank you for this video which had much value in it for me.

  • @ToastingInEpicBread
    @ToastingInEpicBread Жыл бұрын

    Fascinating video topic, i am going to have to revisit this. i subbed

  • @bitbraindev
    @bitbraindev2 жыл бұрын

    Great video! I'd love a course/tutorial by you where you show step by step how to setup a build system like this.

  • @WhosShamouz
    @WhosShamouz Жыл бұрын

    Lol I thought this video was about how you're gonna takle a task with a certain framework, thinking in systems or whatever, but I also enjoyed what you had to say :) Noted the quoted regarding accidental complexity, amazing!

  • @loganhodgsn
    @loganhodgsn Жыл бұрын

    I initially didn't want to watch this video, but I figured I should, and I learned so much about computer development! Definitely grateful for your experiences

  • @sanidhyas3s
    @sanidhyas3s Жыл бұрын

    Loved the video!

  • @someghosts
    @someghosts Жыл бұрын

    Such a great storyteller

  • @theNoriLi
    @theNoriLi Жыл бұрын

    ah this was great! "car no go space, cargo road" will be stuck in my head for a while :P

  • @rxphi5382
    @rxphi5382 Жыл бұрын

    You know that you're on the right path to becoming a computer expert if this video shows up in your feed, loved it😊

  • @alexeyagapov4205

    @alexeyagapov4205

    Жыл бұрын

    As an eternal amateur who never went past console-run games made using the Curses library and some Unity stuff... I want to believe :D

  • @monsieurLDN

    @monsieurLDN

    Жыл бұрын

    Tutorial hell

  • @ADarnSmore

    @ADarnSmore

    Жыл бұрын

    that just means you watch youtube videos about computers

  • @torphedo6286
    @torphedo6286 Жыл бұрын

    I've loved CMake ever since I started using it. It's awesome to be able to have a simple, easy to read project file that can also manage all my unit tests and build for both Windows and Linux

  • @SolarLiner

    @SolarLiner

    Жыл бұрын

    The syntax is appalling though. It's a great tool but Meson has such better ergonomics and I wish people would switch. Recent CMake is better in ergonomics, but it's the same old ugly syntax.

  • @gideonunger7284

    @gideonunger7284

    Жыл бұрын

    i never understood how people move through life so uncritically. CMake is one of the worst things we ever forced upon hardware to execute. But peoples only criteria seems to be "it works in my small frame of reference" but they are wholly uncritical and uneducated on how things should be. for c/c++ i write my own build systems. bc its a brutally trivial task. even cross platform. maybe 200 lines tops. thats probably 2-3 orders of magnitude less than the average cmake code used to just configure a project.

  • @yogpanjarale
    @yogpanjarale Жыл бұрын

    15:23 Loved to watch it

  • @GratuityMedia
    @GratuityMedia Жыл бұрын

    More of this content please

  • @alt404s
    @alt404s Жыл бұрын

    This was recommended to me and now im subbed.

  • @archamondearchenwold8084
    @archamondearchenwold8084 Жыл бұрын

    such a good watch!

  • @JustAnotherLight
    @JustAnotherLight Жыл бұрын

    great video

  • @thats-no-moon
    @thats-no-moon Жыл бұрын

    This is a great video.

  • @luserspaz
    @luserspaz2 жыл бұрын

    "sccache (which by the way is looking for a maintainer right now)" 😅 Great video!

  • @dorillos4201
    @dorillos4201 Жыл бұрын

    Gracias Alexby

  • @wesleyfreitas-ub5nz
    @wesleyfreitas-ub5nz Жыл бұрын

    great video.

  • @sorenrichenberg3313
    @sorenrichenberg3313 Жыл бұрын

    great storytelling ez subscribe

  • @BRP-Moto-Tips
    @BRP-Moto-Tips Жыл бұрын

    you earned subscriber, a bit for the great video but mainly for the car go road meme lol

  • @FalconFour
    @FalconFour Жыл бұрын

    Currently bashing my head into this mess while going on a multi-hour grind marathon of trying to compile rtl_433 for Windows. Great video and good points. However, I think the end moral of the video leaves out one important point: build systems (like cmake) are very often implemented half-way. It's only as good as the devs/maintainers make it. So, quite often I find cmake setups that were bent to wrap-around a platform-specific quirk (or several), or that leave-out dependencies their code relies on (or several), with no clear way to identify or mitigate these issues on other platforms. (example: rtl_433 needs linker options "-lws2_32", "-lwsock32", "-lnetapi32" added to some obscure mid-build "linker.txt" file after linker errors are produced -- oh and if you build using the 32-bit mingw platform, it'll fail to initialize USB when you think you got it all compiled - you have to use the 64-bit x86_64-w64-mingw-* tools instead, etc etc) I often still end up finding it's just the same problems in slightly different packaging. Devs gonna dev. I ended up getting it working in the end (as of 5 minutes ago, after about 6 total hours across 3 days, trying countless different approaches), and I could write a small novel on the problems in the build system that it revealed. But Windows is the least-loved of all platforms for open source software, so I mostly just expect to get roundly mocked or ignored or "closed::willnotfix"'d if I write this stuff up. So hey, I solved it for myself at least. The last binary Windows build of the software in the wild is still from 2019.

  • @ivanhbxyz
    @ivanhbxyz Жыл бұрын

    this is great

  • @bigdaddy5303
    @bigdaddy5303 Жыл бұрын

    I also started with my graphics calculator in the mid 90s :)

  • @elietheprof5678
    @elietheprof5678 Жыл бұрын

    I think most of these complex build systems exist to solve real problems that should have never been created in the first place.

  • @KirbyZhang

    @KirbyZhang

    Жыл бұрын

    it's because people have competing visions of computing and the different visions have gained their respective mindshares. If you had just one vision that had the entire world's mindshare, then you wouldn't need any build systems. 😂

  • @elietheprof5678

    @elietheprof5678

    Жыл бұрын

    @@KirbyZhang Sometimes I wonder if forking entire projects would be a better solution to handling different visions of how things should be implemented. Forking would bring some redundant work, but maybe it would still be more efficient than dealing with bloated dev tools. Plus, people would probably abandon most forks rather quickly; it might help rapidly determine which implementation vision is really the best.

  • @torphedo6286
    @torphedo6286 Жыл бұрын

    CMake can also generate Ninja project files, it's very nice

  • @DzintarsDev
    @DzintarsDev10 ай бұрын

    It clicked for me when i was working on a complete full-stack solution involving TypeScript, Websocket, Go, gRPC and Swagger. You make one single change in the API and you need that change to propagate to entire stack. Running every single tool by hand would be nightmare. Build system solves this issue and solves it in 2s.

  • @chillidog8726
    @chillidog87264 ай бұрын

    I had the exact same experience just not in the same way but I had the same revelations

  • @nagendra3610
    @nagendra3610Ай бұрын

    Awesome

  • @gamingwithvaibhav2787
    @gamingwithvaibhav27876 ай бұрын

    my first build tool was Maven with Java and then gradle again with Java, at I first I hated the idea of using a build tool, I only realised the importance of build tools when I discovered MinGW and cross-compiling

  • @Slipping_thru_the_Seams
    @Slipping_thru_the_Seams3 ай бұрын

    i ❤ this channel

  • @unfa00
    @unfa00 Жыл бұрын

    The biggest issue I have with Chrome is not technical at all. It's that Chrome is a vessel for Google to dominate the browser market, and that hurts us all, because they can push standards and practices that benefit their business while hurting everything else. Because most of the users will just accept it, everyone else has to adapt. It's the main reason I came back to using Firefox (which I am aware Google is also sponsoring indirectly).

  • @grave0x
    @grave0x Жыл бұрын

    And now we're at wsl2 and wsa

  • @samuelfischer3764
    @samuelfischer3764 Жыл бұрын

    the internet has definitely changed this video, i needed to send a executable from a rust program to my friend on windows and all i had to do was just look up mingw

  • @bennguyen1313
    @bennguyen13135 ай бұрын

    So many different projects..cmake, meson, maven , gradle , bazel Is there a latest-and-greatest set of tools that provide the most flexibility in building for calculators, windows, linux, etc?

  • @jeremybobbin
    @jeremybobbin Жыл бұрын

    7:27 “That’s new… and also annoying!” 😂😂

  • @3rdGen-Media
    @3rdGen-Media Жыл бұрын

    Geez it took you longer than it should have to come to these realizations

  • @ccgarciab
    @ccgarciab Жыл бұрын

    "Sure, I had to learn English, but I also got a lifetime of trauma for being extremely online. So it's impossible to tell if that was good or not" I didn't sign up for this vicious targeted attack

  • @BriceFernandes
    @BriceFernandes Жыл бұрын

    This video is not about build systems. I think that the concluding question here - When something doesn't make sense: Is it incidental complexity OR have you had a unique insight OR Is your current worldview missing some key pieces? - is critical. No matter what the answer is, asking the question when you reach a "WTF?!" moment is enlightening. I can easily project this onto my science education. Wish someone had told me this much earlier in my education and career.

  • @ravenecho2410
    @ravenecho2410 Жыл бұрын

    spark-sxala kyro classes require so much builders or they dont exist at run time i think they now have an option to say hey cache these before run time.

  • @noncote6642
    @noncote66424 ай бұрын

    Kojima is a genius

  • @SianaGearz
    @SianaGearz Жыл бұрын

    I don't know doesn't every book on the subject explain where the executables come from, where the compiler is etc?

  • @BebehCookieIcecream
    @BebehCookieIcecream Жыл бұрын

    I'm only in my third semester of computer engineering so I don't understand shit, but the wizard in the video makes me feel eager to learn things

  • @leonie9248
    @leonie92482 жыл бұрын

    Uh I had that CD, too!

  • @patiencebear
    @patiencebear Жыл бұрын

    I don't know why I'm watching this. I'm using CI/CD since more than a decade, and probably started earlier than this you. Still interesting seeing how others started their journey. Good vid.

  • @BlackHermit
    @BlackHermit Жыл бұрын

    Build systems are a science and an art. But once you understand how much time these things can save you, you adhere to the Law.

  • @victor.hausen
    @victor.hausen Жыл бұрын

    I need to know the name of the game at 2:01, i've played it as a kind and have never been able to find it online!

  • @RAHUDAS
    @RAHUDAS Жыл бұрын

    I Hope I get this video 5 years ago

  • @oglothenerd
    @oglothenerd5 ай бұрын

    Is Objective-C++ actually a thing?

  • @firesquid6
    @firesquid6 Жыл бұрын

    Had the same experience discovering github actions

  • @Kavukamari
    @Kavukamari Жыл бұрын

    i want to make things that are cross platform too... i wish i could figure out all of those things as well

  • @MatthieuVion
    @MatthieuVion2 жыл бұрын

    This is a fascinating video which really complements your articles I was already reading. I can't wait to see more ! For your next videos, maybe you could set up some sort of prompter, it is kind of weird to not have you looking directly into the camera, maybe it's because of the global trend that do it that cause it to me, but it's my feeling. I hope you won't take it personally :)

  • @fasterthanlime

    @fasterthanlime

    2 жыл бұрын

    I bought a teleprompter recently and use it in my latest video. Enjoy!

  • @stabassam
    @stabassam Жыл бұрын

    This was really good! Also, who was the person you wanted to share your first game with. :)

  • @fasterthanlime

    @fasterthanlime

    Жыл бұрын

    Just some schoolmates!

  • @stabassam

    @stabassam

    Жыл бұрын

    @@fasterthanlime love your passion and drive. It led you to some great things! :)

  • @sofialmeidah
    @sofialmeidah Жыл бұрын

    I was a bit surprised to see ikenna as a programmer

  • @enigmeta
    @enigmeta2 жыл бұрын

    The Photoshop/3DS Max/Cubase screenshots loool

  • @TysonTc
    @TysonTc Жыл бұрын

    Have you checked out tup build system you can use lua alongside the build system

  • @fasterthanlime

    @fasterthanlime

    Жыл бұрын

    Yeah I know tup! We used it to build everything when I worked at itch.io

  • @linerider195
    @linerider195 Жыл бұрын

    Here's a weird one, why do CCSDS standards exist? CCSDS - Consultative Committee for Space Data Systems, is a committée that does standards for satellites and rockets and space stuff. And most of space digital infrastructure, especially legacy and/or government infra, which in space is like 99% of it, relies on it. What's curious is they felt the need to redo the entire communications stack, from the physical layer through TCP and IP and beyond. They have their packet definitions and whatnot. And my question is, why? What need were they solving that required them to redo everything as opposed to say, take the normal internet stacks and do a couple adjustments for the intermittent long-delay radiowave-reliant communications typical of the space environment? TCP/IP has been used in space applications, I suspect the reason for this divergence is historic. But I don't know, and I wonder!

  • @Morimea
    @Morimea Жыл бұрын

    Literally my experience with computers and Linux/Java/OGL it was so painful to include LWJGL to your java build and make it work on more than your system, and linux build will always crash/fail on other linux because binary LWJGL library include other library that no presented on target linux... And you endup making something that currently Steam on Linux use - just pack half of Ubuntu libraries with your libraries, but even in 2010 size still mattered, so having 50Mb of binary libraries +90Mb portable binary java build because not a single linux had Java preinstalled... for your 500Kb jar file - it was not an option And yes - dont use opensource software it has no value and Elon Musk hate it.

  • @warpspeedscp

    @warpspeedscp

    Жыл бұрын

    Thank goodness thimgs like arch linux's aur exist so that work can be delegated to the build system

  • @TheHippyhopp
    @TheHippyhopp2 жыл бұрын

    Well right now im wondering why bash and sh exists. Why are there two slightly different systems?

  • @fasterthanlime

    @fasterthanlime

    2 жыл бұрын

    There's a bit of history here: www.aosabook.org/en/bash.html sh is the Bourne shell, bash is the Bourne again shell. There's plenty of other shells! dash, zsh, fish, nushell, etc. etc.

  • @lawrencedoliveiro9104

    @lawrencedoliveiro9104

    Жыл бұрын

    One of the many revolutionary aspects of Unix (compared to other systems of the time) was that the command processor was not built into the OS. It was built like any ordinary user program, and ran as an ordinary user process, with no special privileges. So if you didn’t like it, you could write your own. And lots of people did.

  • @kajacx
    @kajacx Жыл бұрын

    "These things you bang your head against the wall about have a place." Yea I agree. Most of the times that place will be to be replaced with Rust.

  • @nodirbeksharipov458
    @nodirbeksharipov4582 жыл бұрын

    what font is that on the terminal ??

  • @fasterthanlime

    @fasterthanlime

    Жыл бұрын

    It's Iosevka!

  • @nodirbeksharipov458

    @nodirbeksharipov458

    Жыл бұрын

    @@fasterthanlime thanks 🙌

  • @leonie9248
    @leonie92482 жыл бұрын

    I started the video thinking its topic was "How I learned to love to build systems". But no. :D

  • @felixinfinita3777
    @felixinfinita3777 Жыл бұрын

    There's clearly a reason why build systems exist and how they got more and more complicated over time. But it doesn't have to be this way and that's a terrible oversight from the whole SW industry. Starting from OS libraries management and language architectures, it's a mess. I don't want to learn a different language just to build a program, we shouldn't tolerate unnecessary complexity.

  • @pondopondo1497
    @pondopondo1497 Жыл бұрын

    The joke about trauma of being on the internet made me chuckle.

  • @jakob1952
    @jakob1952 Жыл бұрын

    Video title: How I learned to love build systems What I've read: How I learned to build love systems Close enough 😂

  • @sbmoonbeam
    @sbmoonbeam Жыл бұрын

    just realised I've spent the last 20 years pronouncing MinGW like "ming-wee" and maybe most people don't

  • @hansdampf2284
    @hansdampf2284 Жыл бұрын

    Nearly all things made sense in the context or "world view" how you called it, they were made in. Otherwise people would not make them. Things only get bad when we use things in a context they were not made for. Because there is no more suitable tool (yet). I am a package maintainer for a linux distro. Maintainers often complain about the modern languages like Go and Rust because with their hang for static linking they do not quite fit into this package world that was mainly made with C in mind. Yet I still like coding in Rust and I can see how much this static linking simplifies the whole dependency process. Its interesting to see both "world views". Both are correct in their own context, yet

  • @the_kovic
    @the_kovic Жыл бұрын

    I'm going to take you on that call at the end of the video and ask a question to you (or any other knowledgeable stranger) that has been bothering me for a while - what are linker scripts and why do they exist?

  • @fasterthanlime

    @fasterthanlime

    Жыл бұрын

    The place I've seen them (from afar) is for embedded development, for hardware that expects the image to have sections in a certain fixed place - I believe the linker script defines the structure of the generated file, so it matches what the piece of hardware expects.

  • @lawrencedoliveiro9104

    @lawrencedoliveiro9104

    Жыл бұрын

    They are needed for special purposes. For example, say you are building a ROM for an embedded processor. Or you are building the Linux kernel. These are pieces of code that need special memory layouts, initialization/loading procedures etc. You control that in part via the linker script. Type “info ld” to find out more than you wanted to know about it.

  • @sebastianwardana1527
    @sebastianwardana1527 Жыл бұрын

    and .exe that run on windows mac and linux are a reality!

  • @nexovec
    @nexovec Жыл бұрын

    11:40 now I know which facebook group you're in

  • @egmluvr
    @egmluvr Жыл бұрын

    Joy Wave

  • @Zubbbz
    @Zubbbz Жыл бұрын

    I really liked this video as someone who is learning to program and isn't that knowledgeable

  • @sebastianwardana1527
    @sebastianwardana1527 Жыл бұрын

    why dont we just use ftp for everything? i dont get networking... i have no clue...

  • @Dexterdevloper
    @Dexterdevloper5 ай бұрын

    Some Times I hate how humans are different.

  • @yohannes2kifle
    @yohannes2kifle2 жыл бұрын

    This is awesome! Can't wait for your next uploads, hopefully more Rust hacking 😄

  • @fasterthanlime

    @fasterthanlime

    2 жыл бұрын

    Well that comment gave me an idea for a Rust video... now to actually, erm, make it. That's the hard part!

  • @samuellotz8304
    @samuellotz8304 Жыл бұрын

    The last point about cargo is a big one. Its really annoying that it wants to do everything for you and its highly non-trivial to integrate it with a meta build system/package manager... As a non Rust programmer just using Rust dependencies (e.g. webgpu) you'll understand this very quickly.

  • @BosonCollider

    @BosonCollider

    Жыл бұрын

    I don't entirely agree with this, it still makes it so that all the dependencies exist in one repository, and you have the benefit of always knowing that a tool that can compile this code for anymachine actually exists, which is not true of C++ projects, and that all the configuration exists in toml files that define everything specific to a project, so that tools exist to integrate it with bazel. Don't underestimate standardization as a way to avoid complexity. It makes it so that you don't need to download a vm image with the exact build env of the author

  • @samuellotz8304

    @samuellotz8304

    Жыл бұрын

    @@BosonCollider check out how you have to use cargo with tools like nix or Spack and I think you'll see my point. It's just about cargo adding some options to support it rather than the hacks needed now with e.g. bazel and nix

  • @clonkex

    @clonkex

    Жыл бұрын

    As someone who cannot stand the excessive complexity of managing C/C++ dependencies and build systems, Cargo is great. Like C# or NodeJS, Rust/Cargo "just works". Grabs dependencies for you, compiles things, no long cli arguments, just "build this thing as the developer intended" and away it goes.

  • @arshak8036
    @arshak8036 Жыл бұрын

    But there were textures

  • @ME-L3U
    @ME-L3U Жыл бұрын

    Holy shit you look like Hideo Kojima

Келесі