Це відео не доступне.
Перепрошуємо.
Andrej Karpathy: Best IDE for programming | Lex Fridman Podcast Clips
Вставка
- Опубліковано 17 сер 2024
- Lex Fridman Podcast full episode: • Andrej Karpathy: Tesla...
Please support this podcast by checking out our sponsors:
- Eight Sleep: www.eightsleep... to get special savings
- BetterHelp: betterhelp.com... to get 10% off
- Fundrise: fundrise.com/lex
- Athletic Greens: athleticgreens... to get 1 month of fish oil
GUEST BIO:
Andrej Karpathy is a legendary AI researcher, engineer, and educator. He's the former director of AI at Tesla, a founding member of OpenAI, and an educator at Stanford.
PODCAST INFO:
Podcast website: lexfridman.com...
Apple Podcasts: apple.co/2lwqZIr
Spotify: spoti.fi/2nEwCF8
RSS: lexfridman.com...
Full episodes playlist: • Lex Fridman Podcast
Clips playlist: • Lex Fridman Podcast Clips
SOCIAL:
- Twitter: / lexfridman
- LinkedIn: / lexfridman
- Facebook: / lexfridman
- Instagram: / lexfridman
- Medium: / lexfridman
- Reddit: / lexfridman
- Support on Patreon: / lexfridman
Full podcast episode: ua-cam.com/video/cdiD-9MMpb0/v-deo.html
Lex Fridman podcast channel: ua-cam.com/users/lexfridman
Guest bio: Andrej Karpathy is a legendary AI researcher, engineer, and educator. He's the former director of AI at Tesla, a founding member of OpenAI, and an educator at Stanford.
Any chance of taking to chuck Moore?
The 'lazy programmer' problem is the same problem with 'almost' self driving. If you not actively driving, you are not really able to just 'jump in' when there's an emergency, because you've not been 'following along' so to speak. But I think Copilot will become my favorite tool, especially as I am, by nature, a lazy programmer.
I use all.
Lex, your interview style is the best as a cloud platform architect you ask the questions I would but you have access to the greatest minds of our generation. You are the greatest resource on YT, please always stay humble, you are my hero👍
if you need raw cash reply to this comment
I started using ML tools in my programming 2 years ago and ran Tabnine + Copilot simultaneously for few months. Then I noticed Tabnine contributes way less to my code than Copilot so I dropped it. It's really fantastic for anything that has patterns and sometimes when you first write a comment it will take a look at it and offer suggestions. I don't know why it doesn't always work with comment first workflow but it will catch the meaning what you're probably planning to do pretty fast. Sometimes it straight up saves a visit to stackoverflow or google.
VS Code with SSH remote is awesome so is LiveShare feature.
Programmers or anything to do with creativity will not be replaced by ML not until a true AGI is birthed, what happens after that is anybody's guess.
Where my VIM gang at?!
🙋♀️
Vim in VScode gamers sound off
VIM in Visual Studio/intelliJ/Pycharm/VSCode. I like productivity
Does evil mode on emacs count?
VIM everywhere i go
I love that 32,000+ people are interested in what someone uses for their IDE. Beautiful.
I still use IntelliJ for Java and PyCharm for Python. I write in LaTeX so both apps integrate LaTeX via the same plugin. For everything else I use Emacs and NeoVim, although LaTeX is also extremely well handled by latter two apps, as well.
What plugin you use for latex?
@@kyrgyzsanjar It depends on the app. PyCharm/IntelliJ: TeXiFy, Emacs: AUCTeX, NeoVim: VimTex.
I use Pycharm from Jetbrains for Python. Haven't used copilot yet, but it looks promising.
Works with copilot, it's great.
love pycharm for django dev
Started copilot today. Its pretty smart.
I transitioned to C++ at work and downloaded Clion because I was so happy using Pycharm for many years.
pycharm kills my RAM
have not used copilot yet, but one thing worries me: the training data set. if the vast majority contains, lets say 30 years worth of legacy, old c++, does it help with changed paradigms and language constructs? i see a case for boilerplate for notoriously boilerplatty languages or the mentioned copy/paste/modify but for everything else?
I have the exact same setup. VS Code running on a Mac but remotely connected to a Linux instance usually on EC2.
Additionally, if you’re working with python, use virtual environment and Pycharm integrates perfectly with that env
I love Copilot, I agree that it is very good at finding relationships in my code to suggest code after giving a comment of explanation. I have my first software job out of college and I purchased copilot before I started because I just loved using it, but I’m afraid it will make me a bad programmer. It saves me a lot of time day to day, which I think right now gives me more value than the thought of me not being the best programmer.
You're riding with training wheels.
Vim. The only IDE I've found to be tolerable after 20 years as a c/c++ programmer is QTCreator. But I still find myself spending most of my coding time in vim, all other IDE's, no matter how I customize them, end up just getting in the way and frustrating in the end.
im more of an emacs guy because I like my gui.
@@hwstar9416 About 5 years ago after finally reaching the end of my patience with the various IDEs out there, I did about a weeks work reading up on and watching videos about emacs and vi. I didn't want to take the time to learn them both properly to make a decision, just wanted to pick one. Vim swayed me mostly because of how lightweight it is and how ubiquitous it is across every environment I ever find myself in.
I was using gvim for Windows for a while, but the new linux subsystem is a godsend. Just open the ubuntu terminal and go directly into vim. It's great.
I've grown to love the vim mode based interface but I don't get into the editor wars, emacs seems to have a lot going for it too.
If someone answers anything except Vim, then they are pretty much objectively wrong. Vim is the most hyperefficient environment out there, and if you use something like neovim with modern plugins, it can do absolutely everything VSCode can do.
@@wardm4 emacs go brrrrrrrrr
@@wardm4 personally I shy away from plug-ins. I draw the line at a vimrc file so I have a consistent setup basically everywhere. New Os or reinstall, I just copy 1 file and I’m ready to go.
0:22 For me a triple monitor is the best. I'm so used to three monitors now its so painful when I'm forced to use only a laptop. If you have the space and can afford three monitors its definitely worth it. (I secretly want a 4th, a TV, above my setup and I keep my phone as even an additional screen below my main monitor. For productivity?! Not really lol)
I have tried using multiple screens (Laptop + 1 External) but found that I was only using one screen effectively. And that I had to now switch control b/w 2 screens instead of 2 applications on a single screen.
I am confused as to how multiple monitors increase productivity for programmers. As a human, we can innately type/read/work on the contents only on a single screen. So how exactly is having multiple screens beneficial? (Unless, ofcourse, you're monitoring anything where u have multiple dashboards or items to be looked at.)
Just looking for some insights on how it is helpful. Tx.
@@pranaysharma2055 My preference is four or five identical monitors (1440p) in portrait mode, which is awesome for me.
I can for instance have [ browser ] [ browser debug ] [ java debug spans 2 or 3 ]
which lets me step through with breakpoints in both web and server side without switching between windows.
Just an example, but feel slightly handicapped with just the one monitor. 1< 2 < 3 < 4 < 5 though the benefit of 3, 4 , 5 declines.
I have 2x 34" ultrawides stacked on top of each other. 2x 1440p monitors on the sides in portrait orientation and laptop arm for X1 Carbon on my right side that I connect to remotely with VS Code remote SSH. Working from home was the one blessing from pandemic.
@@pranaysharma2055 I've found 2 to be super useful in engineering tasks. Whether I'm drawing something in CAD or programming, there is usually something I need to reference - dimensions, some math equations, interfaces etc.
It's so much better to have them open the whole time than switching between screens (especially if you need to copy something over). Sometimes 3 would be nice to have more than one document open as a reference or dedicated space for a browser or file explorer, but usually 2 is enough.
@@pranaysharma2055 I think most of it is a mental/workflow help. Best example is if you have 3 windows open and you alt+tab between them, you are going to have to use brainpower every time you switch windows and look at which one you are switching to, with another monitor you can just put it there and look. People can't look at more than one monitor at a time, it just lightens the load of having to think about how many times to press alt+tab. I went from 3+ monitors to 1 and added keybindings to virtual desktops and my workflow has stayed exactly the same, I just press super+[num] instead of moving my head.
As far I as am concerned, it's always been true that what to make is harder than how to make it. Software teams struggle with this and I don't think that is something that AI would be good at.
Yeah... Good luck debugging that 😁
Anything with vim bindings is decent but imo jetbrains editors are the goat
Jetbrains IDE vs VScode vote and discuss below 👇
Agreed on VSCode. Lightweight + copilot are the killer features for me. It is really a feat of engineering to be that fast and light at the same time.
vscode isnt really that fast nor lightweight. neovim with LSP, treesitter, and DAP is faster and lighter. Though setting it up is definitely not for the faint of heart 😂
@@weirdo911aw well and the learning curve.
Fast and light? Vscode? Lmaooooo
Vscode sucks for MC programming.
What's lite in vscode? The icon? the shortcut? The word itself?
a "copilot" for testing sounds like it would be nice
Lex: What's your setup?
Andrej: VSCode
Lex: What's your favorite IDE?
Andrej: VSCode. It's has really nice copilot integration
Lex: Do you use copilot?
Andrej: ARE YOU EVEN LISTENING?
😂😂😂😂
lex just cant let the guest talk 99% of the time. andrej is the star
It is certainly an opportunity for competent programmers to be even more productive in the near-term. As for the long term, what i can say is there will be no shortage of problems both minor and existential for us to overcome. We need problems to provide us purpose and to command a high standard from us so that we do not regress as a species. The more capable we are, the greater our problems. It's easy to forget that disaster is born from a misuse of potential, but that is not to say the potential itself is at fault. For better or worse, we must learn to adapt ourselves to this new domain of human endeavor so that its energy is utilized to sustain and expand our experiences instead of detract from them.
"With great power comes great responsibility"
Ben Parker - Spiderman
I use VSCode for Typescript but I go to Intellij when I need to work with Java and Kotlin. The different keybindings are annoying, I try to make it as similar as possible with the VSCode keymaps plugin.
Intellij suffers from too many options all over the place and there's either too much bloat in the software or maybe it's just Java's ecosystem but I actually feel way more input delay with Intellij. It made me realize that this is what Primeagen must be feeling when he says VSCode's input lag kills his soul so he uses Vim. Not to say VSCode is free from luggishness when you have a large project with lots of complex typescript functions - would be great if TS server becomes faster.
Copilot is great but I would prefer prompts to appear faster. Sometimes I wait and nothing appears. Maybe it's the latency to Australia. As Karpathy says, it's mostly useful when there's some sort of obvious pattern going on - copilot is great at continuing it. It suggests 1 line at a time for me and I'm guessing there's a way to make it autosuggest an entire block but I'll need to look it up. It's also been useful for me when I work in Kotlin/Java which I don't consider myself fluent in. It's been super handy at introducing me to new APIs in that language.
That's one of the beauties of VS code. It can work with just about any project and you don't have to relearn key binding just to use a different language.
I am all for Jetbrains!
Copilot is fantastic, but you need to create a separate profile or deactivate other extensions. It didn't work very well with many extensions enabled on my machine. I usually work on a Windows 10 machine with the Windows Subsystem for Linux enabled. This setup works for most tasks...
Lex, give VSCode a go. If you program on a strongly typed language, it does half the coding for you and you never have to leave the IDE to check documentation. Things have changed!
I think you underestimate how hard it is for someone used to either emacs or vim keybidings to go to something else
What does half the coding for you, vscode or copilot? Because you can easily integrate copilot on emacs or any editor for that matter and there is nothing special about vscode other than the fact vscode and copilot are both Microsoft products so they have first class integration (minimal to no setup needed by users)
@@warnaoh I get it that change is hard. But to stay relevant in tech we need to embrace change :)
@@Reibaku Copilot is in a whole different level, but I’m talking about VS Code and some free extensions. You barely have to type a few characters of the variable you want to reference and it picks it up for you, does the import and everything. Also tells you the properties of classes you’re using and shows the documentation, all in the ide without having to leave your environment.
VS Code has shortcuts too, nothing exclusive to emacs :) you can code without ever touching the mouse if you want
@@warnaoh I'm an ex-vim user and vs code has a top-tier plugin for vim keybindings. That is not a problem. I'm sure there's one for emacs keybindings too.
JetBrains IDEs are the best IMO
Yeah. You can do so much without leaving the ide. DB access, sending requests, etc. And I know you can install extensions to vscode but from my experience they are never as polished as build-in jetbrains features
After the 2 hours indexing
Eclipse unless you are developing for the Windows GUI, in which case, Visual Studio. For Mac, probably Eclipse, but who really wants to develop on Mac? In my opinion, the Unit Test features of an IDE are much more important to which IDE to choose than the code writing features, since we spend more time testing than actually writing code.
Eclipse? Never, ever again 😂
You're really showing your age with this one. I find that it tends to be older people that use eclipse. And Mac is probably the most popular development machine. I would use it myself if their screens didn't give me a headache.
I love when people say you are showing your age; what they don't understand is you are showing your experience. 🖥💾
Been in this game since the Tandy TRS80 Son 🧃
@@christopherross8358 do you want a cookie or something?
@@christopherross8358, I learned to program on the TRS-80. They were great machines, in their time.
How do you disable all suggestions like intellisense and all that stupidity temporarily in VS code?
by uninstalling it and downloading jetbrains IDE instead.
He give you the answer right at the beginning no need to ask again. Vs Code
I am trying to do this in windows, and not using VS code
Hey I’m using vscode as well.
Also worth noting when thinking about the luddite view (and for those who think the luddites are wrong once again), AI is growing in strength and ability at 10X per year...much faster than Moore's law...so it may well get to the point pretty soon where programmers are more akin to the human managers of automated factories...our job will be to keep the AI working.
That's bad?
When he say that he ssh to a cluster is the same as ssh to a virtual machine? Or is there nuances?
It is an actual linux server not a vm. He uses some cloud server from lambda lab , aws etc
Copilot is the most incredible development in programming over the last 30 years.
Holy balls that guy talks fast! Loved this episode
vscode is my favourite, but i need to use jetbrains IDEs right now and they are nice too.
VSCode is horrible for debugging. I use it for C a lot of the time, but the debugger cannot do good formatting or layouts of data. It's just awkward - and slow.
when he said 0:31 SSH to cluster it sounded like "history repeats itself" as in 1970s people like Bill Gates etc used teletype terminals to code in DEC PDP-10 or something, Cloud computing is like time moving back
The thin-client paradigm is not exactly new
@@marcellkovacs5452 thats right, its just irony that people developed miilion times Powerful compute chips for offline Personal usage than again Online computing still an advance trend
4:15 generative adversarial programming?
Andre is correct - Those who does remote work into clusters know this technique, applies to Raspberry PI development as well.
Good for hotfixes on production :D
@@somechrisguy 100%
Thank you for validating Yaghiyah
Copilot X now includes all things (and more) that were the supposed future of it just 6 months ago. That's wild.
play it at .75 speed this makes Andrej so much easier to understand Lex sounds a bit dim though lols
Alternatively, listen at 2x and be a gen z UA-cam viewer
Alternatively, use AI machine learning and produce a transcript of the conversation.
I like those real geeky questions... What IDE do you use? As a hobbyist programmer I'm really interested to know what set up the pros use.
VS Code is what works best right now for professional development. Its features are incredibly useful like remote access to ssh servers, containers, WSL,etc. Copilot seems to be the future of dev honestly. Most of the older IDEs are getting behind cause of the lack of modern features.
Vscode sucks compared to PyCharm. It keeps amazing me how people jump to the most recent coolaid instead of using the tool they like
Yeah PyCharm sucks. Vscode is actually nice
VSCode with Copilot is killer.
Open Vim in a vscode terminal, then use vscode 100% of the time.
pycharm for python, clion for c++, webstorm for webdev
JetBrains IDEs
Brilliant! And if you guys were hesitation to predict the future, that was because you guys know too much of that !!
Vscode isn't really an ide. It's just a text editor with a fancy clipboard. Useful yes but nota debugger.
It has a debugger I use it all the time for c++ and flutter.
Pycharm my friend. Vscode is good but requires too much setup. Pycharm is ready to go. Two steps and you’ll be running and debugging your python code flawless… I used to love emacs but those modern ides are in another level. Of course, for things like C kernel land code, even vim is just perfect.
I feel like copilot will have a point where managers will try to replace human programmers and then end up with horribly buggy code that causes some massive financial problems and they will have to hire people again.
I dont think financial institutions will do that in next 10 years, maybe some startups...
I had a involuntary physical convulsion when Lex said EMACS!! I learned C++ on emacs and it hurt. I loved their conversation on Copilot. It is like having a conversation with your code. I really enjoy being able to type an intent in a comment to see what Copilot recommends to see if it lines up with what I would do.
My setup is identical to his, except my monitor is 32 inch not 27 inch.... I'm not saying I'm superior.... but come on 32 > 27
I only use VIM
After John Carmack I'm done. I feel he has the best mindset when it comes to how to set up an environment. I say this as a signal processing engineer. I've been in the industry long enough not to take advice from pure AI/ML guys, who live in specific Python and Python-esque environments. This might clash against people looking to be in that world, versus low-level programmers who like to deal with C/C++. Once the language is chosen, your route on environment/IDE closes a little bit. Having said that, I agree that VS Code is pretty much the best *editor* since it can be extended with plug-ins, no matter what language you're in.
This is how I feel about neovim in many ways. Once it finalized native LSP and debugging matured, it became my goto. If it doesn't do something you want? just extend it yourself.
Humans will always need to hit the breaks for automation or A.I. letting a software loose is akin to letting a dog follow its nose.. sooner or later it will get distracted. Always keep your dogs on a leash.
That's how government thinks about it's citizens
Whatever IDE doesn’t have a Microsoft logo on it.
Copilot for math would be nice. Perhaps it exists?
PyCharm CE here..
I watch that and I am starting think that in the future we can programing like the iron man interact with the Jarvis or Friday in the movies
Where is “Skip Ad” button?
Use tramp in Emacs to remote edit over ssh
Jupyter Notebook gang wya
On the rare occasions I need to do actual programming, gotta go with VSCode (Mac life)
Collab better🥱
what do you mainly do? data analysis or something?
@@surfingbilly9654 Yep.
The demand for programmers will start dropping when the number of things that can be implemented stops being infinite.
"stops being infinite" is a contradictory statement.
@@hwstar9416 that’s why it’s going to be a very long wait.
The best ide is from intellij. The best!
this is my cup of tea
Sublim Text 3 = Best of All
Nothing beats jetBrains, sorry to say :kek
vs code is actually fast... but hey, I haven't ventured out of scripting languages since Programming fundamentals I
Polynomial time verification of a solution is NP Complete not NP Hard :D
emacs, for the win ! (I'm still using vi...)
I feel your pinky pain dear Lex (0:57), but remember: where there's a will, there's a way out my friend... 😅
Until I see an IDE that instead of throwing abstract and often vaguely described errors and exceptions in the code that programers then have to Google and filter through Stack overflow before they get to the right solution to fix their code, I am not moved at all. Code autocomplete and suggestions Is one thing, but debugging is another monster. As far as I know, there's no intelligent IDE that handles the latter well enough to increase the programmer's productivity 10x. That's why Google + Stackoverflow are still an indespensible tools in most programmer's everyday workflow. Big opportunity for AI-driven code debugging here.
Andrej Karpathy is very smart
"It's not just a AI problem, but UI/UX" 6:20
What if there was a co-pilot to co-pilot, that kept checking it.
Notepad++ like an OG 😏
VSC
Co pilot will be great when it can do test driven development
It can. That's how I use it now
Software design is not the same as programming. And that is not going to get replaced by AI.
How do you know?
If AI is not capable of software design, explain how Mark Zuckerberg designed Facebooks software without any issues then?
@@surfingbilly9654 Zuck is a lizard, who knows
@@surfingbilly9654 huh?
Vscode for life
I need a good cs code tutorial
No offense, but I'm not going to take seriously any IDE advice from emacs users, much less people using co-pilot on Apple laptops. That said, vscode is a fine editor.
holy shit it's been just a year ago.
THANKS LEX ,VERY INTERESTING 👍😎💚💚💚
VsCode for sure
I tried copilot for a few weeks and it's "so so". If you want to reduce boilerplate typing, copilot is useful. For what I do, it's not that useful.
VS CODE ALL THE WAY
3:02 Yeah it will become better and better for helping programmers but I doubt it will ever fully be able to replace programmers. Not unless some general artificial intelligence emerges and then hey everyone will be out of a job haha
compilers aren't even smart enough to thoroughly optimize the code you explicitly wrote. Something like co pilot won't realistically replace programmers.
custom neovim setup
It disturbs me a bit that Andrej, someone who is part of driving this sort of tech into the future, is not willing to look the future he is helping build in the eyes and talk about it with Lex. Manufacturing jobs hardly exist the US these days and this work is intent on outsourcing knowledge work in a somewhat comparable way (although to machines instead of overseas). We are on a path increasingly favours owning to working, but we all know that ownership is very centralized. We are at risk of leaving behind most of humanity if we don't very consciously combine automation breakthroughs with policy and ethics.
NotePad
Saying GitHub copilot will replace programmers is like saying the autopilot systems on planes will replace actual pilots.
3:50 Andrej‘s laugh sounds the same as Elon‘s. Or is it the other way around?
"Copilot integration is very valueable"
".......what do u think about the Copilot integration?'
They just deacribed The Matrix where programs write other multiple programs that govern
to be honest a lot of people are getting more and more worried if persuing a career in programing/development is it even worth it pouring all the time to learn to do something that inevitable will be replaced by AI system is quite a scary tought ... and with the speed this ai tools are beinf developed in the last few years i really starting to doubt a lot of things :/
AI that can programme better than humans is the singularity and will likely not be reached for a long long time
@@eoinbyrne9068 by some accunts there where predictions we might reach singularity by 2030 ... so I think it might happen in our life time. ..
@@HumanTouchArt I mean, at this point most jobs will be impacted, so it's not a programming dev issue, more like a general Human vs AI issue
Neovim - for everything not .NET
For .NET stuff - Visual Studio