I have to make a big decission! It is Microsoft C# or Linux C! I know just a little bit about c#!?
I know nothing about C!
In the same time I want to catch up with the latest stuff and go with C# but I also want to learn about C in Linux, sockets and a liitle bit of lower level like C(do not give me assembly)
I do not know wich one to start off with first and every single time I decide on something, I try and find tutorials, but I suddenly feel that want to go back to the other one! It is a weird feeling and I also think I got some mental problem ! Please help me with this and do not tell me to look on the other discovered questions!
Could I go with both at the same time since they have a similar syntax?? (not really similar but close)
I forgot to mention that I am not interested in money right now since i am only 14!
That is because when i will be in the stage of making money of it there will be even better languages than c#
Tagged with: languages • Linux • making money • sockets • syntax • weird feeling
Filed under: Microsoft
Like this post? Subscribe to my RSS feed and get loads more!
Learn C# simply because of money. C# programmers can easily make 100,000 a year with just 4 years experience. C programmers are a dime a dozen and average 60-70K a year. C# is quickly becoming the standard in most shops and people are needed. C is old and is not built well and will confuse you when you want to make the jump to C#. C# is highly object-oriented while C is more procedural. That’s like asking – should I learn to use an abacus or a calculator… I’d choose calculator any day.
Wow, you are really being pulled in 2 directions here. Coding C on Linux is about as far from C# as you can get. It will probably be in your benefit to learn C very well (especially pointers) and then move onto C++ before really understanding C#. C# may look incredibly simple, and it is, but internally it is very complicated. Fortunately, you rarely have to worry about this complications, but sometimes it will become important, and the average ignorant C# code won’t know how or why something is performing as it is. Note that C# can run on Linux too (lookup Mono).
You know, if you get the VS C++ Express and VS C# from Microsoft, you can learn both, as far as sockets and networking, those API’s are system dependent, basically, the way you make it in Linux is different to the way you do it in Windows, even if you are using plain C.
C# is a proprietary Microsoft language which gives access to the Microsoft .NET framework (basically a big API arranged by namespaces), all Networking API in Windows and Linux can be accessed using C++, all C functions can also be called by C++, only if you use Gnome GUI programming you will have to use C, but I am sure you can always link the libraries to C++.
Bottom line, learn basic C++, learn the basic algorithms as loops, if else, recursion, array and string manipulation, etc.
Once you master the basic algorithms, start learning learning the use of libraries or APIs.
If you understand the principles and logic of algorithms, you can apply the same logic to any language (C, C++, C#, Java, VB, etc), learning the syntax can be a few hours depending on how good and experienced you are.
The hardest part is learning the API, because you have to go through all the functions available and figure out what they do and how to use it, for example, Microsoft has the platform SDK for Windows Programming which is in C or C++, MFC is C++ Windows programming, COM is for Windows and its C++, VB has its own Windows API which are kind of similar to the Platform SDK and .NET, which shares it’s namespace in all the .NET languages (C#, VB.NET, Managed C++ and J#)
If you want to take C#, you will still need to learn the logic and algorithms before using the Windows libraries to make GUIs, otherwise you will be a cookie cutter developer.
Go to microsoft.com and get the Visual Studio Express version, they are FREE and come with tutorials.
Just FYI, C# and C are nothing alike.
Learn C first. Some may argue "learn C# first, it’s easier", but in reality C# is very similar to C++, which is based on C. If you want to be any kind of efficient programmer in C++ or C# you should learn C. Then learning C++ after that is a breeze, and then learn C#, which if you know C++ is really just a matter of slight syntax changes and learning all the .NET System namespace. Also, once you learn the .NET stuff, you give yourself a huge boost into other languages that use the .NET library, such as C++ in .NET, VB.NET, etc.
I vote for MS C#. I love their new Visual Studio.
read these links hope thins help…start with ANSI C then go ahead with c++
happy coding
Cheerz, Steven