Jump to content

C# vs C++ vs Java

Hi for my GCSE, I have to learn another language. I have learnt python (kinda) but for my second language I don't know the difference between C#, C++ and Java. (insert noob comments here). What one should I learn and why. I want to make some simple text based programs and maybe some simple RPG games in the future. Also, what books do you recommend for such a noob.

 

Help is appreciated,

 

Thanks!

Link to comment
Share on other sites

Link to post
Share on other sites

C# or Java first. C++ is more advanced, but it's doable.

 

Microsoft Virtual Academy has free videos on C#, for example.

Link to comment
Share on other sites

Link to post
Share on other sites

I would try java first, since it would help you a load once you get to university. 

If you want to reply back to me or someone else USE THE QUOTE BUTTON!                                                      
Pascal laptops guide

Link to comment
Share on other sites

Link to post
Share on other sites

Java used to be good, but failed to update and evolve like C#, so C# is far more powerful, yet still very similar to Java. C++ is a little more advanced and requires more memory management from the programmer so that memory doesn't leak, where both Java and C# has garbage collection that will free up unused memory.

 

C# would be good if you can get a good IDE for it (Only one I know is Visual Studio, which isn't entirely free).

Java would be good otherwise.

C++ would also be a good option if you want more of a challenge, but in my opinion, I think someone should go through C before reaching C++.

Link to comment
Share on other sites

Link to post
Share on other sites

C++ if you want the "best". C# is very powerful and pretty easy to use but it is strictly windows limited. Java is easier than c++ and it is also multiplatform.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

Go with C# or C++. If you learn C# you could also learn java easily because the syntax is almost the same, but C# is better IMO. C++ is very powerful and the best language IMO for stuff where performance is important, but it is harder to learn.

GPU: Gigabyte GTX 970 G1 Gaming CPU: i5-4570 RAM: 2x4gb Crucial Ballistix Sport 1600Mhz Motherboard: ASRock Z87 Extreme3 PSU: EVGA GS 650 CPU cooler: Be quiet! Shadow Rock 2 Case: Define R5 Storage: Crucial MX100 512GB
Link to comment
Share on other sites

Link to post
Share on other sites

C++ if you want the "best". C# is very powerful and pretty easy to use but it is strictly windows limited. Java is easier than c++ and it is also multiplatform.

Actually you can also use C# on other platforms than windows using Mono. https://en.m.wikipedia.org/wiki/Mono_(software)

GPU: Gigabyte GTX 970 G1 Gaming CPU: i5-4570 RAM: 2x4gb Crucial Ballistix Sport 1600Mhz Motherboard: ASRock Z87 Extreme3 PSU: EVGA GS 650 CPU cooler: Be quiet! Shadow Rock 2 Case: Define R5 Storage: Crucial MX100 512GB
Link to comment
Share on other sites

Link to post
Share on other sites

Actually you can also use C# on other platforms than windows using Mono. https://en.m.wikipedia.org/wiki/Mono_(software)

However some methods seem to be Windows only. I've encountered some of my programs crashing with Mono on Ubuntu 15.04.

From salty to bath salty in 2.9 seconds

 

Link to comment
Share on other sites

Link to post
Share on other sites

Java used to be good, but failed to update and evolve like C#, so C# is far more powerful, yet still very similar to Java. C++ is a little more advanced and requires more memory management from the programmer so that memory doesn't leak, where both Java and C# has garbage collection that will free up unused memory.

 

C# would be good if you can get a good IDE for it (Only one I know is Visual Studio, which isn't entirely free).

Java would be good otherwise.

C++ would also be a good option if you want more of a challenge, but in my opinion, I think someone should go through C before reaching C++.

Yes it is. As of the 2015 version you can get it for free. The only difference between the community version and Enterprise version is minimal. You will most likely not ever notice the difference anyway. It's not like older versions where you actually got more stuff in the Pro versions versus the free ones.

 

So if you want a really powerful IDE, Visual Studio 2015 Community edition is great!

Spoiler

System:

