Jump to content
xisto Community
Sign in to follow this  
fabeschan

C++ Or C#: Which Is New? Which One Should I Learn? Which?

Recommended Posts

You should learn C++, because most of the professional works are made using C++, so you will be able to work with today's developpers and modify the programs written by your collegues.I personnally know C, gcc (which is the free version of C compiler), C++. Unfortunately I don't know what ils "C#". Let's count how many people knowh about it.RegardsYordan

Share this post


Link to post
Share on other sites

You should learn C++, because most of the professional works are made using C++, so you will be able to work with today's developpers and modify the programs written by your collegues.

I personnally know C, gcc (which is the free version of C compiler), C++. Unfortunately I don't know what ils "C#". Let's count how many people knowh about it.

Regards

Yordan

1064322179[/snapback]


GCC hasn't been dupped GNU C Compiler in too many years to even count. It's an acronym for GNU Compiler Collection.

 

Just wanted to inform you of such.

 

Regards, Digital Technic.

Share this post


Link to post
Share on other sites

C++ or C#...

 

which is newer???

i want to learn one of them

1064322159[/snapback]


C# is 'newer' being only a few years old now. C++ goes back about 20 years now. That is actually C++'s advantage, it has been around for quite a while and has been steadily improved. There are many good books about C++ development and lots of existing code to look at. C++ is supported on all kinds of systems (Windows, UNIX, Linux, Mac, embedded systems in cars and robotics, etc.).

 

C# is a 'new' language which is sort of based on C++ and looks a lot like Java. It is only supported on MS Windows and only certain versions. It is still rather new, is not necessarily stable and has not been used by as many people. There are fewer books and mostly not as good. There are fewer existing programmers, so it will be harder to get your questions answered as you learn. C++ has proved itself and is not going away anytime soon. C#'s fate is still uncertain.

 

My advice is to learn C++ first. Once you learn the programming basics, you can (and should) start learning a few more languages, especially new ones, but not when you are just starting out.

Share this post


Link to post
Share on other sites

It seems that the way to go is learning c++ and java. Both are used on a regular basis, and both have proven themselves. I know a little c++ and I have found it to be very useful. Java, as most people say, is very much like c++, but maybe a little easier to learn and use. I say take your choice between these two.

Share this post


Link to post
Share on other sites

Also, noone has yet to mention portability.C++ is very portable.C++ can be used to code Windows, Linux, Unix, PlayStation, XBox, Virtually anything with a processor.C# is a microsoft invention, and will only work on MS platforms nativly.

Share this post


Link to post
Share on other sites

As others said, my answer is just another support for C++. It is the language you need to learn. If you have time, learning C is also very helpful. Basically there are not so many build in packages that you can use for C/C++, so you have to either write it or own or using others' library. It is good, because you will know how stuffs work.I'm not so familiar with C#, but from what i know, it is the language designed for Microsoft platform only. It is a language that based on C++ and Java to use mainly on .NET application. However, many people expect a premature death of C# because of its limited usage on .NET in Windows system. Not like the languages that it based on, Java and C++ which are compatible to almost any platform.So, the bottom line is avoid C# and learn C++ as much as you can.

Share this post


Link to post
Share on other sites

I'm not so familiar with C#, but from what i know, it is the language designed for Microsoft platform only. It is a language that based on C++ and Java to use mainly on .NET application. However, many people expect a premature death of C# because of its limited usage on .NET in Windows system. Not like the languages that it based on, Java and C++ which are compatible to almost any platform.

 

So, the bottom line is avoid C# and learn C++ as much as you can.

1064330238[/snapback]

See first of all, the .NET platform was supposed to be Microsoft's answer to Java. I've been coding in .NET well over 2 years now - and despite being a hardcore MS hater, I'd say, this product isn't one you can discard like cheap trash. For once (despite all the pitfalls) - MS has come out with something well worth mentioning.

 

