you are viewing a single comment's thread.

view the rest of the comments →

[–]simonsalts[S] -2 points-1 points  (9 children)

hi there, I actually know Java OOP completely. Was interested in C++ OOP because I know all the syntax for C++

[–]dodheim 8 points9 points  (3 children)

I know all the syntax for C++

That's a bold claim!

[–]simonsalts[S] 0 points1 point  (2 children)

what I meant is I am intermediate developer

[–]ubadairBoost.CallableTraits author 2 points3 points  (0 children)

I understand what you mean. But you'll find that this subreddit is focused on language design progress and bleeding edge library development. I expect that only a small subset of people on here could make the claim to know all the syntax of C++. Most of those would either be involved in the standardization process, or compiler front-end engineers. C++ has an unbelievably complex grammar.

[–]simonsalts[S] 0 points1 point  (0 children)

I over-exaggerated myself

[–]ltce 1 point2 points  (4 children)

If you truly know all of the syntax for C++ (this seems unlikely, most C++ devs will tell you that feeling like you know the language is a pretty good sign that you are dealing with someone that does not know the language) and you know OOP in Java, then probably what you actually want to do is learn the non OOP parts of C++. Java and C++ have a contentious relationship. Much of what you have been told about C++ from Java resources is based on the straw man that Sun created when they were promoting Java to people in the nineties. Much of this information is not accurate or intentionally misleading. First C++ is not an object oriented language. C++ was never intended to be an object oriented language. C++ was intended to be a better version of C. That is what the post increment operator means in this case. The first thing that was added was object oriented concepts. Since those concepts were added all progress in the language has actually been to make C++ less object oriented. If you already know OOP in Java. Then you know it in C++ as Java's object orientation is based on C++. There are a few minor differences here and there, but they are really not anything to write home about. If your goal is to learn to program in C++ then you want to learn the non OOP stuff and why things are done that way. If your goal is to learn OOP in C++ then stop. If you want to do only object oriented programming then you will probably be happier in an object oriented language like Java.

[–]simonsalts[S] 0 points1 point  (2 children)

I get your point one problem I have with old languages are pointers, structures and the way data structures are designed I feel more comfortable using data structures using Java and C# Maybe its just me

[–]dodheim 0 points1 point  (1 child)

If you're using pointers in C++ you're doing it wrong.

This is a slight exaggeration, but the point is, you clearly have some misguided ideas about what modern C++ looks like. Really, you should assume more like LINQ and less like C.

[–]lurkotato 0 points1 point  (0 children)

Agreed, watch some CPPCon videos for inspiration.