John Carmack: Best programming setup and IDE | Lex Fridman Podcast Clips

preview_player
Показать описание
Please support this podcast by checking out our sponsors:

GUEST BIO:
John Carmack is a legendary programmer, co-founder of id Software, and lead programmer of many revolutionary video games including Wolfenstein 3D, Doom, Quake, and the Commander Keen series. He is also the founder of Armadillo Aerospace, and for many years the CTO of Oculus VR.

PODCAST INFO:

SOCIAL:
Рекомендации по теме
Комментарии
Автор

If John Carmack says my brain is a faulty interpreter, then my brain is a faulty interpreter - nothing else to say.

prgnify
Автор

Man, I love this format of interviewing. None of this is dumbed down. These talks are excellent. Hell yeah, Lex!

michaelwalker
Автор

I've been programming professionally for 30 years. When proper IDEs came into existence, it was a "halleluiah" moment in developing. Why anybody wants to make it harder on themselves I have no idea. Now with stuff like intellisense and code analysis, code is much more rock-solid than it used to be.

larrybud
Автор

Been a programmer for over 25 years now.... I still to this day feel like a noob when it comes to programming. So much to continually learn and improve upon. I hate looking at older code for the pure cringe factor of what I was thinking and doing at that time. lol John is such a legend. Man, what I would give to be a fly on the wall watching him work. I'm sure most of us would learn so much just by observing his programming habbits.

CNC-Time-Lapse
Автор

Glad to hear a programmer who understands the fallacies of programmers.

rb
Автор

I think a big part of why programmers at the bigger tech companies tend to avoid debuggers is because those companies tend to be the first movers into the big, complicated microservice/service mesh/distributed dev-ops heavy architectures. As a consequence, they often have really complicated in-house stacks running on huge clusters with protobuffs being pushed around to countless different places for any given action. With games, you at least have the luxury of running everything on a single box. Of course multithreading is still a problem, but your IDE is going to have visibility to most of the code you're actually concerned with. On backends where a call flow can take many jumps between different services, you're severely limited with what your debugger can actually see at any given time. I personally prefer to use a debugger, but I've found that I often have to write purpose-built integration tests or set up really specific scenarios just so that I can get a consistent point to step through the code from. So I can see how the aversion to them could be a sort of adaptation to the environments that a lot of devs at large tech companies are developing in. Then again, I'm not John Carmack. I'm just some dude on the internet

atrainIk
Автор

As an embedded developer, the debugger is invaluable. You can only debug so much with a blinking LED or sending data out via SPI or on a UART, if you're lucky enough to have that on the hardware you're working on. I mean I've done it, but only when there was no other option.

thefekete
Автор

been in a super dark place, getting sober, going back to school etc, thanks for keeping me going with these convos. forreal

champboehm
Автор

Finally someone that makes some sense. I've seen so many "ex-google employee" etc videos where they advertise programming with sticks and stones because that's what the "pros" do. I worked as dev for over a decade now and always wondered if they're trying to troll.

epicadventureturtle
Автор

One of my favorite things to teach new graduates and less experienced programmers is how to sit down and use the debugging tools in Visual Studio or Jetbrains IDEs. Conditional breakpoints, putting a watch on variables, and the ever powerful intermediate window. How anyone would ignore these tools, knowingly, is beyond me. You can sit there and write your print("i got here xx1234") all over your code if you want... i'll be busy actually getting stuff to work. Also, the code refactoring tools in modern IDEs will actively train you to be a better programmer and learn new language features. I understand the romanticism of sitting there in a console and banging it out, but you're making your life harder than it needs to be

michaelmoore
Автор

It's refreshing to hear a programmer that I've always looked up to reflecting my feelings on using an IDE like Visual Studio. My first course after high school was one in game development and I'm forever grateful that they had us using Visual Studio from day one. When I went to a more traditional university a few years later it was all about command line tools and print statements. I appreciated being taught how to use those tools, especially gdb, and the different way of debugging when it's just you and your code staring back at you. But I never understood why IDEs were so fervently ignored. I watched so many others struggle to get even simple C++ programs to work because learning the language was already a huge mental leap and learning when they got it right and when they got it wrong was too much at those early stages. I think it turned some of those students away from programming for good when some guidance from industry standard tools like VS would have gone a long way to helping them. I'm currently studying again and the university I'm at loves Linux and gdb, but for all the assignments I find myself using VS or VS Code and the remote debugging features with WSL2 to write and debug my code because it's where I'm comfortable, and I think ultimately it saves a lot of time.

tomburridge
Автор

1:23 Hats off to Borland! I think their Turbo Pascal IDE was an excellent environment for coding back in the old 80286 days!!! Their technical manuals were superb, also. You really could dive into the manuals and learn a lot about coding.

FlatEarthMath
Автор

When John hired me after I made Threewave CTF, one of the first things he did was buy me a copy of Visual Studio. Been using IDEs like that ever since.

zoidctf
Автор

So much respect for this man. Lex this might be one of your best podcasts!

sanjindervisevic
Автор

What John talks about at 04:08 is what I do. And then after stepping through the new function I'll write a unit test for all the things that went wrong during the initial development of the function. Debuggers and TDD are a godsent for me.

fretboardrunner
Автор

As a unix admin I use vi (not vim) - it works on all flavors of unix. As a programmer I use visual studio code. The world is not black and white. Don't judge the tools people use. Admire masters no matter what tool they use 🙂

ThomasSIversen
Автор

John Carmack is a legend and it's so inspiring just listening to him 👍

Babush
Автор

Surprisingly funny and very informative. Carmack is a great interview.

EJ-K
Автор

Re: min 08:55, since Lex loves asserts so much, I would encourage him to take the time to tryout Eiffel and "Design by Contract", the language that takes asserts to the next level, with many specialised forms, each with their own keyword.

AndersPerssonBSharp
Автор

Every time John Carmack speaks, it's time to pay attention. He's always got something useful to say. He's so right about the value of IDEs, I feel crippled when I can't debug PHP code on a remote Linux server or I have to resort to printing of variables to debug something. It's lazyness, because it's hard to set up debugging in some environments. Visual Studio has gotten amazing with static checking of C# code. I should use it more, though I absolutely love VS Code because of how many languages it can support and how lightweight it is.

Gersberms