Why is the Java syntax similar to C ++

How different are C, C ++, C #, Java?

Another thing about C and C ++:
Generally speaking, it is true that C ++ is an extension of C
(There are, however, some subtle differences where a C program
then it is not a valid C ++ program).

In the case of Uni & Co, however, there may be a problem:
There are many things (starting with the normal console edition)
C options that already work in C ++, plus others
C ++ possibilities that in the end do the same thing but can be used quite differently.

In everything where you have the choice between several variants,
it wouldn't matter what you use for functionality; but what is "nicer"
and if the university submission of a "C ++" program also a mixture
is accepted with things already in C (as long as there are alternatives) ...

About C #:
Especially with smaller exercise programs at the beginning, it will feel like a Java clone to you
(who knows, maybe it should be exactly that: suspect.
So there should be very few problems with learning.

C # is very Windows oriented, while Java is so
wants to work the same way on Linux, etc. by default.
You will therefore also find classes in C # that go deeper into the OS peculiarities,
than it makes sense and is possible with general Java.

Otherwise ... you will come across the actual differences between the languages ​​at some point
already in contact if programmed enough