.NET is basically a OOP Framework - a set of files/libraries that provide you with thousands of pre-designed classes allowing you to rapidly develop and deploy applications on Windows. The underlying principle is almost 99% same as Java - and so is the class/package organization. If you're an experienced Java programmer, switching to .NET is a matter of minutes - as it happened in my case.

 

The way Java produces an intermediate ByteCode - which can be run on any platform that has Java Runtime Environment installed - so it's the case with .NET. The compiled .exe-s are in an intermediary format known as MSIL - MS Intermediate Language. .NET offers a very handy way to write Managed Code where you never have to worry about freeing allocated memory yourself at every step - thus avoiding potential memory leak problems. The unified Garbage Collector (similar to Java) runs from time to time freeing up memory from object references which have gone out of scope. That's ONE LESS headache when it comes to voluminous coding - let me tell you.

 

VB.NET, C# (C-Sharp).NET, C++.NET and J#.NET - all form a part of the .NET framework - the BIGGEST ADVANTAGE in this case is Mixed Coding. Since all these languages use the underlying .NET Framework, a project you design can contain code in any of these languages. They'll all compile and live harmoniously together.

 

So in effect, my main program can be written in C#, one dll in VB.NET, some addon classes to the main in J# and some more WinAPI libraries in C++.. the development environment wouldn't even hiccup at this. It calls the appropriate compiler in each case and combines the code from all these different languages together in a very robust way, I must say.

 

Moreover, .NET surely offers the great flexibility of OOP coding.. Like Java, all your code HAS TO BE in the form of Classes and you're advised to use the OOP features to their fullest extent.

 

As for C# - I would say, it's a rip-off from Java - the structure & style of your code is 100% same as Java - only variation you find is in the syntax, which again, J# makes up for. But it's not something to dump as outright trash.

 

One little known fact - .NET framework isn't going to die out as many might like to think. According to me it's here to stay for good. Because, with .NET, MS has "SOMEWHAT" started to realize their prior mistakes and have even released a .NET framework for FreeBSD. To me, that says a lot coming from a company like MS. This means, any code you write for .NET on Windows, should ideally run without any further modification on FreeBSD too. I'm eagerly waiting up to test this out.

 

More than one million lines of source code for .Net will be made available under Microsoft's previously announced "Shared Source" licensing program to academic researchers in university computer-science departments. Shared source is Microsoft's response to the open-source software movement and the growing popularity of the Linux operating system. Open-source software such as Linux typically is developed by programmers collaborating and freely sharing code updates.

 

Source: http://forums.xisto.com/no_longer_exists/

 

All in all I'd give .NET a rating of 7/10 - and advise all of the serious coders to give it a try. Once again, it's not as trashy as you might like to think of it. ;)

 

All this coming, from someone who goes around proclaiming "Linux: What WINDOWS will never be" - is a big thing, my friend. I'm surprised at it myself at times.. but I surely must have realized the good points/advantages to come out and speak such volumes about it.

 

No matter what, I still believe that the learning curve for coding should start off with C++ (the OOP way), as it provides a very good platform-independent (more or less) foundation for coding. Once you've got a fair command on it, shifting to other languages isn't a problem at all.

 

Suggested Readings & Downloads:

.NET Nuts '& Bolts - The Joy of Rotor (C# on FreeBSD)

.NET SDKs, Redistributables & Service Packs

Mono: FreeBSD#

Mono is an open-source project providing the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix.

Shared Source Common Language Infrastructure 1.0 Release

The Common Language Infrastructure (CLI) is the ECMA standard that describes the core of the .NET Framework world. The Shared Source CLI is a compressed archive of the source code to a working implementation of the ECMA CLI and the ECMA C# language specification.

This implementation builds and runs on Windows XP, the FreeBSD operating system, and Mac OS X 10.2. It is released under a shared source initiative. Please see the accompanying license.

Share this post


Link to post
Share on other sites

As always happens with Microsoft, they want to be omnipresent and have all the control.C++ is the standard universal languageC# is the microsoft's alternative

Share this post


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
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.