20 ms·
John Carmack: Best Programming Setup and IDE – Lex Fridman Podcast Clips
- tpmx 4y agoFor e.g. (single process) C++ development on Windows it's probably hard to beat Visual Studio and its debugger. Perhaps he's a little biased in his broad conclusion because this is the kind of work he often does?
- pjmlp 4y agoFor multiple process and threading as well. I keep meeting people unaware of parallel tasks, parallel stacks, graphical thread dependencies,....
- deleted 4y ago[deleted]
- nextaccountic 4y agoDoes VSCode have a nearly as good debugger?
- wudangmonk 4y agoThe killer feature is really just the debugger but having decent debuggers is a Windows only feature. I have no idea why people are mentioning VSCode, it doesn't have a good debugger.
- Yuioup 4y agoPrevious dicussion: https://news.ycombinator.com/item?id=32347172 https://news.ycombinator.com/item?id=32347172 Link to the podcast this clip is taken from: https://www.youtube.com/watch?v=I845O57ZSy4 https://www.youtube.com/watch?v=I845O57ZSy4
- axelfontaine 4y agoAmen. Good powerful IDE, debugger, static typing, static analysis and 3 monitors as opposed to a text editor with random plugins, random log statements, dynamic typing and a small laptop screen. Couldn't agree more!
- jstx1 4y agoThere's so much interesting stuff in the full interivew - talk programming languages, how software is written in big companies, games and history of games, AI, VR etc. It's always interesting to hear about how Carmack thinks and works. He had some very pragmatic takes too (not liking lisps for large projects, wanting to write more Go if he has the opportunity, nice things to say about JavaScript...) The original HN post got derailed into talks about Lex, and I don't think that most people had even watched / listened to a 5-hour podcast at the time of the discussion.
- pm3003 4y agoI only listen to two long podcasts regularly (and the occasional Lex Friedman or JRE, though they’re usually shorter): - Alles Gesagt from German newspaper Die Zeit (almost half of them are in English). These are interviews that go on until the interviewee says a magic word. They usually do them at the interviewee’s home. - Dan Carlin’s Hardcore History, my favourite on long drives.
- labrador 4y agoJohn Carmack expressed exactly how I feel about having a good debugger. I've never heard anyone say that or comment on that, so it was nice to get confirmation from a master programmer.
- mrweasel 4y agoAround 15 years ago I worked as a .Net developer, using Visual Studio, and I loved having the debugger available. I might be less clever than others here on HN, but the debugger helped me locate so many stupid mistakes extremely quickly. Sure you could just read the code an reason about the flow and structure and find the bugs that way, but that takes me much longer. After the .Net jobs I pretty much switched back to Vim, TextMate and other text editors, and frequently forgot that debuggers are available. As Carmack points out, if they are difficult to use, you'll find yourself using them much less. For some reason I've found myself in environments where IDE are seen as second rate. Like training wheels for less skilled developers, but you know what: I want a debugger, I wanted integrated into my code editor and that's good enough for a guy like Carmack, then it's good enough for me.
- labrador 4y agoLike he said, our brains make mistakes interpreting the code and running it our heads. Sometimes you need a debugger to see what's really going on, especially as the system becomes more complex
- redthrow 4y agoAnother master programmer Linus Torvalds seems to have the opposite attitude though https://lwn.net/2000/0914/a/lt-debugger.php3 https://lwn.net/2000/0914/a/lt-debugger.php3 Wonder if there's a difference in average attitude between people who do creative stuff (e.g. games) vs people who do infrastructure type stuff (e.g. Linux kernel)
- labrador 4y agoYes, but of the two, which one would you say is happier? Some people like doing it the hard way because they think a bit of suffering is good for you.
- transfire 4y agoLOL You can’t program in C/C++ without a debugger!
- beebeepka 4y agoI am yet to watch the video but I have been following (except his twitter as I don't like the service) this guy for almost 30 years. Listened to many QuakeCon keynotes. Arrogance is not something I have observed. Is he not allowed to share his perspective on doing things? I doesn't have to work equally well for everybody
- meitham 4y agoI think his views are understandable in the lights that most games developments targets Windows platform, and text editors with GDB were for a long time not as mature on Windows compared to Linux. His comment on not keeping code in your head also aligns with the fact that most games development prefer object oriented approach to model characters and other entities, and that lends itself less toward reasoning about code in your head as opposed to FP.
- laumars 4y agoHe’s done plenty of work in FP too. His point wasn’t that good programmers couldn’t work the way you describe but rather “why wouldn’t you want to make programming easier for yourself by using these tools?” It’s a really pragmatic opinion and shows a real maturity and lack of ego. Something a lot of self-proclaimed “rock star” developers could learn from.
- klohto 4y agoMost game dev is OOP because most games are C++ for performance and graphics, not because of reasoning.
- badsectoracula 4y agoGDB can work as a backend for an IDE and even in mid-2000s you had VS-like IDEs like Anjuta that provided a very decent interface. A little bit later Eclipse/CDT did a great job and IMO in terms of features it was better than VS around late 2000s / early 2010s. It did eat up all the system resources though (i used to have "only" 1GB of RAM on my midlate-2000s PC and until i added another 1GB i had to choose between Eclipse/CDT and Firefox if i wanted to avoid constant HDD noises :-P). I remember working at a gamedev studio around 2007 and while almost everyone else used Visual Studio 2005 (i think, i don't remember exactly), i used Eclipse/CDT with some makefiles that another developer (who used Vim) had written and always felt VS was more limited overall. (it has been almost a decade since i used Eclipse/CDT though, i don't even remember why i moved on from it)
- KerrAvon 4y agoXcode tried to use gdb as a backend for a long time and it was awful. It only got better when they moved to lldb.
- zmmmmm 4y agoSuch a joy to listen to Carmack talk about just about anything. Not sure if it's an age thing but there is a particular feeling common to contemporaries of that era, growing up in our formative years as computers grew from their humble beginnings to the incredible machines we have now. At that time, each new improvement brought astounding differences in capability. In the space of 10 years we went from 8k to 64k of memory, 4 colors to 256 colours to 16k colors to 16M colours. Resolution from 320x200 to 640x480 to 1024x768, which was close to photo-realistic (for the time, an amazing capability). I remember how revolutionary it was when I first got a computer that could render 80 columns of characters - rather than 40. Storage went from tapes to floppy drives storing a hundred kb of data to MB to hard drives storing GB of data. Every time one of these changes happened, a vista of opportunity opened up to explore and innovate and figure out what you could do with the new capabilities. Writing code in those times was all about deeply understanding the internal capabilities of the machine you had and how to get the most out of them. Something about that process forged a deep appreciation for the fundamentals of hardware and software that I don't know how anybody could get these days.
- kajecounterhack 4y agoOne generation removed from that, folks got their start programming on the web. Some similarly developed great understanding about the internals of web browsers and how to get the most out of them. I don't think that's less beautiful :) Each generation will forge deep appreciation for stuff higher on the stack. And there will always be folks working at the embedded boundary, forging deep appreciation for the folks who blazed the trail you described before them. Also, to be fair, it's easier to learn stuff today than it was 20 years ago. You don't need to invest as much time and the resources are a lot better (yay for YouTube!)
- loup-vaillant 4y agoCurrent stacks are much bigger and much more opaque than the 90’s hardware was. On top of that computers are fast enough that the need to go lower lever is significantly lessened. Because of this, it is likely a much smaller proportion of current programmers will get to learn about low level stuff, despite the much greater availability of learning material. Cutting corners is not the only reason why software slows down as hardware speeds up. Many people just have no idea how fast their computer is supposed to run, and their "fast enough" is often much slower than it could be. And in some cases that’s the difference between "fast enough to make a smooth animation", and "slow enough that I need a spinning wheel".
- NGRhodes 4y agoWould loved him to go into more detail about his approach to coding and how debugging fits into the picture. I personally treat debugging as a last resort for when unit testing and verbose logging are insufficient. I can't remember the last time I debugged a scripting language, but I used to frequently did bug C#
- aborsy 4y agoI am curious: how does this guy Friedman make a living?! His full time job seems to be running this podcast interviewing people. Every few days he publishes a 2-hour long interview. He distributes ads, I am not sure how much that brings in.
- barefeg 4y agoHe’s a lecturer at MIT
- aborsy 4y agoWhat does he teach?! He does not seem to have papers on AI and machine learning. Update: As commented below, he does have papers.
- TJSomething 4y agoLooking at the MIT directory, he's a research scientist and isn't teaching anything this trimester, but has previously taught a few courses on deep learning. He has 78 papers published. He has an office in the Ray and Maria Stata Center at MIT.
- gtsnexp 4y agoNot sure thats still the case.
- jackblemming 4y agoThe same way Joe Rogan does, just on a smaller scale. 1/100th of what Joe Rogan makes is still an extremely comfortable life.
- mongol 4y agoLex seems to be on a trajectory to really make it big. It is amazing what kind of guests he is having. Perhaps if he turns it more mainstream he will become the next Rogan?
- noisy_boy 4y agoCouldn't agree more on the monitor real estate - the difference is day and night. Also, I am one of those developers who rely a lot on log statements. It is probably a combination of old habits (having getting started coding with shell scripts which don't have the kind of debugging support full-fledged languages have) and past difficulties troubleshooting as a production support person (you always remember those painful moments so now that I'm a developer, I want to make my logging as helpful as possible to my fellow support folks). Great point on debuggers though - I need to use them a lot more.
- deleted 4y ago[deleted]
- Barrin92 4y agoI'm one of the people he talks about who moved from diehard Emacs use slowly to more and more VSCode use largely due to the better UI experience around debugging and integration of a lot of modern tools. His point about features not being used when they're complicated to reach despite people claiming that they'll use them is a true observation in particular. You always can set up a lot of those features in your unix-style environments, but you're just not as likely to use them if the experience is somewhat scuffed. As a sidenote I wonder if he's ever used Pharo, it seems like the kind of thing he'd like.
- baby 4y agoSame here, sort of. I've been using like 30 IDEs throughout my life, and chose emacs over vim during the period I was trying to stay within the terminal, but VSCode is the best IDE I've ever used period.
- wiseowise 4y agoHave you tried IntelliJ products?
- girvo 4y agoI have, and previous to that I was a big fan of Komodo IDE. One weird feature that I love from both VSCode and Komodo is the ability to open a folder as a project, no need for an actual project file or other IDE specific handling of it that older style IDEs always seemed to a require. The feature set of the IntelliJ products are quite excellent of course, but for whatever reason my need for some weird IDE-editor hybrid where the filesystem is what matters, not the project, always meant I bounced off them.
- zo1 4y agoI regularly open folders as projects and the intellij (pycharm in my case) IDE creates it as a project without hassle. Just add a bit of a script to cleanup any ide project cruft it creates and I'd say you're mostly there. Compared to all I get from a real ide, VSCode is like a stone age dinosaur.
- baby 4y agoI've been trying to listen to the whole thing (it's 5 hours!), and there are some really interesting moments. Albeit, a bit too much talk on old video games that aren't from my generation, but I'm sure this will be interesting to some people to. What I found interesting: * he has insane hours and has never burnt out. He says that if you want to achieve big things in your life, you need to work a lot. He also says that as long as he's working, and making progress (and he always makes progress when he keeps trying, reminds me of Linus), then he can withstand his hours and pressure. * he learns a lot through reading computer science books * he is really big on simplicity, seems to appreciate Golang and its design, and he's not into metaprogramming on C++. I really like that he's focused on building things that work, and can be maintained, and not that interested in theory and advanced concepts that don't seem to bring him much. He also says he spent some time on the functional side, and that probably made him a better programmer, but he's back doing C++. * he talks about the sort of hacking community he felt part of, where you just wrote code and shared it and reused other people's code. It really feels like open source is something else, made me feel bad about all these patents, and weird licenses (even Apache 2 or MIT) and academic people whining about credits. Wish we could just share and use whatever and be happy with it :( * Agree with him, VSCode is THE IDE. It's much better than emacs IMO (I've tried using vim many times but couldn't). * 8-9 diet cokes a day. Holy fuck. That's a lot of caffein (and I'm guessing not good for the teeth)
- royjacobs 4y agoI think Carmack was mostly talking about regular Visual Studio as his IDE of choice, though. Not VSCode.
- tibbydudeza 4y agoBear skins and stone knives - LOL - PyCharm made my life so much easier.
- heynowheynow 4y agoHas only a hammer and looking for nails. What takes appreciation is the differences between a DOS game executable and a modern hyperscale backend app server fleet. gdb-server ain't going to solve many problems on 500k boxes.
- laumars 4y agoHe’s talking about his field. Clearly gdb isn’t going to cut it for all fields within programming. You wouldn’t use gdb for HTML nor PL/SQL, for example. But these fields have their own debugging tools too. As does working on server fleets. I don’t really see the need to get snarky about his comments like that.
- pjmlp 4y agoEven PL/SQL has a quite nice debugger.
- prvc 4y agoAny tips or caveats for using VS6 to develop modern software?
- cudgy 4y agoWhat is “modern software”?
- badsectoracula 4y agoInstalling VS6 on modern Win10 can be annoying. Might actually be easier to make a dedicated Wine prefix on Linux :-P. Anyway, there is an article written on CodeProject[0] a few years ago about installing VS6. It may also work on Win11, however due to the changes over time you need to do some more additional stuff: 1. Do not install the OLE/COM viewer 2. Ensure the installation finished propertly otherwise SP6 wont install 4. Install SP2 CD if you have it (it was part of my own VS6 box) 5. If setupsp6.exe wont run, copy sp698ent.stf to acmsetup.stf and run acmsetup.exe instad 6. Install tlloc fix from [1], otherwise the debugger wont be able to terminate finished applications After all that Visual C++ 6 should work fine. For VB6 you may want to run it in Win9x compatibility mode, otherwise you'd get some slow drawing in the form editor. But something like Lazarus[2] would be better if you want to throw together some GUI app, it isn't like there is any special integration between VC6 and VB6 (something that i always found weird - ideally VB6 should have been able to use VC6 headers or even C sources directly just by making them part of the project, kinda like how you could mix Delphi and C++ in later versions of Delphi and C++ Builder, but for some reason Microsoft treated VS6 and VB6 as if they were each being made by a different company and only coincidentally happened to be on the same CD). Though honestly if you have enough RAM, VS6 isn't really that much faster compared to modern Visual Studio. From that time period something like C++ Builder 1 is way faster. [0] https://www.codeproject.com/Articles/1191047/Install-Visual-Studio-on-Windows https://www.codeproject.com/Articles/1191047/Install-Visual-... [1] https://github.com/pinchyCZN/VC6x64Fix https://github.com/pinchyCZN/VC6x64Fix [2] https://www.lazarus-ide.org/ https://www.lazarus-ide.org/
- laumars 4y ago> ideally VB6 should have been able to use VC6 headers or even C sources directly just by making them part of the project You could access compiled DLLs from C and C++ projects within Visual Basic. Not quite the same thing as headers I know but it did at least fill that gap that you described.
- jbverschoor 4y agoBecause webdevelopment is usually short-lived request-response, and very stateless, there’s little value of a debugger. That said, I love good debuggers.. basic, C++, Java, all had great tools. I always ran my Java servers with hot code replace.. saves you hours of startup time
- OliverM 4y agoAre there no good UI experiences you can bolt onto gdb? Do Emacs/Vim not have nice modes that take some of the pain away? I've no real experience with using gdb - my main debugger usage has been on the JVM or using old Borland debuggers on Win32. Are there no good open source user-friendly debuggers out there? I tend to develop software interactively with a REPL where I can so if a good debugger can give you something akin to that experience I'd be very tempted to jump ship from emacs to VSCode to try it for languages like C/C++.
- OliverM 4y agoHmm it does seem like Emacs is growing support for the Debug Adapter Protocol (DAP), the LSP-alike convention that allows language developers to build language-specific debuggers that tie into the VSCode UI: https://github.com/emacs-lsp/dap-mode https://github.com/emacs-lsp/dap-mode
- emidln 4y agoCLion has a good debugging story and is based on gdb/gdbserver. Emacs has a couple gdb modes which are fine, and a DAP mode which is very good.
- imaltont 4y agoEmacs comes with a built in debug mode that works with several debuggers, including gdb, out of the box. There are also things like DAP-mode. Vim has Vimspector which is pretty decent as well as a debug/gdb mode introduced in vim 8 that I have not tried yet. There is a built int TUI as well, but I haven't tried it too much. There are probably stand alone interfaces available too that I am not aware of.
- davidatbu 4y agoI really hope that the Debugger Adapter Protocol (DAP) from Microsoft catches fire like the Language Server Protocol (LSP) did, because I think it would do the same thing to debugging that LSP did to language intelligence/refactoring. Both vim and neovim have DAP client plugins, but many DAP servers/adapters are not well maintained, so the overall experience isn't great.
- rvdginste 4y agoIn 2000-2006 I implemented garbage collectors in C on Linux. I used Emacs and GDB, and likely also DDD and GDB from within Emacs. I don't think there was anything better back then. It's been a long time since I used C, but I wonder whether VSCode really gives a better experience than Emacs. Nowadays you can use Emacs with an LSP server, which is likely also what VSCode is doing. And there are Emacs distributions like Spacemacs and Doom Emacs that take away the configuration pain. As someone who has used Emacs for a very long time, I'd be tempted more into looking at CLion from JetBrains instead. Regarding the comment about the debugging. For me personally, I always take the time to study the code first before I start debugging. A lot of times I already find the problem by just reading the code and even if that is not the case, I have a much better understanding about how the code is supposed to behave and that makes the debugging session a lot more useful. And I say that because I have the impression that it is common for developers to dive straight into a debugging session without a good understanding of what the code is doing or trying to do. It's like they see the sympton and want to fix the sympton instead of fixing the core cause. But that might just be my background with garbage collectors: in that case the sympton only becomes visible a long time after the actual problem occurred. The sympton was often dereferencing a pointer that failed, while the problem was the garbage collector writing a wrong value for that pointer in one of the earlier garbage collections. And that led to a lot of assertions in the code to catch problems early on.
- omegabravo 4y agoLanguage Server Protocol (LSP) came from the VSCode team.
- alkonaut 4y ago> Regarding the comment about the debugging. For me personally, I always take the time to study the code first before I start debugging. A lot of times I already find the problem by just reading the code and even if that is not the case, I have a much better understanding about how the code is supposed to behave and that makes the debugging session a lot more useful. And I say that because I have the impression that it is common for developers to dive straight into a debugging session without a good understanding of what the code is doing or trying to do. I don’t understand this sentiment about “modern” (interactive, user friendly) debuggers. Simply because you have a tool doesn’t mean you have to skip the step of trying to understand the code. Is the suggestion seriously to avoid having tools that are objectively better because there may be a temptation to use them too early, whereas having only more primitive tools would do better? I have seen the same argument about syntax highlighting. That pretty colors makes for sloppy code reading and monochrome text means you read slower and thus more thoroughly…
- the_black_hand 4y agoVim mode on VScode is pretty easy. Msft nailed VScode by making it an easy electron app that gets up and running . An improved sublime.
- sgt 4y agoWhen I tried vim mode on VSCode it seemed to have extremely few vim features. So it's basically more to get the vim keys. That was one of several reasons why I didn't like VSCode.
- FPGAhacker 4y agoI suppose it depends on what vim features you use but it hits the sweet spot for me now. I frequently use macros and block editing, as well as tim pope’s surround. I hit edge cases occasionally still though I can’t think of a specific one right now. When it happens I sometimes open vscode’s terminal panel and Do a quick edit in nvim on the spot without leaving vscode. Vscode has replaced putty for me in my workflow.
- arendtio 4y agoI find it funny that John seems to be such a fan of debuggers. One of the first projects I worked on, as hobby, was based on the Quake 3 engine (which was one of the projects Carmack worked on). However, especially with real time applications I find the use of debuggers particularly difficult, because there are a lot of bugs that depend on timing and which are therefore hard to catch using debuggers. Nevertheless, I completely agree, that good tooling is absolutely essential. Even as someone who likes the minimal setups (e.g. tmux+vim), I know that you should ask yourself often, if you are using the right tool for the job.
- deleted 4y ago[deleted]
- TT-392 4y agoI can't be the only one who likes the commandline gdb experience right?
- anotherhue 4y agoI use it, but I wouldn't say 'like'. Don't forget that a terminal puts off 4/5 developers.
- LAC-Tech 4y agoReally? The idea of developing without a terminal is incredibly weird to me.
- odiroot 4y agoNot using GDB much but I definitely love ipdb (for Python). It's more natural to me now than any IDE's UI.
- bregma 4y agoNope. You're not alone.
- cryo 4y agoUp until rencently I didn't like gdb much, but this was mainly for one thing I got wrong all the time: Make a code change, recompile, restart gdb and start again debugging. Then I learned: you never need to stop gdb! Just enter "r" and it will restart the program with the fresh changes leaving all breakpoints and setup intact. Game changer to me.
- smitty1e 4y agoAnother clip from the same interview on the "best" programming language => https://youtu.be/RfWGJS7rckk https://youtu.be/RfWGJS7rckk
- spaceman_2020 4y agoHonestly the full five hour interview is gold. And Lex is a great interviewer since he can keep up with him.
- trollied 4y agoIt is great. I'm hoping he does a part 2, this Tweet from him suggests it'll happen: https://twitter.com/ID_AA_Carmack/status/1555240951911686144?s=20&t=jza24qJoPObwODK-cxwbJg https://twitter.com/ID_AA_Carmack/status/1555240951911686144... (me reading between the lines!!).
- bilalq 4y agoVSCode is definitely the first IDE I've ever felt satisfied with. I still run it with vim keybindings and will often pop up the VSCode terminal to run actual neovim for certain workflows, but it feels smooth switching between the two. Eclipse, IntelliJ, and especially XCode feel so frustratingly slow and confusing in comparison. The tight focus on the developer experience with TypeScript was what won me over. Functionality like live share has been a game changer. The extensibility is also pretty great and doesn't feel like I sacrificed that aspect of vim either. If anything, it even surpasses it because of the UI possibilities. Some personal examples that come to mind are: * Live preview rendered markdown as you edit * Live preview MermaidJS diagrams as you edit * Live preview MJML email templates as you edit * Live preview draw.io/diagrams.net diagrams as you edit * Live preview SVG images being edited/generated by code * Work on Jupyter notebooks and actually run them
- lloeki 4y ago> Live preview SVG images being edited/generated by code Glad you like that one, I was probably the lunatic that kickstarted that hack of an idea back in the Atom days :) Can't recall if I ported it to VScode or if someone else did/copied the idea (not that I care! I just needed such a tool in a pinch and then gifted it for someone else to take over) https://github.com/josa42/atom-svg-preview/commit/995e4fe0ba81ea5cc279bbb52a5688beac3b170c https://github.com/josa42/atom-svg-preview/commit/995e4fe0ba...
- bilalq 4y agoThanks for being an inspiration, haha. I was working on iterations of shields.io style badges and this was a life-saver.
- chrisan 4y agoCan't speak to Jupyter notebooks but the rest works on Jetbrains products too, something I find closer to Visual Studio (what Carmack was referring to) than VSCode
- davidatbu 4y agoFor context, I daily-drive neovim and: > Live preview rendered markdown as you edit I use a plugin for that. > Work on Jupyter notebooks and actually run them I use a "repl plugin" for that, and I actually prefer the experience over Jupyter a lot! (even discounting the vim keymaps). > Live preview SVG images being edited/generated by code. Now that is something I didn't even consider. There's probably a plugin for that and I'll look into it lol. I've never needed to do the rest, but I can imagine how helpful those features would be If I did. To be clear, setting up even the two plugins above was not easy (in that, I probably spent about 2 hours between the two), so I think this comparison, by itself, actually favors VSCode.
- deleted 4y ago[deleted]
- todd8 4y agoI've programmed for a long time. One of the best programmer's I've known actually had his own debugger. He was an OS kernel developer and carried the debugger with him from job to job; we were working on the new operating system at IBM that would become AIX. He was a bit of a nuisance in the large development organization because he would wander around the kernel in his debugger fixing code before others had even noticed the defects. We were working on a distributed file system, and I had complained that we couldn't be expected to finish on the same deadline as the hardware device driver teams and the network stack teams. How would we even develop our software if we didn't have any working communication between machines? Well, my friend came to the rescue and wrote the kernel support for the NIC and a comm stack up to the level of UDP (having a debugger helped). Eventually, the managers of the other departments that wouldn't cut my team any slack on our schedule started coming around to ask us for help because they were falling behind schedule. They were responsible for the official development of the network device drivers and networking, and it turned out they didn't have a working kernel debugger like we had (thanks to my friends personal one), so they had fallen behind schedule while we were already making good time on our distributed file system running on top of the our own hacked together temporary device drivers and networking code. I had to lend the teammate and his debugger to the other two teams to help them with their schedules.
- pragmatic 4y agoI’d love to hear more about this. What happened to this guy and the debugger? I’m guessing he got fired and moved to a cabin in the woods. No way talent of that level can exist in a corporate environment too long. Too much jealousy, etc and the higher ups usually can’t stand someone who won’t play by their rules even if the results speak for themselves. Hope I’m wrong.
- sam36 4y ago
- wkdneidbwf 4y agotasteless reference to terry a. davis?
- avl999 4y agoUsing a JetBrains IDE (or whatever IDE) + Vim plugin is the best of both worlds. Writing code is composed to two tasks: 1. Pure Raw Text Editing: This stuff like jumping around within a single file, making edits. Vim really shines here with keybindings that become muscle memory & are portable cross platform- for example I am forced to use a Mac for work but use Linux for my personal stuff, the keybindings for the exact same tool are often different between mac and linux. Vim really shines here 2. Work that requires you to consider the language AST: Stuff like refactoring- renaming something through the entire codebase, jumping to definitions and implementations, auto-completing symbols. This is where I fall back to IDE features as they are unambiguously better at it than Vim. (Yes I know you can get this type of stuff kinda working in vim but it has never worked well enough to my satisfaction... you have a to install dozens of plugins, often a plugin for each language that you want syntax support for which adds bloat and in my experience I have never gotten them to work quite right in a reasonable amount of time)
- georgewsinger 4y agoAn underrated John Carmack factoid is how he leveraged ultra-premium workstations (several years ahead of the rest of the market) in order to create the Doom & Quake series[1]. In 1991, before embarking to work on his early FPS game titles, John Carmack spent $11,000 ($23,219.85 inflation-adjusted) on a NeXT workstation. The story of his purchase is chronicled in Masters of Doom: > On a cold winter day, Carmack laced up his shoes, slipped on his jacket, and headed out into the Madison snow. The town was blanketed in the stuff, cars caked in frost, trees dangling ice. Carmack endured the chill because he had no car; he'd sold the MGB long before. It was easy enough for him to shut out the weather, just like he could, when necessary, shut Tom and Romero's antics out of his mind. He was on a mission. > Carmack stepped into the local bank and requested a cashier's check for $11,000 [$23,219.85 inflation-adjusted]. The money was for a NeXT computer, the latest machine from Steve Jobs, cocreator of Apple. The NeXT, a stealth black cube, surpassed the promise of Jobs's earlier machines by incorporating NeXTSTEP, a powerful system tailor-made for custom software development. The market for PCs and games was exploding, and this was the perfect tool to create more dynamic titles for the increasingly viable gaming platform. It was the ultimate Christmas present for the ultimate in young graphics programmers, Carmack. – Masters of Doom, pg. 93 Carmack also shelled out $10K to use the world's first 1080p monitor, which he used to create Quake I, Quake II, & Quake III: > [In] 1995, Carmack spent $9,995 on one the first 1080p monitors: the Intergraph Interview 28hd96. This monitor was gigantic, but the extra screen space and image quality surely came in handy during the creation of the Quake trilogy. It provided a 28" screen with 1920x1080 @ 85Hz, a resolution not unheard of on today's hardware. Essentially, Carmack was able to trade $9,995 of 1995 money for a monitor that put him decades into the future. [1] https://simulavr.com/blog/paying-for-productivity/ https://simulavr.com/blog/paying-for-productivity/
- triyambakam 4y agoHis comments on Vim are rather annoying and surprising. He says he spent a week using pure vi (not vim) as a test in comparison to Visual Studio (or whatever IDE). Such a poorly informed comparison. I don't really care what he uses, but it's annoying that he chose the absolute worst way to do the experiment and concluded, unsurprisingly, that it isn't worth it. Yeah, I don't want to use vi either. That's why I use Neovim with Language Server Protocol (LSP) plugins that uses the same "intellisense" as VS Code does.
- SantiagoElf 4y agoCarmack said he is using Visual Studio - the full, big, freaking IDE. Not Visual Studio 6.0, but the latest version ( I assume 2022). So, to repeat Carmack IS NOT using VS Code, but the full Visual Studio on Windows. Amen.