Visual Code Is the worst Compiler for Beginners

With the title out of the way…why would anyone in their right mind try to teach somebody C++ in a compiler like Visual Code? I don’t get it…I can compile easily in Visual Studio easily but send me over to Visual Code and I can’t even get the first “Hello World” app to compile while closely following the instructions on installing and setting everything up…My best guess is because the video is already outdated, and I may have installed the wrong Extension given the fact that He Simply tells you to install the one at the top…

I suppose they choose VS Code because regular VS for Mac differs a lot from VS for Windows, not just interface wise but there are some tools missing, while VS Code stays relatively the same.

As for the extensions, well, yeah, the instructor should have been more descriptive about that.

2 Likes


This is Exactly what he did in the video look…

This is why if you want people to have the worst experience coding possible…start them off in Visual Code…You can’t go right if you start them off in the Compiler with the biggest Learning Curve.

Yeah, I thought of that after posting this…but Visual Code is the worst compiler to start people off in. I’ve tried using it in the past and always went back to Visual Studio because it’s just so hard to work with…there are always errors being thrown that have nothing to do with your code.

It helps to know that it’s either ./progam_name or .\program_name depending on the terminal VSCode is set as the default or is being used.

It could also just mean that your code wasn’t compiled successfully.

VS Code, while not perfect, works well for us because it’s cross-platform and free to install.

Yeah, I get it. I just don’t want the headache. I have a hard enough time staying motivated, I’ve been messing with Unreal Engine for 2 years now and I’m proficient in Blueprints but I would rather just learn to code…rather then spending weeks trying to learn the IDE. Not when there are 2 others out there far easier to use.

That’s fair, and you’re definitely free to use whichever IDE you’d like and follow along that way. Though we can’t guarantee to be able to help if things should go wrong.

Alright, I’m a bit calmed down now. It just makes me feel stupid when I can’t even get a Hello World Program to compile without errors lol.

1 Like

Oh boy, wait until GitHub! :laughing:

Lol I use GitHub and it’s way easier than Visual Studio Code. I don’t mind using stuff like that, personally I prefer Perforce but When I’m coding, I don’t want to have to learn how to use an IDE on top of a Language. If I’m coding, I shouldn’t have to worry about errors related to an Unreliable IDE. Visual Studio or Rider for Unreal are both 100% easier to use. Why use an Inferior IDE for the sake of Cross Platform? I only work in Windows and anyone in my opinion that doesn’t use the one Operating system that is widely supported is only asking for unnecessary Hardship when learning development. I personally have no interest in making people think I’m a hacker because I have to do everything by typing it out. It only slows you down.

I only wish C++ wasn’t so Archaic C# is much easier to work with.

Yeah, I get where you’re coming from. Git Hub was a real headache for me.

Um…so…um…why not just use VS or Rider then? :thinking: It sounds like you have enough experience with VS that nothing from these beginner courses should throw you off that much.

Nobody is twisting anyone’s arm to stick with VS Code.

Wow, just wow.

Maybe, just maybe, I didn’t feel like buying a Windows computer just to take these classes.

I mean, I take the course on a Linux computer, mostly because I’m perceived as a super hacker and I want everyone to know it. Thankfully, every Linux user is considered to be a super hacker, so I don’t even have to lie about it. I can just let the rumors run their courses. It’s actually pretty awesome how peoples’ opinions can trick them into believing the weirdest things, but I digress.

But, yes, there are quirks and additional challenges when using another platform that is not Windows. As you mentioned, I’m obviously a glutton for punishment to accept them for what they are.

The CMD prompt environment is different for Windows, meaning that it is not the same Terminal that is used on Linux and Mac. Windows always has been centered around the GUI so it makes sense that you don’t spend a lot of time in Terminal.

As for your limited use of Terminal, yeah man, the GUI was made for you. To be honest, one really has to spend some time in Terminal before one can really appreciate how it works.

That said, Mac and Linux users often get to the point where they don’t like having to constantly reach for the mouse. Literally, ergonomics. It gets exhausting to constantly have to move my whole arm away from the keyboard and grab a mouse to click on three different buttons when I can just move my fingers a little bit and do the same thing with half a line of code. Once again, I digress.

I’m really at a loss for why you’re not using your native IDE if it’s that big of an issue.

This guy seems to be using C# in his Unreal Engine :man_shrugging:

I just assumed that the Library was setup for Visual Studio Code, the course didn’t offer any alternative. I’ve coded in other languages, but it’s been spread out. I stepped away from C# for a minute to get familiar with the Unreal Engine and when I seen the C++ in Unreal with my limited knowledge of C++ I didn’t want to discourage myself from learning by putting myself in a position where I would be constantly frustrated with Learning Unreal Engine and how it works coupled with their Unique approach to C++. So, I opted to give coding a break while I learned the Engine. I’m a bit rusty now on coding now though and I’m trying to step back into it now that I have a pretty good understanding of how Unreal works. That basically is what brings me here, I could have just searched YouTube for video courses, but I decided since they had that sell I would take a more structured approach. I heard of that C# approach to Unreal but It’s not well known or used and I’m not even sure it is possible anymore since the last video covering it on YouTube was from a year ago. To top it off it wouldn’t be beneficial to use an unofficially supported language with it since if I came across any issue’s nobody would be able to help given that basically anyone coding in Unreal will be using C++.

1 Like

4-year old video of unofficial basically fan-mod bindings that had support dropped. There’s other implementations but again nothing official.

