When Jonathan is done with his programming language, and his terminal, and his operating system, and his computer architecture, he will finally get around to inventing world peace.
The worst part is the Visual Studio is a monster program that takes forever to launch and likes to hijack being the default application for a bunch of file types. So many time's I've double clicked a .c file hoping to make just a quick edit with Vim. But instead Visual Studio starts chugging my whole system for the next 30 seconds just trying to open one damn file. Rage inducing.
thats what i appreciate a lot in visual studio 2022. finally gets into the range of normal and not as annoying launch times on an ssd. nothing beats vim tho. quick editing in it makes me cum.
@@rj7250a 10 secs is a blessing day on my laptop, most times it takes about 5 minutes to load and mark everything up, I think most of the time is just spent waiting for compiler to figure out everything is fine and its always very frustrating experience
@@donsk324 modern mid-range laptop* There are people that live outside of USA and western europe, did you know? Most people can not just buy a brand new PC every 2 or 3 years. I am still using a laptop with a 3rd gen Intel CPU and 8GB of RAM, if i needed a full IDE like Visual Studio to code, i would just give up on programming.
hm its probably the same type of thing but recently VSCode's been making me hit Enter twice... Haven't really pinned down whats doing this beause it's not like it's inserting anything for me... All I know is neovim doesn't do that lol
Meanwhile I am glad I don't have to use it for work. I think I'd have thrown my laptop out the window by now, given almost any editor other than Vim already pisses me off. So much crap software trying to be clever but instead behaving like MS Clippy in its final form.
He is right about the intrusive nature of it when typing code. Its OK for the IDE to _display_ suggestions its not OK to ignore what I am typing when I am typing it nor is it ok to insert stuff I did not type just because I hit the space bar or tab key, because what am I supposed to do if I want to place a space or tab in my code, hit escape first, sometimes?
Yes you just hit escape. It's not that hard. It's pretty rare you have to do it anyway. Also I'm sure at least intellij products let you customize that stuff off.
@@bumpsy Iv never had a problem. When would you hit tab in the middle of typing a variable or something? Literally never have accidentally autocompleted.
If people like Jonathan Blow were wholly responsible for software in general the average time to market would be measured in decades. He has some good ideas but he lives in a world without deadlines or competition and it shows. Maybe I'll be more inclined to listen to him when Jai gets a public release in 2033.
Reminder that Terry Davis's HolyC OS had a text editor that supported animated gifs inline regular txt files. While Jon says he should make an OS to fix the IDE, Terry actually did it. Granted, for very different glow in the dark reasons, but still, he did it.
VS is one of the most frustrating IDEs to use, but at the same time is the the best thing you can use if you're going to work with big C/C++ projects. I've tried my hardest to setup neovim for these types of projects, and there's always something that ends up missing/failing and limits my productivity. The next best thing you can do is use the vim extension inside of VS and do a bunch of remaps to make full use of VS capabilities
@@shimadabr I'd say it's a pretty nice IDE were it not for the fact that C/C++ is a fundamentally flawed language in terms of cross-compatibility, so setting up a multi-platform project ends up being a nightmare regardless. VS for me is the best IDE because Windows is the main platform I work with (for proprietary tools) and it's relatively easy to set everything up.
...Man I never used half these features when I was learning programming way back in the day. All I really need is syntax highlighting, when I write in Rust I do it with Kate. The most "IDE" Kate gets is a code analyzer, syntax highlighting, file tree, and a terminal built in, and beyond that it's just a text editor. No other fancy features (to my knowledge) and I just write code and 'cargo run' and it works. It's made for KDE Plasma, but there are windows and apple binaries as well, so if I ever switch off of Tumbleweed, Kate will be there for me and I'm grateful for that.
This is the first I've encountered anyone saying Kate is their favorite editor for programming. Me too! For approximately 2 decades, Kate has been my favorite editor for the C family of languages: C, C#, Java, Javascript, Ruby, Python, and more recently Zig. Lispy languages such as Racket and Clojure... I dunno. Kate hasn't impressed me there. Julia, while Lispy under the hood, has syntax more like Ruby, so yeah, Kate's my choice for that too. :)
I use clangd and ccls and they do work properly but only if you make sure that your compilation database is correct and you also need to make sure to disable other extensions that would clash (in vscode that is the microsoft c++ extension). But I remember seeing some bugs with it a few years ago when I used it with very large projects (such as chromium), where after you modify a file it takes a while to re-analyze the file, and if you try to "go to definition" for example then the line and column you use it at is incorrect because the file hasn't been updated everywhere yet. It's a bit of LSP BS.
clangd is super hit or miss. In Unreal Engine, it's a pretty terrible experience. It took actual hours to parse Unreal with clangd, and after that it spews tons of errors. The only useful IDEs for it are CLion/Rider, VS + R#/VAX or 10x editor. I would really love to use neovim on it, since I use it for everything else, but if you want LSP features then it's basically too bad in the Unreal game dev world. I wish any of those would have an LSP alternative. R# capabilities in Neovim would be so amazing.
I'm not a real programmer, but back n the day I used to build websites, and I never liked any of the web dev software, so I kept on writing websites in notepad.
Several times I tried to ditch vscode but I don't know why I could never get the damn autocompletion and highlighting right with neovim, and sometimes is just better to autocomplete your way to a script hahha... I remember some years back when I was starting as hobbyist, an tried for the first time to build a multi library project with cmake and gcc, and ended up crying blood trying to get to compile, I remember celebrating like beating a Dark Souls boss after the damn wxWidgets showed a damn empty window. In contrast to that the same project in Visual Studio you drag and drop the libraries in the correct folders, update the linker and include paths an you are done...in 10 minutes...
Lunar Vim and AstroNvim both set those features up for you. Helix comes with those features out of the box too if you don't mind trying something a little different.
for me, vscode works pretty well. While its true that its pretty much soyware, its just a text editor at the end of the day. It aint exactly doing anything insane enough half the time
@@honkhonk8009 The thing I dislike about VSCode despite using it almost for everything is that like all 'apps' today, it's a HTML/JS app, not a native app meant to run on my machine. This is why I hate using discord too, when the underlying JS/HTML engine is broken (V6 has a shitload of memory leaks for VRAM and sysmem especially on AMD/NVIDIA setups, for 10 years all chromium browsers have had a leak on all 4 of my AMD CPU with NV GPU set ups where the VRAM gets eaten up by the browser and never released unless you kill the task. On Windows the issue is exacerbated by the way memory allocs work there, I have to restart the entire DWM to get that memory back.
The fact that Primogen thinks VSCode is even similar to VStudio says it all lol VStudio is a fucking monster while VSCode is a fancy text editor There's a reason, not a single human uses vscode for c#
I've only used VS for C# and honestly the developer experience and language support was really nice, but I still use VS code for every other language because of the extensibility and flexibility of plugins, and it doesn't take 10 seconds to open 1 damn file
Lot of Jonathans problems stems from not investing enough time to learn VS. For example there is a way to track an object out of scope by selecting 'make object id' option in watch. It takes time to master such a complex IDE and it's not fun at all.
As a c# developer, I understand the pain but it is not as bad as the comment section is making it out to be. This was blown out of proportion. For a beginner it is easier to use than vscode for c#. Rider is also great btw.
Hi, I shared this in another comment as well, I think the C# coding experience is really a lot better than the one with C++ in VS. This is just due to how Microsoft puts much more effort in one thing than in the other. Everything around for example completion, intellisense, has always been better with all DotNet languages, it was never as good with C++. However, with VS Code I feel literally the opposite. Other languages do better. Although VS is more powerful in many ways, it is also clearly an older program, VS Code has a better design in general, it feels simpler and more carefree to work with. The only downside is that VS Code is Electron based making it consume relatively much memory with it's entire Chromium engine running under it, just like other of those applications do.
@@jongeduard "This is just due to how Microsoft puts much more effort in one thing than in the other. " Not exactly. C# is just a much more toolable language than C++. With C++ you need to do semantic analysis before you can even parse. Lots of baggage with that language makes developing the same goodies that are available to C# developers much more difficult, and it also means some of it will be heuristic and make mistakes now and again.
Took me a while to get used to losing my super customized VSCode, but Rider is just that good. You gotta be a special kind of grandpa to only work on terminals.
Aside from the shitty debugging tools in vscode I don't miss VS for C# at all. Vims alright I suppose. It feels like a hipster unicycle more than a legitimately good mode of transport so that always rubs me the wrong way.
@@jongeduard my main problem with VSCode is that its C++ intellisense is just so damn laggy. Once your project starts to have maybe a dozen or so files and a couple #includes you're gonna start running into weird problems and a lot of LSP lag. And if you're trying to do a unity build, it's gonna suck even more. But it looks really pretty and it's super simple to just open up and start writing code, no need to spend hours memorizing keyboard shortcuts, you can do it all at your own pace.
clangd works well only if you're willing to change your code to be compatible with it, I imagine it's a similar thing with visual studio which has it's own build system, c/c++'s lack of a build system makes it hard for editors to offer something that just works out of the box.
Java does not have this problem, and yet it does not offer a build system. There are approx 3 community supported ones that are used (Ant, Maven, Gradle), and yet things still work.
@@HrHaakon building a c++ project isn't that simple, it's not just about dependencies, the code the compiler sees depends on the preprocesor and the order of compilation matters, which is problematic for providing something like intellisense, which is why clangd forces you to have a codebase where every file includes the headers with the symbols it sees and you have to set up your config files so it knows what compiler switches you use, preprocesor varaibles, include paths and whatever else you need so the symbols it finds match what you're actually building, but that's just one way of organizing a project, you could just as well include everything in one file and build that as a single compile unit which is simpler and sometimes faster to compile, but lsps aren't good with that.
Regular VS is genuinely the worst IDE i have ever had the misfortune of using. The pain with it begins before you even get to install it, because the installer is also broken
@@ArcticPrimal I would say "Bloated" is a regular qualification for any IDE I have ever used. I understand bloated if you compare it with text editors.
Absolute fuck comment. I use visual studio. Adding library is like a breeze. Add include directory and linking .lib files. I am trying to setup neovim for like a year. Its very bad for c++.
I don't like clang. I use gcc and haven't found a good way to use gdb with coc or ccls. Also don't find the point in learning lua to write stuff in c++. I use VS2022 or vscode.
@@MesbahSalekeen I hear ya. I'm just bitter that Visual Studio is the best tool for C++ despite being really shitty tbh, and I'm by no means a vim enthusiast, I still use IntelliJ for most things. But like real talk if you've ever used more than one language Lua is not the thing to be afraid of, it's the complex config api that's gonna give you the most issues.
I mostly use python and c++/c. I am not a developer programmer. I use python for prototyping and c++/c for performance to solve maths/scientific stuff. For small projects vscode does it all. For big programs anaconda or visual studio. But i will say when visual studio uses 1.5gb ram just to parse 100 lines of code really pisses me off.
I haven't really had any problems with VS code. I'm not sure what I would have to be doing in order to have issues with it 🤔 Maybe I have to try this VIM to see what the air of superiority is all about.
VS Code can be terribly slow especially on slightly older hardware. Other than that I think it's a solid editor. I love NeoVim and think it's at least worth a try, but in the end you just gotta use what makes you productive and ignore the haters.
As someone who has played through and beaten Johnathan Blow's game "The Witness", including the "Challenge", the choice of music in the video is spot-on.
Hi! As someone who daily uses VS at work, but many other things privately, I would share that VS is really quite buggy at moments (yep, including such frustations), but it is also very powerful with really a ton of good features. It also looks like the C# experience is much better than C++ with it. In general I feel that the C# (DotNet) dev experience really gets a more attention by microsoft in this IDE. However, in VS Code, my experience is literally the opposite, with other languages it tends to be a lot better, including C and C++, but especially also JS and TS. And of course, not to mention the Rust experience, because that _literally_ beats everything in my opinion.
tbf some of these might be bad design but they're also him not knowing how to use visual studio. Like in the debugging example im 80% sure if you \ctrl + c while you have those grids selected it still copies them (even if theres no visual indicator that it will do that)
No idea how screwed up Visual Studio is these days, tried it 20 years ago and it sucked the lifeforce out of anything, including any hardware I tried running it on. Smack together a few C files and a Makefile in emacs, write "make" on the command line and my workflow was way faster than that monstrosity from Redmond. I have however been using VS Code since it displaced Atom, and except for some stupid extensions which think they know better than me (eg. ALL the reformatting stuff, I don't need that much negativity in my life!) I have had a positive experience. Those stupid reformatting and auto-editing extensions get a ban from me, and all I need to make that process better is to be able to give them a one-star rating so nobody in their right mind will use them either.
I 100% agree about the "think they know better than me" crap. It's one of the biggest annoyances in software for me and one of the main reasons I just use Vim for almost everything. No popups, no clever shit, no background processing, no distractions.
Really depends on the type of software your building . I’ve been using it since version 6 before . And for big complex projects there almost no other solution available at least none that I’ve found. And for the last 5/6 years they’ve been killing it with quick updates , continuous addition of new features and speed (which indeed could become a problem in visual studio at the beginning of intellisense. Still use other editors like vscode for web related development in html or typescript .
I use VS for C#. With a few extensions, tweaking a few settings, and tolerating an occasional hiccup it's actually a pretty darn good editor for that. I haven't used it with C/C++ in a long time but I imagine VS sucks nuts for those.
Jonathan is an elite programmer and I respect what he does. But most projects don't have the luxury of Jonathan's games where quality is first and timeline doesn't matter. Most business projects you better do everything you can to hit the milestones or face the consequences.
Visual studio has that luxury. What timelines are they up against that keep them from making a more quality product? What pressing issues are keeping them from focusing more on quality?
The only one that worked well was KDevelop with its DU chain implementation for highlighting and navigation. It then stopped being maintained and everyone moved to LSP, which no implementation of it topped KDevelop's DU-chain.
I always disliked VS simply because the program took over 7 seconds to decide which color goes on a keyword regardless of how strong my computer was using C++
@ThePrimeTime introduced me to vim and I am using it for 6 months and it great - few plugins eg dap , lack of one click compile for c++ and c (as code runner in vs code ) , but so far so good .
Do you know of a way to use shift+arrow keys to select text, or do you just switch to visual mode for that? I always found the mode switching business to be very disruptive to my flow, but seeing what people can do with LSP and DAP has opened my mind slightly to the idea of switching. If I didn't have to worry about modes and could just operate in insert mode all the time with good key bindings, maybe I could consider it.
I have never had that much hate and trouble with VS; it's pretty shit at times but not that big of an enemy to me. The caveat is that I use C# there, not C++. If you wanna use C++, forget VS exists and your life will become a Bob Ross painting.
6:33, hehe, Codeblocks is like that: a mid-term, not as fast as Vim, hasn't all its vertical moves, nor all InteliJ features. But I like to think it has the best from both: it's fast and light enough, doesn't require previous study, just install and run, opens in some seconds (ok for me), doesn't erase things I wrote, has plenty of IDE famous features, and I can also edit them. I move fast on it. It's what really matters to me.
I mainly use VSCode. I've used Intellij and I also use nvim for fast and usually small text edits. I feel stupid advocating any kind of those tools as well as programming languages. I can relate with the tilt though. Personally, even though I kind of miss Intellij everytime I see it, bootstraping in a non monster pc made me stop using it.
Yeah... while VSCodium is a pretty great program... I have been finding myself drifting more and more to just using some basic text editor/IDE, or Vim while I'll just use the terminal to compile. Like I still need VSCodium for debugging because I don't know how to do it in the terminal yet, but everything else just seems simpler and cleaner when you compile with the Terminal. It's also how anyone downloading your repo from Github is going to compile your code, so it just feels like the more proper to do it.
Same experience with me for Visual Studio, super slow, inefficient to work with and just feels like your fighting your IDE to do anything. Working with UWP (unfortunately) it’s pretty much the only option. Trying to build from the command line is just as difficult
I remember learning C++ back in high school and using Visual Studio Community Edition to write code simply because I didn't know about other editors and IDEs. The concept of launching a project with a single button click instead of writing a bunch of commands in the terminal was genius to me, as well as built-in LSPs and other tools. Many years later, I look back and realize what a f*cking idiot I was then.
Every time I try a Linux install, probably like 10 over the last 8 years. I feel like I'm supposed to know everything already, but every time I don't know near enough.
I also only had weird stuff happen with clangd, and it wasn't even anything deep. It literally couldn't find the symbols in second layer of includes (like stdio being included in a common.h) for basic C code. Visual stdio is better at this basic stuff, but obviously also breaks down if the code is a bit bigger. But I did find it funny that clangd couldn't find most of the Vulkan symbols for example, just because it was included by a secondary layer - either Debian, clang, clangd or neovim was iust dumb there, and i choose to believe it was clangd, because the other projects seem way too competent in comparison for this fuckup
The correct include paths were most likely missing from the compile_commands.json. But you were also on debian which has weird include paths, so who knows. Tons of projects generate incorrect compilation database files.
You need to make sure your compilation database or compile commands are setup and also that project external symbols are tracked. It definitely can do symbol lookup through nested system headers.
I didn't know clangd has json config files, but I know you can put a .clangd file in your project root to give it the include paths, language standard, and other options. Same flags as the compiler.
If you are having this much trouble with Visual Studio you are doing it wrong. Also if he is complaining this much with Visual Studio he has never used a actual bad IDE. I had a version of Eclipse that a project required freeze the computer for 30 seconds every time you entered a period. Took weeks to find out it was a JAVA install path error. Believe it or not that is not the worst IDE I ever had the unfortunate experience of using. I have seen some in Embedded programming that must have been invented by aliens because they were clearly not designed for humans.
It's an only option for me in c++ though, only for the fact that I have soooo many settings set up for it. C# too, more or less. But I would switch if I had better options.
This is not as much of the IDEs fault, as it is Micro$ofts. M$s reaction to anything not working "propperly" is to just cut it. Paradoxically, their Surface Laptop Devices are some of the sleekest looking Linux laptops out there
I have no problems coding in c# on visual studio. Coding in cpp on the other hand is very clunky: -"Go to variable" goes to the wrong place, -syntax highlighting is buggy af, -it runs slow / hogs memory, -random errors: like symbol (in header file) not found, then when I run it in another program there is no error. etc
I'm not even that deep into it and I hate it. I hate it from the moment I need a stupid microsoft account to use it (and every time I use it I need to painstakingly re-validate that stupid account). I hate it the moment it uses some shit ass internet explorer functionalities or whatever. I hate it from the moment it eats up my Potato Computer's resources (like everything MS does). I had no idea VS was even more hateful than that. Well, I also hate microsoft's VC++ and .NET dependencies that litter my computer all the way to hell. They're a freaking plague...
The only thing true in your entire statement was that VS devours memory. Other than that .Net is awesome and VC++ is the best C++ toolchain available today.
@@donsk324 oh yes indeed, they're the best at littering my computer with garbage. My system folders look like the city dump. Probably smell like it too. Last thing I will ever ask of users is to install anything other than my app. How tf that shit ever become a trend...
I love that writing a whole OS is the only valid solution for him. This man has been through decades of pain.
It is the only solution. The whole modern software ecosystem top to bottom is utter crap.
Drew DeVault is already at it lol
Windows moment
Nuke it from orbit, it's the only way to be sure
This man has no clue, he just shits on everything
When Jonathan is done with his programming language, and his terminal, and his operating system, and his computer architecture, he will finally get around to inventing world peace.
Microsoft will then ship their version of world peace (called World Peace) that will make us wish for world war, but all we will get will be a BSOD.
@TanelTagavaliI loved the mill lectures, really interesting but it seems like it could be Vapor ware.
All of that just to make a puzzle game.
Hey he didn't just do it for the puzzle game. He did it because he's insecure!
The worst part is the Visual Studio is a monster program that takes forever to launch and likes to hijack being the default application for a bunch of file types. So many time's I've double clicked a .c file hoping to make just a quick edit with Vim. But instead Visual Studio starts chugging my whole system for the next 30 seconds just trying to open one damn file. Rage inducing.
thats what i appreciate a lot in visual studio 2022. finally gets into the range of normal and not as annoying launch times on an ssd. nothing beats vim tho. quick editing in it makes me cum.
@@rj7250a 10 secs is a blessing day on my laptop, most times it takes about 5 minutes to load and mark everything up, I think most of the time is just spent waiting for compiler to figure out everything is fine and its always very frustrating experience
No, your computer is dogshit slow so don't blame the software. It literally takes less than 5 econds to load on my mid-range laptop.
@@rj7250a 10 seconds? … Call me crazy but you definitely need a new computer. That or you have a crypto miner
@@donsk324 modern mid-range laptop*
There are people that live outside of USA and western europe, did you know? Most people can not just buy a brand new PC every 2 or 3 years.
I am still using a laptop with a 3rd gen Intel CPU and 8GB of RAM, if i needed a full IDE like Visual Studio to code, i would just give up on programming.
I use VS for work and the amount of times I have to hit Esc while typing to stop it from doing something stupid is off the charts.
hm its probably the same type of thing but recently VSCode's been making me hit Enter twice... Haven't really pinned down whats doing this beause it's not like it's inserting anything for me... All I know is neovim doesn't do that lol
Meanwhile I am glad I don't have to use it for work. I think I'd have thrown my laptop out the window by now, given almost any editor other than Vim already pisses me off. So much crap software trying to be clever but instead behaving like MS Clippy in its final form.
ever heard of turning that shit off in the options menu ? duhhh
He is right about the intrusive nature of it when typing code. Its OK for the IDE to _display_ suggestions its not OK to ignore what I am typing when I am typing it nor is it ok to insert stuff I did not type just because I hit the space bar or tab key, because what am I supposed to do if I want to place a space or tab in my code, hit escape first, sometimes?
Yes you just hit escape.
It's not that hard.
It's pretty rare you have to do it anyway.
Also I'm sure at least intellij products let you customize that stuff off.
@@sharp7j it's not hard but it is stupid in a lot of situations
@@bumpsy Iv never had a problem. When would you hit tab in the middle of typing a variable or something? Literally never have accidentally autocompleted.
@@sharp7j it's stupid because you need to look at the screen and press escape in the right moment.
@@yanushkowalsky1402 You're not touch typing?
People like Jonathan Blow are required now more than ever. Then we will not have chat apps like slack kicking off the laptop fans.
I detest electron apps but weaponized ignorance by the likes of jblow is not the solution
If people like Jonathan Blow were wholly responsible for software in general the average time to market would be measured in decades. He has some good ideas but he lives in a world without deadlines or competition and it shows. Maybe I'll be more inclined to listen to him when Jai gets a public release in 2033.
@@sfulibarri 2333*
@@sfulibarri i think we would have much better, stable software. and new software which could be written much faster.
It already exists and it's called weechat.
I've never been to Visual Studios but I've edited plenty of code with Universal Studio
ohh, was it fun? I hear its rollercoaster of emotions
@@ThePrimeTimeagen My lambda kept disappearing.
Reminder that Terry Davis's HolyC OS had a text editor that supported animated gifs inline regular txt files. While Jon says he should make an OS to fix the IDE, Terry actually did it. Granted, for very different glow in the dark reasons, but still, he did it.
You should see Casey Muratori's rant about visual studio!
Casey is like a more expressive version of Jon lol, love his rants
VS is one of the most frustrating IDEs to use, but at the same time is the the best thing you can use if you're going to work with big C/C++ projects. I've tried my hardest to setup neovim for these types of projects, and there's always something that ends up missing/failing and limits my productivity.
The next best thing you can do is use the vim extension inside of VS and do a bunch of remaps to make full use of VS capabilities
What about Clion? I like Jetbrains products, but I have no idea how it compares to Visual Studio
@@shimadabr Clion is pretty bad
@@shimadabr I'd say it's a pretty nice IDE were it not for the fact that C/C++ is a fundamentally flawed language in terms of cross-compatibility, so setting up a multi-platform project ends up being a nightmare regardless. VS for me is the best IDE because Windows is the main platform I work with (for proprietary tools) and it's relatively easy to set everything up.
You haven’t met Xcode yet
@@citer5574
Why? I use it and it's pretty easy. No real configuration required.
When is the Jonathan Blow interview happening? I NEED to see these two worlds collide and I'm bringing popcorn.
What would be the purpose of the interview? I don't think Jon takes interviews just to entertain people. He has work to do and goals to reach.
Part of me finds this hilarious but at the same time very seriously frustrating because of how much this affects technology advancement in general.
I like VS a lot actually... I never had an issue with it.
that guy needs to read the manual
...Man I never used half these features when I was learning programming way back in the day. All I really need is syntax highlighting, when I write in Rust I do it with Kate. The most "IDE" Kate gets is a code analyzer, syntax highlighting, file tree, and a terminal built in, and beyond that it's just a text editor. No other fancy features (to my knowledge) and I just write code and 'cargo run' and it works. It's made for KDE Plasma, but there are windows and apple binaries as well, so if I ever switch off of Tumbleweed, Kate will be there for me and I'm grateful for that.
This is the first I've encountered anyone saying Kate is their favorite editor for programming. Me too! For approximately 2 decades, Kate has been my favorite editor for the C family of languages: C, C#, Java, Javascript, Ruby, Python, and more recently Zig. Lispy languages such as Racket and Clojure... I dunno. Kate hasn't impressed me there. Julia, while Lispy under the hood, has syntax more like Ruby, so yeah, Kate's my choice for that too. :)
My only problems with Visual Studio is the licensing, the size, and the slowness.
Licensing? Is it not free?
@@aeggeska1 It is free for personal use, to use it in a sold product it costs $10,000 a year.
@@aeggeska1no
@aeggeska1 there's a community edition which is free.
@@aeggeska1not libre
Eventually He'll write his own operating system and it will be basically just a notepad.
notepad atleast doesn’t crash
I use clangd and ccls and they do work properly but only if you make sure that your compilation database is correct and you also need to make sure to disable other extensions that would clash (in vscode that is the microsoft c++ extension). But I remember seeing some bugs with it a few years ago when I used it with very large projects (such as chromium), where after you modify a file it takes a while to re-analyze the file, and if you try to "go to definition" for example then the line and column you use it at is incorrect because the file hasn't been updated everywhere yet. It's a bit of LSP BS.
clangd is super hit or miss. In Unreal Engine, it's a pretty terrible experience. It took actual hours to parse Unreal with clangd, and after that it spews tons of errors. The only useful IDEs for it are CLion/Rider, VS + R#/VAX or 10x editor. I would really love to use neovim on it, since I use it for everything else, but if you want LSP features then it's basically too bad in the Unreal game dev world. I wish any of those would have an LSP alternative. R# capabilities in Neovim would be so amazing.
I'm not a real programmer, but back n the day I used to build websites, and I never liked any of the web dev software, so I kept on writing websites in notepad.
using "Hall of the Mountain King" for the soundrack is genius.
Pain was real when you said "if i want something to use 10 of my gig's of RAM, i'm just gonna use intellij"
Several times I tried to ditch vscode but I don't know why I could never get the damn autocompletion and highlighting right with neovim, and sometimes is just better to autocomplete your way to a script hahha...
I remember some years back when I was starting as hobbyist, an tried for the first time to build a multi library project with cmake and gcc, and ended up crying blood trying to get to compile, I remember celebrating like beating a Dark Souls boss after the damn wxWidgets showed a damn empty window. In contrast to that the same project in Visual Studio you drag and drop the libraries in the correct folders, update the linker and include paths an you are done...in 10 minutes...
Lunar Vim and AstroNvim both set those features up for you. Helix comes with those features out of the box too if you don't mind trying something a little different.
for me, vscode works pretty well.
While its true that its pretty much soyware, its just a text editor at the end of the day.
It aint exactly doing anything insane enough half the time
@@honkhonk8009 The thing I dislike about VSCode despite using it almost for everything is that like all 'apps' today, it's a HTML/JS app, not a native app meant to run on my machine.
This is why I hate using discord too, when the underlying JS/HTML engine is broken (V6 has a shitload of memory leaks for VRAM and sysmem especially on AMD/NVIDIA setups, for 10 years all chromium browsers have had a leak on all 4 of my AMD CPU with NV GPU set ups where the VRAM gets eaten up by the browser and never released unless you kill the task. On Windows the issue is exacerbated by the way memory allocs work there, I have to restart the entire DWM to get that memory back.
The fact that Primogen thinks VSCode is even similar to VStudio says it all lol
VStudio is a fucking monster while VSCode is a fancy text editor
There's a reason, not a single human uses vscode for c#
VS code is written in JavaScript, every single bit of monster is contained in the garbage collection.
mfw i use vscode for c#:
@@5omebody Mfw you don't use the IDE that is designed for C#
@@AlFasGD cuz its slow af
@@5omebody Buy a better computer if you want to develop things nicely
visual studio is very different from vscode
"This is just a clusterfuck and it gets worse every six months."
The true heart of the Windows user experience, laid bare.
I've only used VS for C# and honestly the developer experience and language support was really nice, but I still use VS code for every other language because of the extensibility and flexibility of plugins, and it doesn't take 10 seconds to open 1 damn file
Yeah, VSCode just takes 5 seconds to open 1 damn file. Another win for javascript!
VS is pretty good for C#. I’m not sure anything can make C++ development a good experience.
Same! I have no idea how he conflates VS and VS Code, they're two separate world altogether.
@@giovanni-cx5fb ? I don't think he confuses VS and VS Code anywhere in that video. He just talked about both.
Lot of Jonathans problems stems from not investing enough time to learn VS. For example there is a way to track an object out of scope by selecting 'make object id' option in watch. It takes time to master such a complex IDE and it's not fun at all.
Yeah, agreed. Like any piece of software, it takes some time to learn.
"I know not fear of man, only IDEs" - Sun Tsu, Art of code.
It's like listening to someone play Dark Souls for the first time.
VSCode or Jetbrains I like; you've convinced me to give Vim a shot though so I might try to learn
I'm not a fan of VSCode, but Visual Studio for me is priceless and yes I use Vim also, different ways of working ¯\_(ツ)_/¯
As a c# developer, I understand the pain but it is not as bad as the comment section is making it out to be. This was blown out of proportion.
For a beginner it is easier to use than vscode for c#.
Rider is also great btw.
Hi, I shared this in another comment as well, I think the C# coding experience is really a lot better than the one with C++ in VS. This is just due to how Microsoft puts much more effort in one thing than in the other. Everything around for example completion, intellisense, has always been better with all DotNet languages, it was never as good with C++.
However, with VS Code I feel literally the opposite. Other languages do better. Although VS is more powerful in many ways, it is also clearly an older program, VS Code has a better design in general, it feels simpler and more carefree to work with.
The only downside is that VS Code is Electron based making it consume relatively much memory with it's entire Chromium engine running under it, just like other of those applications do.
@@jongeduard "This is just due to how Microsoft puts much more effort in one thing than in the other. "
Not exactly. C# is just a much more toolable language than C++. With C++ you need to do semantic analysis before you can even parse. Lots of baggage with that language makes developing the same goodies that are available to C# developers much more difficult, and it also means some of it will be heuristic and make mistakes now and again.
Took me a while to get used to losing my super customized VSCode, but Rider is just that good.
You gotta be a special kind of grandpa to only work on terminals.
Aside from the shitty debugging tools in vscode I don't miss VS for C# at all. Vims alright I suppose. It feels like a hipster unicycle more than a legitimately good mode of transport so that always rubs me the wrong way.
@@jongeduard my main problem with VSCode is that its C++ intellisense is just so damn laggy. Once your project starts to have maybe a dozen or so files and a couple #includes you're gonna start running into weird problems and a lot of LSP lag. And if you're trying to do a unity build, it's gonna suck even more. But it looks really pretty and it's super simple to just open up and start writing code, no need to spend hours memorizing keyboard shortcuts, you can do it all at your own pace.
clangd works well only if you're willing to change your code to be compatible with it, I imagine it's a similar thing with visual studio which has it's own build system, c/c++'s lack of a build system makes it hard for editors to offer something that just works out of the box.
Java does not have this problem, and yet it does not offer a build system. There are approx 3 community supported ones that are used (Ant, Maven, Gradle), and yet things still work.
@@HrHaakon building a c++ project isn't that simple, it's not just about dependencies, the code the compiler sees depends on the preprocesor and the order of compilation matters, which is problematic for providing something like intellisense, which is why clangd forces you to have a codebase where every file includes the headers with the symbols it sees and you have to set up your config files so it knows what compiler switches you use, preprocesor varaibles, include paths and whatever else you need so the symbols it finds match what you're actually building, but that's just one way of organizing a project, you could just as well include everything in one file and build that as a single compile unit which is simpler and sometimes faster to compile, but lsps aren't good with that.
I had to come back to this old video to vent my frustration at VS through Jonathan Blow
lets go
Jonathan Blow is the rightful heir to Terry Davis
The debugger problem. Real.
Regular VS is genuinely the worst IDE i have ever had the misfortune of using. The pain with it begins before you even get to install it, because the installer is also broken
I know a few people that didn't pick C# as their first programming language because of VS
VS is great IDE back in 2012, i Used it once and switched to sublime then vscode
1:33 then paste line numbers as well and spend the next few minutes removing the extra line numbers... great option.
Sir please do more of these, I love jon blow and you reacting on him is so funny
As soon as I saw it was C++, I knew…
I never understood the hate for Visual Studio, I love that IDE.
have you tried rider?
Rider is amazing 👏 it's fast ad and it's just better in every way.
I don't really understand what's so bad about it either.
@@liquidcode1704 rider is amazing, i wish I can use it professionally
@@ArcticPrimal I would say "Bloated" is a regular qualification for any IDE I have ever used. I understand bloated if you compare it with text editors.
Tooling support is why I dread working with C++. Including a library in Visual Studio is more complex than setting up Vim.
Absolute fuck comment. I use visual studio. Adding library is like a breeze. Add include directory and linking .lib files. I am trying to setup neovim for like a year. Its very bad for c++.
I don't like clang. I use gcc and haven't found a good way to use gdb with coc or ccls. Also don't find the point in learning lua to write stuff in c++. I use VS2022 or vscode.
@@MesbahSalekeen I hear ya. I'm just bitter that Visual Studio is the best tool for C++ despite being really shitty tbh, and I'm by no means a vim enthusiast, I still use IntelliJ for most things. But like real talk if you've ever used more than one language Lua is not the thing to be afraid of, it's the complex config api that's gonna give you the most issues.
I mostly use python and c++/c. I am not a developer programmer. I use python for prototyping and c++/c for performance to solve maths/scientific stuff. For small projects vscode does it all. For big programs anaconda or visual studio. But i will say when visual studio uses 1.5gb ram just to parse 100 lines of code really pisses me off.
I haven't really had any problems with VS code. I'm not sure what I would have to be doing in order to have issues with it 🤔
Maybe I have to try this VIM to see what the air of superiority is all about.
VS Code can be terribly slow especially on slightly older hardware. Other than that I think it's a solid editor. I love NeoVim and think it's at least worth a try, but in the end you just gotta use what makes you productive and ignore the haters.
As someone who has played through and beaten Johnathan Blow's game "The Witness", including the "Challenge", the choice of music in the video is spot-on.
Hi! As someone who daily uses VS at work, but many other things privately, I would share that VS is really quite buggy at moments (yep, including such frustations), but it is also very powerful with really a ton of good features.
It also looks like the C# experience is much better than C++ with it. In general I feel that the C# (DotNet) dev experience really gets a more attention by microsoft in this IDE.
However, in VS Code, my experience is literally the opposite, with other languages it tends to be a lot better, including C and C++, but especially also JS and TS.
And of course, not to mention the Rust experience, because that _literally_ beats everything in my opinion.
Watching that was so therapeutic, using VS is like water torture it slowly eats at your soul.
Visual Studio !== VSCode
tbf some of these might be bad design but they're also him not knowing how to use visual studio. Like in the debugging example im 80% sure if you \ctrl + c while you have those grids selected it still copies them (even if theres no visual indicator that it will do that)
I feel and share this pain everyday.. At least we're not alone brothers and sisters sadge
Thank you for the love
No idea how screwed up Visual Studio is these days, tried it 20 years ago and it sucked the lifeforce out of anything, including any hardware I tried running it on. Smack together a few C files and a Makefile in emacs, write "make" on the command line and my workflow was way faster than that monstrosity from Redmond.
I have however been using VS Code since it displaced Atom, and except for some stupid extensions which think they know better than me (eg. ALL the reformatting stuff, I don't need that much negativity in my life!) I have had a positive experience. Those stupid reformatting and auto-editing extensions get a ban from me, and all I need to make that process better is to be able to give them a one-star rating so nobody in their right mind will use them either.
I 100% agree about the "think they know better than me" crap. It's one of the biggest annoyances in software for me and one of the main reasons I just use Vim for almost everything. No popups, no clever shit, no background processing, no distractions.
Really depends on the type of software your building . I’ve been using it since version 6 before .
And for big complex projects there almost no other solution available at least none that I’ve found.
And for the last 5/6 years they’ve been killing it with quick updates , continuous addition of new features and speed (which indeed could become a problem in visual studio at the beginning of intellisense.
Still use other editors like vscode for web related development in html or typescript .
It's the best...thing I"m allowed to install on my corporate machine.
One of the best IDEs out there. John Carmack used it for its best games.
I use VS for C#. With a few extensions, tweaking a few settings, and tolerating an occasional hiccup it's actually a pretty darn good editor for that. I haven't used it with C/C++ in a long time but I imagine VS sucks nuts for those.
Jonathan is an elite programmer and I respect what he does. But most projects don't have the luxury of Jonathan's games where quality is first and timeline doesn't matter. Most business projects you better do everything you can to hit the milestones or face the consequences.
Visual studio has that luxury. What timelines are they up against that keep them from making a more quality product? What pressing issues are keeping them from focusing more on quality?
Lol what consequences. U rly think they'll fire a SWE? In this economy?
/me sees layoffs
eep
The only one that worked well was KDevelop with its DU chain implementation for highlighting and navigation. It then stopped being maintained and everyone moved to LSP, which no implementation of it topped KDevelop's DU-chain.
I always disliked VS simply because the program took over 7 seconds to decide which color goes on a keyword regardless of how strong my computer was using C++
@ThePrimeTime introduced me to vim and I am using it for 6 months and it great - few plugins eg dap , lack of one click compile for c++ and c (as code runner in vs code ) , but so far so good .
Do you know of a way to use shift+arrow keys to select text, or do you just switch to visual mode for that? I always found the mode switching business to be very disruptive to my flow, but seeing what people can do with LSP and DAP has opened my mind slightly to the idea of switching. If I didn't have to worry about modes and could just operate in insert mode all the time with good key bindings, maybe I could consider it.
@@DFPercush nonono, trust me once you start vim journey you will get why modes are best
I have never had that much hate and trouble with VS; it's pretty shit at times but not that big of an enemy to me.
The caveat is that I use C# there, not C++. If you wanna use C++, forget VS exists and your life will become a Bob Ross painting.
I'd say forget C++
Have you think about use Rider?
This video demonstrates why I love Neovim. The second a feature I installed starts pissing me off, I get rid of it.
I also hate Neovim because it made me learn Lua
6:33, hehe, Codeblocks is like that: a mid-term, not as fast as Vim, hasn't all its vertical moves, nor all InteliJ features. But I like to think it has the best from both: it's fast and light enough, doesn't require previous study, just install and run, opens in some seconds (ok for me), doesn't erase things I wrote, has plenty of IDE famous features, and I can also edit them. I move fast on it. It's what really matters to me.
wxWidgets is so enormously bloated that you cannot be serious about Code::Blocks being 'light'
@@Rexhunterj I don't use wxWidgets.
I mainly use VSCode. I've used Intellij and I also use nvim for fast and usually small text edits.
I feel stupid advocating any kind of those tools as well as programming languages. I can relate with the tilt though. Personally, even though I kind of miss Intellij everytime I see it, bootstraping in a non monster pc made me stop using it.
This is so much pain to watch as I really knows what he is going through
It is true though, I've used Visual Studio for a decade. It has always kind of sucked and is getting worse every 6 months.
It's not that we love VsCode, it's just that we hate everything else more.
Accurate.
you know at the end of the day the thing that drove me away from oop to imperative is that intelisense works for imperative.
you know that was painful when the man considered writing an OS after that 💀
Emacs rage + Visual Studio IDE tomfoolery
agreed
@@ThePrimeTimeagen He's only using VS for debugging, he writes in Emacs which he also hates.
Yeah... while VSCodium is a pretty great program... I have been finding myself drifting more and more to just using some basic text editor/IDE, or Vim while I'll just use the terminal to compile. Like I still need VSCodium for debugging because I don't know how to do it in the terminal yet, but everything else just seems simpler and cleaner when you compile with the Terminal. It's also how anyone downloading your repo from Github is going to compile your code, so it just feels like the more proper to do it.
Visual Studio and Visual Studio Code are two different things. Getting them mixed is like an HTML's junior intern mistake.
Word
It's the difference between a webdev vs an actual programmer.
@@giovanni-cx5fbprogramming in word would be even worse
@@FLMKane
Ba dum tsss
Same experience with me for Visual Studio, super slow, inefficient to work with and just feels like your fighting your IDE to do anything. Working with UWP (unfortunately) it’s pretty much the only option. Trying to build from the command line is just as difficult
Hot Take! Rider IDE is better for C# than Visual Studio.
Can confirm
I remember learning C++ back in high school and using Visual Studio Community Edition to write code simply because I didn't know about other editors and IDEs. The concept of launching a project with a single button click instead of writing a bunch of commands in the terminal was genius to me, as well as built-in LSPs and other tools. Many years later, I look back and realize what a f*cking idiot I was then.
the unbelievable thing is the "go back to the version that worked" thing you can just accidentally default that.
so many of the comments left on your videos lately remind me why its so important to weed out 90% of SWE applications. love your vids Prime.
Every time I try a Linux install, probably like 10 over the last 8 years. I feel like I'm supposed to know everything already, but every time I don't know near enough.
Thank you, i still love vim and it's elegance
i didn’t realize you had to install an LSP next i’ll have to install 5G
His poor soul, mind, and body.
I remember watching him make jai all in emacs, he's usually so happy.
I also only had weird stuff happen with clangd, and it wasn't even anything deep. It literally couldn't find the symbols in second layer of includes (like stdio being included in a common.h) for basic C code. Visual stdio is better at this basic stuff, but obviously also breaks down if the code is a bit bigger. But I did find it funny that clangd couldn't find most of the Vulkan symbols for example, just because it was included by a secondary layer - either Debian, clang, clangd or neovim was iust dumb there, and i choose to believe it was clangd, because the other projects seem way too competent in comparison for this fuckup
The correct include paths were most likely missing from the compile_commands.json. But you were also on debian which has weird include paths, so who knows. Tons of projects generate incorrect compilation database files.
You need to make sure your compilation database or compile commands are setup and also that project external symbols are tracked. It definitely can do symbol lookup through nested system headers.
I didn't know clangd has json config files, but I know you can put a .clangd file in your project root to give it the include paths, language standard, and other options. Same flags as the compiler.
@@DFPercush or just a compile_flags.tzt
2:29 my exact inner dialog for ux crimes
I , rather use VSCode + msbuild / VS-cpp sth build tool, but never with one single large Visual Studio
All C++ tooling sucks. Fact of life.
Visual Studio hates Jonathan Blow.
I am downloading MS Visual Studio will all the components for every type of development and watching this video.
I have worked with visual studio long enough. I feel his pain too.
When Visual Studio works, it works amazingly! When Visual Studio breaks, it breaks amazingly!
After IntelliJ I can't go back to terminals, VSCode I can do without
sublime text + terminal is all you need ever
If you are having this much trouble with Visual Studio you are doing it wrong. Also if he is complaining this much with Visual Studio he has never used a actual bad IDE. I had a version of Eclipse that a project required freeze the computer for 30 seconds every time you entered a period. Took weeks to find out it was a JAVA install path error. Believe it or not that is not the worst IDE I ever had the unfortunate experience of using. I have seen some in Embedded programming that must have been invented by aliens because they were clearly not designed for humans.
It's an only option for me in c++ though, only for the fact that I have soooo many settings set up for it. C# too, more or less.
But I would switch if I had better options.
I don't love VSCode. I do love Devcontainers though. Seriously amazing stuff.
This is not as much of the IDEs fault, as it is Micro$ofts. M$s reaction to anything not working "propperly" is to just cut it.
Paradoxically, their Surface Laptop Devices are some of the sleekest looking Linux laptops out there
and that's why you write it by yourself, so that it's efficient
You think Jon hates VS the most? Ask Casey lol, dude has been dragged to hell and back not just by the program itself but by the dev team as well
@Barret Wallace Is there anywhere I can read more about this? What do you mean by "targeting" people?
Hahahaha this is me trying to use Xcode 😂 (of course it's never funny in the moment!)
I have no problems coding in c# on visual studio. Coding in cpp on the other hand is very clunky:
-"Go to variable" goes to the wrong place,
-syntax highlighting is buggy af,
-it runs slow / hogs memory,
-random errors: like symbol (in header file) not found, then when I run it in another program there is no error.
etc
Idk I think Casey Muratori hates VS more
Visual Studio is the sole reason I started looking into emacs. Finally off Visual Studio!!!
I'm not even that deep into it and I hate it. I hate it from the moment I need a stupid microsoft account to use it (and every time I use it I need to painstakingly re-validate that stupid account). I hate it the moment it uses some shit ass internet explorer functionalities or whatever. I hate it from the moment it eats up my Potato Computer's resources (like everything MS does). I had no idea VS was even more hateful than that. Well, I also hate microsoft's VC++ and .NET dependencies that litter my computer all the way to hell. They're a freaking plague...
The only thing true in your entire statement was that VS devours memory.
Other than that .Net is awesome and VC++ is the best C++ toolchain available today.
@@donsk324 oh yes indeed, they're the best at littering my computer with garbage. My system folders look like the city dump. Probably smell like it too.
Last thing I will ever ask of users is to install anything other than my app. How tf that shit ever become a trend...