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


Lol and that's why the entire language sucks? If you try hard you make actually grasp those straws. I do a lot of fairly complex string comparing an manipulation all of the time. I can definitely attest that simply checking strings as equal to eachother has never taken over 2 second per comparison. That would make the language nearly unusable. This is also kind of a silly point for why and entire language sucks. The difference is simply in how you evaluate the strings. Using the function vs the operator. You can just use the faster one. Also, based on the article that you cited c# took far longer than vb, just didnt have as large a gap between the function and the operator method.

VB

Equals Operator: 0.00150214622249476 sec
Equals Function: 1.9555558038801E-06 sec

C#

Equals Operator: 9.77777901940051E-06 sec
Equals Function: 2.23492091872012E-06 sec

So...not sure of the point here.

I also may mention that while there are always differences between languages (and in the case of vb and c# .net they are slight). The real question is what which language the most powerful, most rapid to develop in and provides you with what you need to accomplish your objective as a whole.
 
Last edited:
Last edited:
C or C++ all the way. C# is a toy programming language - you can't do very much with it. Take your time and buy some books.

C++ is by far the most powerful of the languages we're discussing. But C#/VB.Net being toy languages that you can't do anything in, that's just totally ridiculous. You can accomplish a hell of a lot in the .Net language. Especially when you're talking about what is needed for bh programs.

C++ is amazing and takes a lot more thought, knowledge and dedication. All of which are incredibly admirable. But a rapid development platform it is not.

I'd love to know what you feel applies to the type of programming we're discussing that you CANNOT accomplish quicker and more easily (though more resource intensive with slower execution times) in .NET. And when i say more resource intensive and with slower execution times, for the things we're talking about here, the differences aren't much of a deal breaker. For a 2000 thread server based mailing solution, OK yeah. But I don't know if we want to apply extreme cases as the norm.
 
Last edited:
Don't get me wrong, writing pretty gui stuff is great in Java or C#. I was made to code in C# and Java for 4 years at uni. Before that I coded all my rootkits/malware in C/C++ and Assembly (NASM+AT&T). I'm just not a big fan of C# or Java. I prefer Java over C# if forced.

Trust me, C# and Java are toy programming languages when it comes to it. That doesn't detract from the fact they maybe apt for your purposes.

EDITED: When I said "you can't do much in it". I really mean system type stuff.
 
c++, im takin a class this semester for it, its easy if u concentrate
 
thanks to the OP for posting what Ive been meaning to ask for a long time.

it makes sense to me that if my goal is to make internet posting/scraping etc. black hat bots, which need to be made quickly in a limited time frame due to the volitility, changing algorithyms, requirements etc of the target websites --in general-- AND if my goal is to go from knowing absolutely no programming knowledge, to be able to create a bot from scratch, then based on what Ive read here....

VB .net would be the way to go.

easier to learn
quicker to create
does the same job as other languages

would this be correct assumption?
what are programs like; xrumer, clad, scrapebox,se nuke etc made from?
can VB .net create the above programs?
 
Go with C#.

It's easier to learn, and you don't loose much compared to C++. With C++ you have to deal with many things that you will never need. Yeh once you've learned it you'll understand better the low-level programming stuff, but that stuff you'll probably never need. I'm using C#, but I can also understand and code simple stuff in C++... I just never do cause there's no point why I would spend more time for the same software outcome.
 
Originally Posted by theconfidenceman
what are programs like; xrumer, clad, scrapebox,se nuke etc made from?
can VB .net create the above programs?
absolutely.

Much better software than those programs are created all the time by skilled vb.net developers.

*Edit-I should add that this is also the case for c# and c++. Don't want that to be taken out of context.
 
Last edited:
C++, C# and VB are great for making SEO type tools because .Net makes it so. You will hear that C++ is more powerful than C#, only real reason is C++ has been around a lot longer and has more DLLibraries to choose from that do great things. You can also take C++ DLL's and invoke() them into your C# application. It is annoying and a pain but at the end of the day, it's what you language you like to program in. C# imo, has the easiest syntax to learn and is a lot faster to program in than VB and C++.

On another note, making a WoW bot, you would want to go with C++ because of the advanced, easy to obtain and use, memory management DLLs that are available. But again, I've used blackMagic.DLL in C# and made a WoW bot. Just google AIM.WoW if you don't believe me. It's a dead commercial program but there are still videos available on the net.

Back on track, download Visual Studio .Net Express and try the C++, C# and VB languages for yourself. Don't waste money on a book until you know what you want to learn. There are plenty of, "Getting Started" tutorials on the net. I've never bought a book because the internet is such a great resource and if you know what you want to program, you can easily find examples of code that do what you want. If you must buy a book, after learning the basics and syntax, get one on multi-threading because what ever direction you take your programming, you will always find a great use for threading.


Good post - I agree. Understanding threads and synchronising them is important.
 
C++, C# and VB are great for making SEO type tools because .Net makes it so. You will hear that C++ is more powerful than C#, only real reason is C++ has been around a lot longer and has more DLLibraries to choose from that do great things. You can also take C++ DLL's and invoke() them into your C# application. It is annoying and a pain but at the end of the day, it's what you language you like to program in. C# imo, has the easiest syntax to learn and is a lot faster to program in than VB and C++.

On another note, making a WoW bot, you would want to go with C++ because of the advanced, easy to obtain and use, memory management DLLs that are available. But again, I've used blackMagic.DLL in C# and made a WoW bot. Just google AIM.WoW if you don't believe me. It's a dead commercial program but there are still videos available on the net.

Back on track, download Visual Studio .Net Express and try the C++, C# and VB languages for yourself. Don't waste money on a book until you know what you want to learn. There are plenty of, "Getting Started" tutorials on the net. I've never bought a book because the internet is such a great resource and if you know what you want to program, you can easily find examples of code that do what you want. If you must buy a book, after learning the basics and syntax, get one on multi-threading because what ever direction you take your programming, you will always find a great use for threading.

I have to agree with, generally, all of that. The only small detail I would say is that which syntax is easier is fairly subjective. I think the best way to explain the ease of syntax is this: If you're starting programming for the first time VB is going to be a much easier syntax to learn due the more streamlined syntax structure and more 'plain english' style. If you, however, have already programmed in a C variant or a scripting language then C# is going be the much more intuitive syntax to pick up on.
 
As a far as beginning to learn programming languages. I always try to steer people toward the path that will help them best learn the principle. You can scrape together code to accomplish your tasks more easily with vb.net and c# to a lesser extent, but there usually comes a cost. From my experience people who start out the easier way develop extremely poor programming practices that will ultimately catch up to them when they attempt to code something more elaborate. I recommend c++. You will learn the principles from the get go, which will in turn save you massive amounts of time and headaches in the long run.
 
C# is more for GUI/web development and rapid deployment. C++ is more for performance / low level programming. For example in c# Its difficult to set a global hook because of the differences in .net vs native. But in C++ you can do this easily.

Ultimately, the good programmers dont use just "one" language but many for different purposes.
 
I suggest you start with c++ and learn the basics (declarations, conditions, etc.) and then go to C#.

It actually doesn't matter that much with which language you start, when you get good at programming, you will have no problems learning new programming languages like php or java (or whatever), the logic is the same, there is only a little difference in syntax

Also: To be honest it's going to be really hard, I've been programming for about 7 years now and some bots are really not that simple to write (require time)
 
I know this isn't really what you asked for, but have you considered AutoIt? Its basically a language that controls the keyboard and mouse, so if you need to do a repetitive task, and you know where things are on the screen (You can easily screenscrape to find out where they are), it'll be a lot quicker and easier to write in AutoIt than it will be in C++.
 
I like c# better than c++ but that's just because c++ syntax starts getting really nasty when you start getting into classes and polymorphism. I often get tied up in complex syntax when writing larger programs in c++. It is still a great language despite its syntax pitfall. The low level access can be great at times gives you much better control. But you better know exactly what your trying to do especially when you start playing with pointers.

C# is still relatively new but it is a geat language for rapid development. And with the Mono development platform you can program on windows or linux its not just on the .net framework. That alone makes it much greater than vb in my eyes. I couldn't tell you the specifics on how it compiles but I assume mono takes it all the way down machine code which in theory should be just as fast as c++. If someone knows how the mono compiler works elaborate on this.

As far as vb goes its a script kiddie language. That doesn't mean you can't develope nice programs with it, but I find when writing in vb it tends to lead to jumbled code and a more complex path to the solution. Maybe other programmers know the language better and write better in it but the syntax is nasty to me. Why the hell type out all those extra characters ex. "END LOOP" when you can type "}" and writing out keywords instead of using backets for control structures and functions is nasty on the eyes and makes it harder to seperate from the rest of the code. Most people start out learning VB but serious coders move onto bigger and better languages.

But as others have stated in more or less words learn everything you can and use the right language for the task at hand.

Back on topic for bots I would use c# but that's in generals if you want a more complex bot that uses low level routines to complete the task you might want to check c++ and see if it is better suited for what your trying to do.
Posted via Mobile Device
 
As far as vb goes its a script kiddie language.

this is the kind of misinformation that irritates me.

if you're talking about CLASSIC VB (i.e. vb6, vb5, etc...) then it's not very powerful. it's an apartment threaded bloat hog.

VB.NET is a completely different story though.

i'm going to say this again just to be 100% clear.

from a functional and power perspective VB.NET IS THE SAME AS C#. they are built on a framework, and all get translated to MSIL. the only difference is the syntax you use, and with the classes and namespaces it is not really that different. more like a dialect.

just because YOU don't personally like the syntax of vb.net doesn't mean it's less of a development platform.

now as far as mono develop goes, they're planning on supporting vb.net and don't yet have a visual designer for asp.net, so i would consider those both large detractors. i also don't quite understand why people here are so dead set on their programming languages running on as many platforms as possible? if your argument against a language is that you can't run it on *nix that's really a minor complaint.

in addition to that i would be interested of how much of the framework is really in mono develop.

also, if you look at the bigger picture quite honestly you're better off learning .NET or Java.

if you want/need to go get a regular job at some point there is a large amount of .NET/Java developer positions out there. it makes you quite marketable.
 
AS far as I know the features of C++ is better and improved than C.
So of course C++ is better.:bsflag:
 
If you are a noob , dont know shit about programming..start with php...Way to go..
Then python and so on...
 
sorry of subject but Python is unbelievable easy to learn for a high level programming language. Really good language for noobs to learn :) It will help you with other languages.
 
Back
Top