1 Like

That makes sense. I dabble in a number of languages and such and I get them confused as well. I’ll write JS for a while and forget C#, then some Rust and etc…It can be frustrating for sure.

Admittedly (and also acknowledging @Tuomo_T 's comment), I don’t know much about using C# with Unreal. I just found that video in a quick search that I thought might help you out. I do realize it is 4 years old. I watched about 90 seconds of it and dude seemed pretty confident that he knew what he was doing. You’re right though, a C# video won’t help you much in a C++ course.

But yeah, if you’re accustomed to using a different IDE, you’ll probably have less of a headache so long as you know that IDE pretty well. The code should remain the same, so I don’t think you’ll have any major issues if you use something that you like better than VS Code.

Alright, I’ll give it a shot then. I went a bit over the top here on this topic, It just makes me feel really dumb when I can’t even get a Hello World app to compile lol.

1 Like

It makes sense. People do get frustrated, myself included, and vent in here from time to time. Especially with new or different topics…like:

  • “I hate VS Code”
  • “Why is the code so simple?”
  • “Why is the code so hard?”
  • “This video was really hard, grumble grumble…”
  • “My milkshake brings all the boys to the yard…”
  • “I like Rider better…”

…and so on and so forth, you get the idea. We take breaks and think about what we’ve learned so far and come back with another idea. It’s cool.

We do our best to respect each other’s KSA’s and personalities, staff included. It can be tough work because we all want to vent from time to time, but we try to keep it mellow in here.

Anyway, welcome back! I’m glad you’re here.

Some things I keep in mind when working with a new language is:

  • “How and why is it that way for that language?”
  • “Why do we do things differently in C#, JavaScript, Scratch, Python, Rust, React, Lua, Java, HTML, XML, CSS…?”
  • “What are the real differences between let and var?”
  • “How do scoping and hoisting work in this language, if they do?”
  • “What can that do for me that this can’t do?”
  • “Can I program an Arduino with that?”
  • “Does this language use garbage collection? Why or why not?”
  • “Did Epstein really…?”
  • “I forgot, do variables go to the stack or the heap in this one?”
  • …etc…

Is there anything that VS Code does differently for you that VS doesn’t do? I don’t know the real differences. I don’t think VS is available on Linux, so I stuck with VS Code. I’ve used a lot of IDE’s. Some general and some specific. They all have their own headaches…ahem…Android Studio…cough, cough… Aside: I’ve really come to love Rust and how Cargo works.

Oh, and always feel free to ask a question in here. We’re all students at varying degrees of ability, knowledge, and skill and it might take a little time to get to the correct response, but definitely ask a question when you get to your wit’s end on something.

Many people solve their own issues by working it out in here, in a post, having a good think about the entire issue while posting and editing. It happens from time to time. It’s happened to me.

Please feel welcome to ask questions about how this stuff works, or even how to stay motivated when you’re upset with something.

Welcome back!

1 Like

Thanks, I’ll try to keep that in mind. Luckily at least garbage collection is mostly handled for us in Unreal.

1 Like

So long as you keep to Unreal Engine’s types and best practices then it should be GC’d

2 Likes

Right? See, I’m new to Rust and I’m learning that Rust doesn’t use GC at all. Once something is finished, it’s dropped, if I’m not mistaken. I’m still learning the fundamentals of Rust.

But I’ve explored many, many different online classes and feeling the languages out. Trying to figure out what languages I like and why, and where do I really want to steer my career.

Although I’ve done a lot of electrical in my career, my stronger skills are in electronics. The work environments are usually much cleaner, too.

I’ve done industrial maintenance/field service engineer/electrician jobs and I just have no interest in studying Allen Bradly and PLC ladder logic during my time at home. I really wanna forget about that junk.

Games are fun, but I also like micro-controllers and Estes rockets, so I wanna build a radio controlled Arduino tank that shoots four rockets. Just like a science fair idea.

I’ll probably write the first build in Arduino (I’m just learning the board and the language), then re-write it in Rust (also learning the fundamentals) and then I’ll probably use React Native and Expo to build the control app.

React has been kind of a headache for me. I don’t have a lot of experience and it kinda made me hate app and web development for a while, but I still think about it a lot. React and React Native blew my mind pretty hard.

It’s gonna take some time and supplies, but it’s just a fancy RC/AT launch control system for some cardboard tube rockets…a portfolio project for employment.

While learning JavaScript and web development, new concepts were introduced to me such as hoisting, json objects, type coercion, functions, arrow functions, etc…and I really began to ponder the differences and try to understand how and why C# and Java acted they ways they did. JS helped a lot of C# make sense to me because of why the languages were so different.

Scratch was fun, and quite impressive.

Python was hard to light up an LED on a Raspberry Pi board. Couldn’t figure out JSON objects and API’s pumped into a React Native app. I still think about it sometimes.

MineCraft with Java Block code was fun to play with…

Rust is helping me better understand C and Python because of all the similarities and differences. Did I mention I really like Rust? I really like Rust.

Anyway, my point is: these differences between different languages that give us a headache are growing points. Digging into that headache and learning those growing points enough to make them work and understand them, well, it just takes time to do everything.

It’s okay to prefer a primary language, framework, IDE, etc…for average use, but someday your boss might ask you to write something in a language or a framework that you’ve never used before. You’ll just have to do it or find something else to do…if you’re in that field.