What is better to learn, C# or C++?

Damn...It kind of seems easy to make a bot if you can learn a course....kinda cool
 
One point everyone should consider: if you want to sell your bot, maybe C++ is better. Decompiling C# is easy stuff. Even when code is obfuscated, it is not too difficult to identify the single line checking for license or whatever. Just something to consider, not more.

My opinion in all generality: if you want to earn instead of programming day and night, take C#.
 
Or create your software around a service architecture depending on your server.

One point everyone should consider: if you want to sell your bot, maybe C++ is better. Decompiling C# is easy stuff. Even when code is obfuscated, it is not too difficult to identify the single line checking for license or whatever. Just something to consider, not more.

My opinion in all generality: if you want to earn instead of programming day and night, take C#.
 
go for c# if it is easy and fast delivery, and c++ for power .. coz you can control memory ... but of coz c# is a not toy language, it is used by big corps .. even big players use c# more than c++ .. to me, c++ is more towards games dev, tools, but unlike for enterprise dev
 
I have used C# since .Net Framework 1.0 and I couldn't recommend it more. Of course C++ gives you more power and easier access to the OS but if you are going to write Windows based applications that do not require super fast processing, stick with C#.

I use Visual Studio 2010 for developing software and if you can afford the Ultimate version it will give you extremely powerful tools for testing, optimizing and tweaking your code. It's clear that C# is the future, there will still be room for C++ in games, OS development and some other stuff but most of the software in future will be developed using C# and .Net Framework (at least I hope so :p)
 
C# is up to date programming
C/C++ is extinct paying to learn this language in secondary education institutions will get you no where learn C#
 
According me better to learn C++. This is good and easy to learn language. C++ is a general purpose programming language with a bias towards systems programming that is a better C#.
 
bots can be created in C# pretty easily, I personally would rather do it in php though.
Contrary to popular belief, you can multithread php.
 
I dont know, microsoft is heavily supporting c#. Look at this game created using c#/xna


you can create xbox/pc/phone apps/games using c# now. Its very powerful already in the right hands.

I use XNA too and its just so easy to use, I love it :D

You don't need to learn 10 years C# to program a game, its wonderful.
 
It depends on what kind of bots you are going to be making. I wouldn't see the need of going for C++ for browser bots or simple get/post applications, it would be overkill. C# and the .net framework do make it much faster to develop applications, but if you really want the ability to be as extensive as possible with your applications, C++ would be a better choice.

Significantly more time consuming though.
 
c# nor c++ is hard to learn(not to be pro, but to learn, read codes, create basic programs level, not create 3d games level.) so pick one language as your main(c# preferred, since it is faster to develop stuff) and just learn c++ as well.
 
Today c# would be better, even java will be better than c++. You can use c++ if you would like to program games for pc/consoles, there is used for the most. Currently for c# there are lots of tutorials and becomes very popular on universities etc. When you look for job offers in your area you can check what is demand for what type of programmers skills
 
I guess it depends on what you really wanna get in the end.
C# is WAY more easily coded, providing easier GUI control, .NET programming in general, is much easier than the old programming ways.

Though, in C++ you have direct memory management, less heavy compilation and ofcourse, you don't have to rely on a library like .NET

I'd prefer C++, I find it stronger, faster, and with a good level, can get you to the same result as C# as in GUI parts.
 
I want to learn to make bots and stuff, I heard c++ is better but " Head First Labs " has a C# book, and their books are amazing, I learned many other languages very easy with head first lab books.

Or should I just find another book and stick with C++?



I better say that C++ is good and I believe advanced as well :)

I remember my uncle table having a old kind of heavy C book :) I think you better move on with new technology languages ;)
 
It is helpful to know what criteria you view as important when describing the pros and cons of languages. I think 'smack' produces great discussions points and has the right mindset.

I view C++ and C# as being an entirely different branch of languages, primarily because they are. It's essentially like comparing EMCA script (javascript) with Java, if you remember from our history books that EMCA was renamed javascript just to latch on to Java's popularity.

That said, if one's objective is to quickly write an application to leverage HTTP requests (e.g. to create bots), a dynamically typed, interpreted language may be the easiest and sufficient with respect to runtime.

C++ and its compilers, like g++ are well optimized for speed, so if you need something to execute quickly, it may be a good option. Unlike C, c++ handles a lot of malloc'ing for you, provides a strongly typed environment, offers flexible templates, and has a lot of great libraries, like boost.

C# is more like the Microsoft's Java. The two languages are very similar, however, I prefer Java over C# because the JVM is more attractive to me than C#'s underlying net framework. It ultimately depends on your needs as a programmer, and then needs of the application you are programming.

