Hello people

I heard, that c++ is more powerful than c and i want to learn one of them. I want to know if it is better idea to start with C or with C++ without learning C. I know a bit of C# (i can make some basic games and programs, like snake game)...

Thanks for your attention.

Recommended Answers

All 10 Replies

Here's a link to a read me thread in the Computer Science forum
Programming FAQ

There's topic there concerning c and c++

(i can make some basic games and programs, like snake game)

For basic console games I suggest c
Though if you want to create complicated games(3d) I suggest c++

No, i don't want to make games like snake. It was just easiest thing for noobs. I want to make programs connected with internet.
Thanks for the link

No, i don't want to make games. It was just easiest thing for noobs.

What applications do you want to make?

Did you check the link I posted It might help you clarify some things between c and c++

Edit: sorry just saw your edit of your previous post

I want to make programs connected with internet.

what kind of program? its purpose? :)

I still cant say. :) More likely some applications that will work with internet and may connect computers. I still dont know but one thing i can say for sure that it will work with internet(chat clients, maybe online games(not complicated)).

BTW your link helped me a lot and i am now thinking about Java.

I still cant say. :) More likely some applications that will work with internet and may connect computers. I still dont know but one thing i can say for sure that it will work with internet(chat clients, maybe online games(not complicated)).

BTW your link helped me a lot and i am now thinking about Java.

Good Luck Then ;)

>>i can say for sure that it will work with internet

That's pretty vague. Surely, for internet-related programming, C/C++ aren't good choices. Although I am of the opinion that no education in programming is complete without being at least functional in C++ programming (because it is so central to the entire programming world), I have to say that if you have a particular area of work in mind and if the central aspect of that area is "the internet" than C/C++ are not very likely to be the languages you will end up using in that area of work.

You have to understand that there are three main lines of programming work in "the internet". First, you can do "networking", like programming servers, routing algorithms, and similar programs which are generally running on some server (and some clients) and works "under-the-hood" to manage data transfers and synchronizations and so on. For these types of applications, be prepared to work in UNIX environments (or Linux, or Solaris), and the more likely candidate languages to learn are Perl and Python, with some basics in C and then some web-scripting languages. Second, you have "internet applications" in the sense of desktop applications that makes heavy use of some underlying internet (and often also a database) connection with a server. For these applications, languages like Java and C# are the ones you will be most comfortable with and are most likely to encounter in that line of work. Finally, you have "web applications" in the sense of things that are basically meant to run inside a web browser or within a flash application and so on. For these, you will be better off learning the appropriate web-scripting languages like PHP, ASP, and so on (I can't say more, I don't know this area so much, I think zeroliken is a better reference in this area).

C++ and C are just as capable as any other language when it comes to using the internet, networking, etc. There are all sorts of libraries out there to do that sort of thing. Even C can have, for example, a game that uses UDP that can be used for online play.

However! C++ and C are not designed for making webpages, or browser-based games.

Here's a link to a read me thread in the Computer Science forum

The opinions are pretty good, but there are some things about C++
I don't agree with.

>C++ is an Object Oriented Programming (or OOP)
C++ is an multi-paradigms language

>Programs can be slightly larger and slower than those programmed in C
This is same as C, since C++ could generate same binary codes as C
The quality of the programs are depend on the coders

The mysteries about C++ is an OO language and higher abstraction will(not "may")
make the codes become slower and fatter are always lingering within
the world of programming.At first I thought this is because the other
tools don't have a "Turing completeness" macro and template like C++ do.
But recently, I find out that even many programmers of C++ believe in this
kind of mysteries.

C++ and a lot of techniques(not only template) already prove that "higher
abstraction do not equal to slower, fatter codes" many years, yet there are
still many programmers(even some professors of colleges) still believe
these kind of myths, how could this happen?

@stereomatching:
I totally agree.

Definitely, there are big myths about C++ circulating. So, reiterating for the record:
- C++ is NOT an object-oriented programming language (whatever that means), it is a language with direct, native support for multiple programming paradigms.
- C++ is NOT necessarily slower or fatter than C, benchmarks have proven that fact, for example here where C and C++ performance are usually within each other's error margins (and at the top or near the top, alongside Fortran and Ada).

As for the programming FAQ thread linked above, well, the author repeats these myths mostly as a symptom of his pure-OOP / Java biased judgement. Be indulgent to the fact that Java programmers live in a bizarro world where pure-OOP is the holy-grail of programming style, where only an OOP solution can be the best solution to a problem (or the new trend of AOP), where C++ only matters in so far as it compares (defavorably according to them) to Java/C# which is a comparison that can only be made if you assume that good C++ code has to stick to pure OOP and thus, pay a senseless performance and/or code-bloat price just for the ideological satisfaction of having written the purest OOP code possible. I pity those who are brainwashed in that way.

A simple way to summarise the philosophy of C++ is this (which I often repeat):
In C++, you pay for what you _get_,
but you only have to pay for what you _need_.
Meaning that you have to know what you _want_
and _how_ to get it,
and that's the hard part.

Definitely, there are big myths about C++ circulating. So, reiterating for the record:
- C++ is NOT an object-oriented programming language (whatever that means), it is a language with direct, native support for multiple programming paradigms.

Most of the people I talked to keeps saying that c++ is object oriented as they often compare it to java

Thanks for enlightening me... at least now I have a vivid Idea about this topic

The opinions are pretty good, but there are some things about C++
I don't agree with.

well that computer science read me thread is outdated(2005) and the info is mostly based from a couple of programmers perspective

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.