Learning C/C++
I want to learn C/C++ to develop programs possibly for a career path. So I'm wondering how did You (Assuming you know C/C++) I think it is a good place to start. I'm okay with Html. It's alot like BBCode. Though I think C++ Would be a good choice for a first language cause it is very Common.
_________________
ever changing evolving and growing
I am pieplup i have level 3 autism and a number of severe mental illnesses. I am rarely active on here anymore.
I run a discord for moderate-severely autistic people if anyone would like to join. You can also contact me on discord @Pieplup or by email at [email protected]
I actually found C a lot easier to learn after programming in assembly for a while. When I first started to learn C/C++, I followed some online guides, and there were a lot of holes and missing details in the explanations, and the code didn't make a lot of sense. After knowing about registers, memory layout, pointers, and the stack from learning assembly language, C programming really clicked for me since I knew what was going on at a lower level.
C was one of the first languages I learned, but I like C++ better because it looks cleaner, and I'm a visual person.
For C++, to do hard core programming as a career path, I would go the CS route and take a few C++ courses at a college. They are getting more difficult to find as many colleges are phasing them out in favor of Java, but I don't think C++ will go the way of FORTRAN any time soon.
Also, there are a lot of C++ books. They are usually thick beasts that are needlessly complicated, but two that I highly recommend are one ofthe C++ for Dummies books to start, and C++: Classes and Data Structures by Jeffery Childs for the concepts in the name of the title. By far these two are my favorite C++ books.
C++ is one of those languages, where if you know, it's often easier to learn other languages.
I think C looks cleaner than C++, but to each his own. My university almost exclusively uses Java for teaching things, but the syntax of Java is almost the same as C/C++, so it's easy to apply the concepts to other languages. I don't think C/C++ will ever become completely phased out by Java in the real world, especially in embedded systems, because Java requires a lot of extra baggage to run, like a JVM and a really bloated class library that takes up hundreds of MB of space, whereas, C and C++ use simple libraries, and compile directly to executable machine code.
Okay, I'll look into assembly langauge.
_________________
ever changing evolving and growing
I am pieplup i have level 3 autism and a number of severe mental illnesses. I am rarely active on here anymore.
I run a discord for moderate-severely autistic people if anyone would like to join. You can also contact me on discord @Pieplup or by email at [email protected]
I was just recommending learing it because it helped me understand C and C++ better. And languages like Java and C# are almost variations of C++, so it's easy to learn them once you know C++. I find programming easy to learn once you know what's going on under the hood and can make sense of it.
I'd recommend learning straight C first, then Java, then C++. It's nice to learn OO programming in Java because it forces you to follow a strict OO convention. It also doesn't require you to do memory management. I's also nice the that Java is not just a language but really almost a virtual operating system, complete with it's own GUI features. You don't need to know the operating system to create interactive environments beyond a simple text console.
C++ is a lot like Java, but it's way more flexible and you have to deal with cleaning up memory. The flexibility of C++ can be confusing. If you want to program like Java in C++, you have to learn the Standard Template Library. It has flexible array structures like lists. In C++ you don't have a standard virtual operating system to work with, so you eventually have to learn operating system functions native to the machine you're working on. I only really know a little of the windows OS API and it's kind of a mess to learn.
Java is easier for doing GUI stuff quickly. That's why I'd learn it first. Java also doesn't crash hard without giving you a descriptive error message. C/C++ can be harsh when it comes to debugging. You'll often get OS "fatal exception" errors and have to search for where you went wrong with some pointer somewhere. It can be a pain.
I agree with the comment above. C is like a machine-portable assembly in terms of the way you will be working with memory. In assembly, you worry about things like immediate addressing, direct addressing, and indirect addressing, which in C are equivalent to constants, variables, and pointers. Pointers are the mainstay of C and very powerful, but they can also cause you to shoot yourself in the foot if you're not careful, so if you can understand how they work you can do a lot.
_________________
"You have a responsibility to consider all sides of a problem and a responsibility to make a judgment and a responsibility to care for all involved." --Ian Danskin
goatfish57
Veteran
Joined: 12 Nov 2015
Gender: Male
Posts: 617
Location: In a village in La Mancha whose name I cannot recall
Python has a nice OO flavor and easy to learn. I have been writing code for the better part of 40 years.
Java has one of the nicest and richest programming environments. I use Eclipse.
The best place to start is Python and then Java.
Good luck
_________________
Rdos: ND 133/200, NT 75/200
Not Diagnosed and Not Sure
Campin_Cat
Veteran
Joined: 6 May 2014
Age: 62
Gender: Female
Posts: 25,953
Location: Baltimore, Maryland, U.S.A.
I AGREE!! I think learning Java, etc. is like learning math WITH a calculator----whereas learning C++ is like learning math, WITHOUT a calculator (like YOU said, "what's going-on under the hood")----and, I've always felt one should learn math without a calculator, FIRST. It's gonna be tough / intimidating, at first, though----most definitely WAAAAAY more involved than HTML / BBCode----but, it's totally worth it, IMO, cuz, like others have said, you can go ANYWHERE, basically, from there.
Java has one of the nicest and richest programming environments. I use Eclipse.
The best place to start is Python and then Java.
Good luck
Eclipse is garbage, all these open source tools and languages are garbage. Spend a few grand on a professional IDE and you'll see what you're missing. If these tools seem good to you it's simply because you have no frame of reference.
goatfish57
Veteran
Joined: 12 Nov 2015
Gender: Male
Posts: 617
Location: In a village in La Mancha whose name I cannot recall
I'm looking for a place to start..
_________________
ever changing evolving and growing
I am pieplup i have level 3 autism and a number of severe mental illnesses. I am rarely active on here anymore.
I run a discord for moderate-severely autistic people if anyone would like to join. You can also contact me on discord @Pieplup or by email at [email protected]
Java has one of the nicest and richest programming environments. I use Eclipse.
The best place to start is Python and then Java.
Good luck
I look into it when I get home from school or even now
_________________
ever changing evolving and growing
I am pieplup i have level 3 autism and a number of severe mental illnesses. I am rarely active on here anymore.
I run a discord for moderate-severely autistic people if anyone would like to join. You can also contact me on discord @Pieplup or by email at [email protected]
Similar Topics | |
---|---|
Learning through audiobooks |
03 Apr 2024, 6:51 pm |
Learning too many things at once |
17 Mar 2024, 9:21 pm |
The Algebra Learning Center |
30 Jan 2024, 8:32 pm |
Close friend learning to unmask hurts my feelings? |
21 Mar 2024, 4:34 pm |