If you have a specific question which may help us provide a more concise and fine tuned answer, let us know!

My ultimate suggestion would be to not discount powerful scripting languages like perl, python, and php as they are well suited to accomplish tasks like the ones you mentioned. In fact, google programmed all their initial crawlers in Python before re-writing them in C for speed reasons. My guess is these bots don't have to be corporate quality and writing them in something like Node js or python would be sufficient, quick, and maintainable.

---

Added: Also, if you are looking for something extremely fast, down, and dirty, consider simply writing a shell script in bash. Bash is turing complete too, you know! Cheers and best of luck in your hacks.
 
I want to learn to make bots and stuff, I heard c++ is better but " Head First Labs " has a C# book, and their books are amazing, I learned many other languages very easy with head first lab books.

Or should I just find another book and stick with C++?

Yes, Head First Labs is good for tutorials but they don't allow to download them free.
 
Learn c first then you can easily understand any other language...:)

While all turing complete languages can be proven to have equal computational abilities, it is near-sided to suggest learning one language prepares you for learning any other language.

When comparing languages, there are many aspects to take into consideration: paradigm, syntax, semantics, type systems, scope systems.

Had you said, learning a language like C will prepare you for leaning other languages of the imperative paradigm, I would have been more likely to agree. Still, I do not think this would be the case.

Take smalltalk as a counter example. Smalltalk introduced object oriented programming which is a concept you are not exposed to in C. In addition, C does not prepare you for the logical paradigm you would encounter with a language like Prolog. And what about native linked lists, homoiconicity, tail call recursion, monads, currying, lambdas, lisp macros, and list comprehensions with map reduces? You'd get exposed to all of these concepts in the functional paradigm, in a language like common lisp or Haskell, but it is unlikely you'd have a firm grasp of implementing these concept if you were limited to C.

It's possible that you feel learning other languages is easy because the languages you choose all have similar syntax and paradigm to C. For example, the assemblers, C++, C#, and Java are all imperative typed languages with infix syntax. If I threw you in front of a Haskell REPL for the first time, I am pretty confident you'd feel outside of your element.

That said, I strongly disagree with your perspective. If what you really meant to say is, "If you can learn C, you probably have the ability to learn any language", I might agree but this is entirely relative and subjective. It doesn't mean anything.

Finally, if you think learning C will prepare you for any language, I have a strong belief that C has restricted and limited your experience with other languages and has prevented you from learning key concepts in other languages which differentiate themselves from C.

For more on this, you should read Paul Graham's article on the "Blub Paradox". People think their language is the best because when they learn new languages, they use the new language like their old language and never learn the true power of the new tool set:

paulgraham. co m/avg. html (remove spaces)

---

Also, in my humble opinion, it really doesn't make sense to ask which is better between C and C++. Better is a totally subjective and unquantifiable word. This question would be more practical if criteria was provided or goal metrics were suggested for success. By far a more educated question would be, "What are the differences between C and C++ or what are the advantages of one over the other"? The answer to the latter is very well answered on Quora:

quora. co m/What-are-the-advantages-of-using-C-over-C-1 (remove spaces)
 
Last edited:
a language is a tool, not a destination.

c# is built on the .net framework. it provides the same power as vb.net and all the same framework components.

what is nice about these languages is that they are very highly powered, high level, rapid development platforms.

the last part is the key. rapid development platforms.

c++ will give you more horsepower (that you don't really need for bot design), and allow you things like more granular access to the way memory is allocated, etc...

it's not really a rapid development platform.

for my money, vb.net is where it's at. the syntax is easy to learn and understand, and you get all the power and benefits of using the .net framework.

c++ for bots would probably be a bit over kill. that's not to say don't ever bother learning. as a developer the more languages you know the better, but you will probably find it easier to learn c# or vb.net, and will probably be able to start producing valuable results sooner.

one thing also that bears mentioning. .net has some great support in their framework for working with the internet. things like httpwebrequest and the sockets namespace allow you to easily make powerful internet connected applications.

I agree 100%. Couldn't say it better myself.

@OP. If you know NOTHING of coding, take the long route and thank me 10 years from now. html > css > javascript > php > java > vb(or just c#) > c#(or just vb) > c++

Yes, it's a load of info and totally useless if all you ever want to do in your life is build bots. But lets be honest, no one just wants to build bots forever. You can make a real programmer out of yourself if you follow that path. The guys that get the most money and the most work are the ones that can list all of those languages on their resume. Outside of graphic work, there's nothing you couldn't do on the web or on computers in general. Throw in some Lua and you can even get into serious video game coding.
 
Last edited:
Back
Top