i5 3570k @ 4.4 GHz, MSI Z77A-G43, Dominator Platinum 1600MHz 16GB (2x8GB), EVGA GTX 980ti 6GB, CM HAF XM, Samsung 850 Pro 256GB + Some WD Red HDD, Corsair RM850 80+ Gold, Asus Xonar Essence STX, Windows 10 Pro 64bit

PCPP:

http://pcpartpicker.com/p/znZqcf

 

Link to comment
Share on other sites

Link to post
Share on other sites

You can't really go wrong with any of those options. They all have good tools and libraries for working with the language. You'll be able to use any of them to make "simple text based programs and maybe some simple RPG games".

Link to comment
Share on other sites

Link to post
Share on other sites

I'll keep recommending C++.

It has both low-level and high-level features.

C++ was designed to be a low-level platform-neutral object-oriented programming language. C# was designed to be a somewhat higher-level component-oriented language. The move to a managed environment represents a sea change in the way you think about programming. C# is about letting go of precise control, and letting the framework help you focus on the big picture.With the managed environment of .NET, you give up that level of control.

C++ can be the end-to-end language for a system that pokes around in the depths of a system, yet offers the opportunity for tinkering around with higher order abstractions.

 

I won't go into more details about cons and pros for each language, but ,by learning C++, you will eventually learn more stuff , stuff which links together to give you a good explaination of how everything works together.

 

 

 

And if you're trying to make a game, then I suggest Unity.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

I'll keep recommending C++.

It has both low-level and high-level features.

C++ was designed to be a low-level platform-neutral object-oriented programming language. C# was designed to be a somewhat higher-level component-oriented language. The move to a managed environment represents a sea change in the way you think about programming. C# is about letting go of precise control, and letting the framework help you focus on the big picture.With the managed environment of .NET, you give up that level of control.

C++ can be the end-to-end language for a system that pokes around in the depths of a system, yet offers the opportunity for tinkering around with higher order abstractions.

 

I won't go into more details about cons and pros for each language, but ,by learning C++, you will eventually learn more stuff , stuff which links together to give you a good explaination of how everything works together.

 

 

 

And if you're trying to make a game, then I suggest Unity.

Unity uses C# :P.

GPU: Gigabyte GTX 970 G1 Gaming CPU: i5-4570 RAM: 2x4gb Crucial Ballistix Sport 1600Mhz Motherboard: ASRock Z87 Extreme3 PSU: EVGA GS 650 CPU cooler: Be quiet! Shadow Rock 2 Case: Define R5 Storage: Crucial MX100 512GB
Link to comment
Share on other sites

Link to post
Share on other sites

I would recommend C# or Java.
Ive tried all 3, but those 2 are languages that are easy to get started with, and quickly make some cool working stuff with.
And choosing between the 2, i would go C#, since you talk about games, where unity is pretty popular. and that uses c#.
Java is a bit dated in my opinion, and all the constant security issues doesnt really help either.
Also i work as a full time software developer, doing C#, so i guess i might be biased :)

Ofcourse C++ i super cool! but i can be a big mouthfull.

Link to comment
Share on other sites

Link to post
Share on other sites

Each of these 3 languages is used for a different purpose. Java is a cross platform language so it works everywhere and abstracts from the machine underneith it. C# is Windows only (sort of) and is a copy of some of the aspects of Java but its targeted at improving application development for Windows programs. C++ is a system level language, its used to write operating systems and a lot of applications are also written in it, but its more difficult to use due to its lower abstraction level making bugs more likely.

Link to comment
Share on other sites

Link to post
Share on other sites

C++ is a low level language that doesn't do much for you. C# and Java are similar languages. C# is windows exclusive (sort of, as stated above) and Java is cross platform. C# has Visual Studio which is an awesome IDE. Java, on the other hand, has eclipse, which is not nearly as good. 

 

EDIT: Eclipse isn't the only IDE for Java, but it is one of the more popular ones. I talked to a friend of mine who programs in Java with eclipse and he thought that Visual Studio was WAY better.

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
Share on other sites

Link to post
Share on other sites

What kind of applications are you working on? 

︻デ┳═ー - - - - === = -٩(͡๏̯͡๏)۶

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×