Click here to Skip to main content
15,885,954 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I know c, c++, and c# basics and wanna become an expert in programming.
will any one please tell me that which language will be best for creating different softwares or for programming specialization????

thanks.
Posted
Comments
codeninja-C# 26-Dec-12 6:17am    
Try JAVA
Oleksandr Kulchytskyi 26-Dec-12 6:29am    
=)) Yep nice question =))
This is from serie where people asking which car is best =))
Each of it has their own prons and cons =)
As being C++ and C# developer, i can answer in the next key:
C# much easier for studie. In some case with C# some things musch easier to implement rather than C++.
And the last one , it's all depends, from purposes which you pursuit =)

Hi,

There's no 'best' programming language. It depends on what you want to program. If you want to avoid interpreters, then don't use Java. But if you like programming languages with interpreters, then Java is a good choice. If you want a programming language with a compiler, then C++ is a good choice. C# and VB.NET requires the .NET Framework, on the most Windows versions .NET is installed by default. C# is a good idea if you want to program a GUI, C++ is a harder language for programming a GUI.
 
Share this answer
 
v2
There is no such thing that we can say X language is the best... This will sound like a cliché but it is the truth. You are asking something like "comparing apples and oranges." Every language has its pros and cons comparing to the other one.

It is going to be your decision to choose which one will be beneficial for you wıth respect to your expectations. Machine level programming, front-end programming, back-end programming.. Based on your needs you should choose the proper language which suits it all..

You can start asking questions to yourself such as ;

*Is it better to focus on one path, avoiding contamination from others?
*Is it better to explore several simultaneously, to make sure you don't miss the best parts?
*Which one results in converting time to money the most quickly?
*Which one most reliably converts you to a higher value programmer over a longer period of time?
*What other caveats are there?

Here is one article that you might find interesting: Which programming language is best[^]

Good luck and let us know why :)

-OI
 
Share this answer
 
Comments
[no name] 26-Dec-12 9:43am    
I am interested in programing a lot and I know I can do any thing. But the problem is that I am not able to decide that which area of programming should I select and which language should be focused.

That's why I need a true guide line...

Thanks
For managed code under Windows using Visual Studio, C# is more appropriate than C++ if you want to do rapid application development using the designer.

If you only write code, then the advantage is less marked. The main thing that I find missing in C# is the ability to write code evaluated at compile time (static assertion, Template...).

Missing from C++ are managed lambdas and also the possibility to easily create .NET enumerators. I think that new async stuff is also missing but I have not yet used them.

Missing from C# are STL containers but given that STL containers (either from std (native) or cliext (managed) are much slower than BCL containers and there is a lot of issues with STL.NET, then for a fully managed application, STL is not working well. STL performance is much better in native application (neither managed nor mixed-mode).

With Visual Studio 2012, IntelliSense now works relatively well in managed/mixed-mode C++ too so for manually written code, it is now much faster to write code than it used to be although not yet on pair with C#.

C# also compile much faster than C++ and it has better refactoring tools (at least from Inside Visual Studio).

In my case, I uses both C++ and C#. A large portion of the software is in C# and when refactoring, I will more often convert C++ to C# than tohe other way.

I do hope that Microsoft will improve their C++ compiler a lot in the coming years.
 
Share this answer
 
You are the "expert" if you know more than the rest of us ;-)
To really gain expertise on any broader topic, my educated guess is that you have to be intensively exposed to the topic for about 10000 hours (about 5 years at work).

To your question: don't focus on languages - choose a current language that serves your professional life in the short term and be prepared to learn several languages in your career. More important are the general (language) concepts and how they are implemented/available in your chosen language, how to solve problems in general, how to express your thoughts, etc. At the end of the day, programming (in whatever language) solves some real existing problems in a good enough manner. Some languages help more than the others, depend on the problem and the circumstances.

Choose an employer who has interesting problems to solve and dig into it...
If you are a student, choose a faculty that provides interesting problems to solve and dig into it...
If you are a hobbyist, choose an interesting problem to solve and dig into it...
Finally: try to do whatever you do in a team - the team helps you getting ahead with less pain.

If you really want to focus on a computer language, view it like it was with written human language: from learning the alphabet, over the vocabulary, grammar, reading, understand style, actively writing, good writing, publishing written texts, teaching language, etc. How far do you want to get?

E.g. for C++ that you mention above: how much do you know about C++? All the operators and their precedence, the type system, template programming, how inheritance and virtuality works, object model, the compiler, linker, optimization options and their effects, writing effective code, write maintainable code, writing modularized code, writing robust code, writing useful documentation, knowing the runtime system, knowing the supporting libraries, knowing the debugging and "performance" analysis tools, knowing the testing approaches and tools, avoiding memory leaks, applying patterns, knowing and applying idiomatic C++ constructs, exception handling, threading model, etc.? How far do you want to go here?

The sky is the limit ;-) You decide how far you want to go, and where you go the "extra mile" just for fun and since you *really* want to *know* it.

Cheers
Andi
 
Share this answer
 
any Object oriented language
c++ or c# will good choice.

if working in .net it provides In-tally-sense feature so, easy to work with any of these two language, fundamentals of languages OOP concepts are same just syntax varies...

and many language converters are available online so easy to convert code in different language.

as per my industrial experience,
now a days in .net C# is mostly used for developing win & web apps.

Happy Coding!
:)
 
Share this answer
 
I don't like answer the question like it!
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900