So I started my coding journey with Python about 2 years ago. I primarily used IDLE which was super bare bones but was perfect for my needs.
I'm now toying around with Javascript with eventual aspirations to learn C# and maybe something else (Golang maybe, C++ is intimidating). I completed codecademy.com's course on Javascript, have been running through some algo training on codewars, been playing a little BitBurner, but now I want to actually try to develop my own stuff.
Looks like Visual Studio has an environment that supports Javascript, Python, and C# in one place. How is it? What are some of the positives and negatives of choosing to use Visual Studio moving forward?
I mean I just want a handy IDE that I can do python, javascript, and eventually c# when I learn it, instead of continuing to use IDLE and whatever IDE javascript comes packages with
Personally I think as a beginner VS is better than VS Code. I'm a professional and VS Code is still overwhelming to me because of the palette system instead of easy drop down menus and whatnot. I want to like VS Code but I can't get past not knowing what the commands are for the multitude of plugins I need to mimic even a fraction of VS's capabilities.
I daily-drive both Visual Studio 2022 and Visual Studio Code in my day job, doing C++ and JavaScript/React development. In general, I find Visual Studio more useful for C++ (especially when debugging) and VS Code more useful for web-based technology like JavaScript. VS is much heavier, and to use it properly you really need to have your solution/projects set up properly. There's a lot of complexity to the IDE, which is great when you need it but not when you don't.
VS Code is much lighter-weight and is better if you just want to open a folder as a workspace and do your debugging using something like Chrome dev-tools. I also find search functionality a bit more straightforward in VS Code than VS. The down-side of VS, specifically when talking about compiled languages like C++ and C#, is it's not set up to build a project out-of-the-box. You have to configure that yourself. That's not really an issue for something like JavaScript. Another down-side is that you might need to search for an extension to get some functionality you want (such as various language support extensions, or stuff like GitLens), and using a lot of extensions will slow down VS Code.
To sum up, VS 2022 is great for stuff like C++ or C#, where you need the complexity. But VS Code is better for stuff like JavaScript where you don't.
VS is great. Even the Community edition is a fully-fledged IDE. It has robust debugging and profiling tools. Intellisense is wonderful.
It does have some minor annoyances if you ever find yourself having to manually modify project files but otherwise, it's by far and away my favorite IDE (followed closely behind by IntelliJ)
I have made the decision to completely switch from full studio to vs code for my c# development about a year ago. and I haven't regretted it so far. I work in a company that has a lot of microservices so I tend to switch between projects often.
And with the C# dev kit they just released setting vs code up for c# development is no effort.
I also recently started using profiles more in vs code to quickly switch between c# and web development, and I'm a fan.
VS Community edition is kind of the demo/education version of Microsoft's paid line of IDEs. It's been a long time since I used the community version so I can't say if the community edition would make for a great daily driver but I use the paid version every day and it has a lot of great tools that make my work a lot easier.
Unfortunately it seems they cut some of the essential debugging tools out in the free version. The Pro/Enterprise editions are out of most folks price range so the paid line is mostly used by folks who get it through work. I guess it may still be worth giving a try if you intend to work on any of the MS developed technologies.
For personal projects I usually use VSCode. It has some unusual quirks due to being designed around extensions but those extensions really turn it into the swiss army knife of IDEs. The "Remote Development" extension especially has been great with my homelab projects as it lets me edit files on my headless Linux VMs from my Windows PC in a relatively user friendly IDE.
I used Visual Studio Code for a while and it was pretty good, it was able to do near everything that I wanted it to do.
However, at some point I kept running into some issues with the autocompletion function (intellisense) and the documentation it shows on functions you're typing. These popups appear underneath the line you edit and kept obscuring code that I wanted to be able to see.
I could not find a setting to move these popups without disabling Intellisense in its entirety, which annoyed me to no end.
That's why I finally bit the bullet and switched to EMACS a few months ago and while it's a little less stable, it allows me to configure whatever and however I want to configure. In addition, it allows me to do many things other than programming in the same application. I read my emails in EMACS, I keep to-do lists and agenda in EMACS, I (used to) read Reddit from EMACS. There are lots of possibilities.
EMACS by itself is a very barebones experience, I installed DOOM EMACS, a framework which installs and configures many things for you out-of-the-box, which is very handy for getting started. One potential caveat is that DOOM is designed for vim keybindings which can be difficult to get accustomed to (I love them, though). The vim keybindings can be disabled, though I'm sure there are also other frameworks which take a non-vim approach.
It can be difficult to get started in, but for me EMACS is extremely rewarding.
Edit: I program in Typescript with React, Java, PostgreSQL and Rust all from within EMACS
I started using Visual Studio (not Code, wtf were they thinking when they named these things) around 15 years ago.
Back then, it helped me a lot learning C# through excellent (= mostly very fast) code completion/suggestion and lookup tools (peek definitions etc).
I still use it (mostly for Unity), but maybe there are now better IDEs of which I am not aware of.
Currently, I still love the code completion and lookup features, but it became pretty overloaded with features and takes very long to load on my old laptop. Once up and running, it's fine.
wtf were they thinking when they named these things
What's funny is that originally "visual" was the selling point in that you design your programs visually rather than through code. With the naming of VS code, they've gone full circle. It's a video game adaptation of a movie adaptation of a video game.
I actually like to use different environments depending on what I'm doing. I tend to use SublimeText with custom build systems for embedded dev. I use VS when I need to use it, for stuff like Marlin firmware, it's much better than it was when I started. I find that I really like PyCharm for python work. It makes a lot of things just really nice and easy for debugging and the like.
All that said, if you want one environment to rule them all, you could do worse than something like VS or VS Code, especially if you're interested in primarily MS oriented apps.
vs code is a text editor which can be extended to be an ide with extensions for a specific language
C++ is pretty hard to set up and debug without a specialized ide, so if you want to get into low level programming i wound recommend rust. rust's documentation is fantastic, the compiler helps you and it protects you from some of the worst bugs that can arise in c++
@ivy Rust is just such an ugly looking language to me. I tried to learn it, but just never liked how I had to write code. Pretty superficial reason to drop it, but it just never jelled with me, so meh
8 years ago when I did javascript/typescript I preferred VS Code. VS Code also has extentions for python and C#. C# extention is not fantastic, but should be fine for a small training project. VS Code also works OK for Rust.
I use Visual Studio Community Edition to debug D code (works well for the most part, except it doesn't always want to handle D exceptions - I will try to upgrade the plugin), while I'm using VSCode as my text editor (does not force me to use the VS build system, and instead I can just use dub - best build system, but by build system standard).
VS Code is great. I use it for JavaScript (usually Svelte or React) and Python (Django only). It is pretty resource-intensive if you are live-updating everything so don't go overboard on plug-ins and shut down un-needed apps.