OK. Taking the Leap to C++. Right Descision? [closed]

General Tech Learning Aids/Tools 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Learning Aids/Tools related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

OK. In the past, I have tried my best to master VB.NET (which was very unsuccessful, but taught me the basics of programming, through research and experience. I also got to know some programming jargon, types, declarations, arrays etc.). Before I continue to invest a lot time that could be well spent elsewhere, on developing my knowledge of VB.NET, I am considering just learning C++ from this moment onward.

My reasons for wanting to learn C++ are: - It is a powerful, and both low and high-level (ish) language. - It is quite(or very?) portable - It has been around a long time - A LOT of software companies write their applications in it - It is quite hard to read (for me), but this allows for more concise definitions etc., and overall, just more compact code. - Its quite specific ways in which to things (I like this because it keeps things strict and creates a good standard) - If I am not mistaken (which I may be), it is perhaps slightly harder to dissassemble, decompile etc. - It is NOT reliant on things like Windows or the .NET Framework (I may be wrong here)

These are just a few things that attracted me to it.

Let me explain that I am VERY unexperienced with this language, but have viewed a few simple "Hello World!" apps etc. (only console apps)

Also, I am not talking about VC++ (Visual C++). I DO NOT want to go that way, as I want to be able to write independant apps, and in pure C++

My question basically is: Should I make this jump from (VB) .NET? The apps I want to make should be GUI apps (not console), but I know that Visual C++ Express has no IDE for this. I find writing a GUI very daunting, and find on the internet, that others are too.

@Sent from an iPod Touch.

profilepic.png
manpreet 2 years ago

I would spend more time with VB.NET if I were in your shoes as you can develop the same apps (strictly speaking from a .NET perspective) for the most part as you could with C++ and it's much simpler to use. Once you get into C++ there are a lot of things (like pointers that often takes some time to get familiar with) that you will be require to learn in order to write memory efficient programs. Instead of switching languages, try learning more about how languages function (memory, runtimes, other high level languages, etcetera) and once you feel confident in them jump into C++.

I only recommend this approach because you've already started with VB.NET and would be better off developing your advanced skills in what you know. If you hadn't started programming yet I'd recommend coming into C++ and then choosing to move out of it from there. Again, I only recommend you stick with VB.NET for the simple fact that you've already got experience in it and you should stick with it until you understand some more complex functionality (not just in VB but as a programming language in general) such as patterns, threading and other such nifty features that you can generally implement in most languages with some syntax modifications.

Strictly my 2 cent.

EDIT

To add more options, from your current position, I would work with VB.NET until I felt comfortable making apps by hand (not using auto-generated files) and understanding how to use and implement more advanced OOP and Programming features. Then I would move onto a different language that is more widely used like Java. The benefit of Java is you get a lot of C++ flavor (syntax) without the need to learn how pointers and memory work and you still don't need to do basic memory management. Once I was confident enough in Java to do what I could do in VB.NET (or more) I would then move to something like C++.

Additional Information

You are not incorrect, C++ is not dependent on .NET or Windows in any way. Unless of course you're developing a Visual C++ .NET applicaiton for Windows. In which case it's dependent on both. A popular windowing toolkit that is cross platform for C++ is Qt which I've used before could also be used to build Windows applications outside of the constraints of .NET. That being said, it's not as easy to get a non-.NET C++ compiled in a Windows environment as it is to compile C++ apps on OS X or Linux (both of which I'd recommend over Windows for learning C++).

To sum up, a path I recommend is Keep with VB -> Learn everything you can do in VB for Java -> Pick up C++.

Background Information

Not that it's terribly necessary but these opinions came about because I started with Java and stuck with it until I was fairly capable of building an GUI app from the ground up without the aid of the IDE to generate anything other than a manifest (those things never worked when I did them by hand) before I moved on to my first language after Java which was C# (not much of a transition) and from there I went into PHP, then Javascript, Ruby, Python and the list goes on. One of the latest languages I learned was C++ and having learned a lot of things in different languages (and why things are done certain ways in them) I was able to pick up and understand a lot of C++ things rather quickly (compared to my first feeble attempts at back when I had just learned the basics of Java). This is why I recommend becoming more experienced with the "simple" languages since you've already started there before moving on.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.