By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,435 Members | 1,967 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,435 IT Pros & Developers. It's quick & easy.

Choice of C++ for application development...

P: n/a
Hi,

I have a few questions to ask with the use of C++ per se:

1. For what type of applications is C++ actually used/preferred/
chosen?
2. ANSI C++ doesn't have any support for GUI libraries...usually we
use Qt/Windows API etc..Then when/where do we use C++ in it's "pure"
form (no linking to "any" 3rd party lib)
3. Consider a 3 tier application (MVC architecture):

Presentation
|
Business Logic
|
Data Access Layer

Most architectures today follow this (very generic) pattern...usually.
Where and how does C++ fit in? Could you please give me example
applications?

I hope I have been clear with what my doubt exactly is...I have been
using C++ for 5 years...but primarily from an academic
perspective...I'd basically like to know it's application from a
professional/industrial/Application-specific point of view.

Thanks.

Nupul.

Apr 19 '07 #1
Share this Question
Share on Google+
10 Replies


P: n/a
NUPUL wrote:
I have a few questions to ask with the use of C++ per se:

1. For what type of applications is C++ actually used/preferred/
chosen?
All kinds. It is a general purpose language. Isn't that what your
favourite C++ book say about it?
2. ANSI C++ doesn't have any support for GUI libraries...usually we
use Qt/Windows API etc..Then when/where do we use C++ in it's "pure"
form (no linking to "any" 3rd party lib)
In utilities. Or libraries (to be used as 3rd party lib). Compilers
come to mind...
3. Consider a 3 tier application (MVC architecture):

Presentation
|
Business Logic
|
Data Access Layer

Most architectures today follow this (very generic) pattern...usually.
Where and how does C++ fit in? Could you please give me example
applications?
It "fits" on all levels. Through available libraries any of those
areas can be programmed in C++. Examples? Just pick your favourite
image processor.
I hope I have been clear with what my doubt exactly is...
"Doubt"? What "doubt"? You just asked to do your homework for you,
that's all. It's alright. Don't feel bad.
I have been
using C++ for 5 years...but primarily from an academic
perspective...
What in the world does that mean? "Used primarily from an academic
perspective"... You either used it or you didn't.
I'd basically like to know it's application from a
professional/industrial/Application-specific point of view.
Sure.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Apr 19 '07 #2

P: n/a
On 19 Apr, 05:15, NUPUL <nupul.kukr...@gmail.comwrote:

<snip>
3. Consider a 3 tier application (MVC architecture):

Presentation
|
Business Logic
|
Data Access Layer

Most architectures today follow this (very generic) pattern...usually.
really? Do you have statistics that demonstrate this?

<snip>
--
Nick Keighley

Apr 19 '07 #3

P: n/a
On 19 Apr, 06:15, NUPUL <nupul.kukr...@gmail.comwrote:
Hi,

I have a few questions to ask with the use of C++ per se:

1. For what type of applications is C++ actually used/preferred/
chosen?
For most applications I write, though I've looked some on C# recently
I do believe that I prefer C++/CLR if those kinds of stuff are needed.
2. ANSI C++ doesn't have any support for GUI libraries...usually we
use Qt/Windows API etc..Then when/where do we use C++ in it's "pure"
form (no linking to "any" 3rd party lib)
For things that you want to keep portable among other things, I'm
currently working on an application where the backend is pure C++
(except for one file for exporing functions when compiled as a DLL).
That way I will be quite easy to port the important parts to a unix-
like system if needed in the future.
3. Consider a 3 tier application (MVC architecture):

Presentation
|
Business Logic
|
Data Access Layer

Most architectures today follow this (very generic) pattern...usually.
Where and how does C++ fit in? Could you please give me example
applications?
Except from the fact that many of those applications are written in C+
+ there's not so much a question about fitting or not. Most languages
can be used for any of the layers and it's mostly a question about
choosing the right language for the job, and C++ often is.

--
Erik Wikström

Apr 19 '07 #4

P: n/a
On Apr 18, 9:33 pm, "Victor Bazarov" <v.Abaza...@comAcast.netwrote:
NUPUL wrote:
....
I hope I have been clear with what my doubt exactly is...

"Doubt"? What "doubt"? You just asked to do your homework for you,
that's all. It's alright. Don't feel bad.
Victor, surely you've been reading this newsgroup to know that in
certain parts of the English speaking world (e.g., India), the word
"doubt" is synonymous with "question." Every other day or so, someone
posts something like "Doubt about template instantiation" or "Doubt
about virtual destructor."

Michael

Apr 19 '07 #5

P: n/a
* Michael:
On Apr 18, 9:33 pm, "Victor Bazarov" <v.Abaza...@comAcast.netwrote:
>NUPUL wrote:
...
>>I hope I have been clear with what my doubt exactly is...
"Doubt"? What "doubt"? You just asked to do your homework for you,
that's all. It's alright. Don't feel bad.

Victor, surely you've been reading this newsgroup to know that in
certain parts of the English speaking world (e.g., India), the word
"doubt" is synonymous with "question." Every other day or so, someone
posts something like "Doubt about template instantiation" or "Doubt
about virtual destructor."
By correcting the language Victor helps the poster learn something new
and useful, and helps the poster not spreading his or her misconceptions
further.

If only more people could do as Victor did here.

If nobody had corrected me I'd still be saying "toy" when I meant
"chewing gum", because that's what I learned as a child. Later on, as a
teenager, I learned that in London they just don't understand that
"blitz" means a (camera) flash lamp, or that an "eliminator" is a power
adapter. Stupid grunts, they should use /my/ words!

--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Apr 20 '07 #6

P: n/a
On 20 Apr, 03:36, "Alf P. Steinbach" <a...@start.nowrote:
* Michael:
On Apr 18, 9:33 pm, "Victor Bazarov" <v.Abaza...@comAcast.netwrote:
NUPUL wrote:
...
>I hope I have been clear with what my doubt exactly is...
"Doubt"? What "doubt"? You just asked to do your homework for you,
that's all. It's alright. Don't feel bad.
Victor, surely you've been reading this newsgroup to know that in
certain parts of the English speaking world (e.g., India), the word
"doubt" is synonymous with "question." Every other day or so, someone
posts something like "Doubt about template instantiation" or "Doubt
about virtual destructor."

By correcting the language Victor helps the poster learn something new
and useful, and helps the poster not spreading his or her misconceptions
further.

If only more people could do as Victor did here.
It would all be so true if that is how you look at it. Personally I
can't see what Victor did as correcting his usage of the language, to
me it looks more like he's ridiculing NUPUL. When writing to someone
who hasn't got a perfect grip of the English language (which most of
us don't) you need to be extra careful with how you express yourself,
he could have just said "When you say doubt did you mean question?"

--
Erik Wikström

Apr 20 '07 #7

P: n/a
Michael wrote:
Victor, surely you've been reading this newsgroup to know that in
certain parts of the English speaking world (e.g., India), the word
"doubt" is synonymous with "question." Every other day or so, someone
posts something like "Doubt about template instantiation" or "Doubt
about virtual destructor."

Sorry guys, now I'd have an OT question... why should the previous
sentence be wrong? I'm not a native speaker, but until now I thought
that "I have a doubt about something" would be definitely meaningful,
and not with doubt as a synonym of "question", but of "uncertainty".

Probably in english language there are better ways to express such a
concept, but can't I have a doubt about virtual destructors?

So, to me the guy was just uncertain about the use of c++, I can't see
what was wrong with this...

Thank you

Zeppe
Apr 20 '07 #8

P: n/a
On Fri, 20 Apr 2007 03:36:33 +0200, Alf P. Steinbach wrote:
* Michael:
>On Apr 18, 9:33 pm, "Victor Bazarov" <v.Abaza...@comAcast.netwrote:
>>NUPUL wrote:
...
>>>I hope I have been clear with what my doubt exactly is...
"Doubt"? What "doubt"? You just asked to do your homework for you,
that's all. It's alright. Don't feel bad.

Victor, surely you've been reading this newsgroup to know that in
certain parts of the English speaking world (e.g., India), the word
"doubt" is synonymous with "question." Every other day or so, someone
posts something like "Doubt about template instantiation" or "Doubt
about virtual destructor."

By correcting the language Victor helps the poster learn something new
and useful, and helps the poster not spreading his or her misconceptions
further.
I disagree. Michael was pointing out that in some English variants (and
isn't every local usage of a language a "variant", including US English,
UK English, Jamaican English, ...?) a certain word has different
connotations. So Victor was not "correcting" the language - he was
(understandably) misunderstanding a perfectly valid local usage (of which
I too was unaware, as it happens).
If only more people could do as Victor did here.
Not so sure... perhaps, rather, it is Victor (and myself) who have learnt
something "new and useful"; i.e. the existence of an interesting local
usage.
If nobody had corrected me I'd still be saying "toy" when I meant
"chewing gum", because that's what I learned as a child.
Ah, but that's (probably) not a recognised usage in *any* English variant!
Later on, as a
teenager, I learned that in London they just don't understand that
"blitz" means a (camera) flash lamp, or that an "eliminator" is a power
adapter. Stupid grunts, they should use /my/ words!
:) In England it is not uncommon for a word to mean something different
in the next village...

Another classic case is Latin American vs. Castillian Spanish; eg. the
perfectly normal sentence "Voy a coger el autobus" probably sounds
humorously "off" to a South American Spanish speaker...

--
Lionel B
Apr 20 '07 #9

P: n/a
On Fri, 20 Apr 2007 09:33:34 +0100, zeppe wrote:
Michael wrote:
>Victor, surely you've been reading this newsgroup to know that in
certain parts of the English speaking world (e.g., India), the word
"doubt" is synonymous with "question." Every other day or so, someone
posts something like "Doubt about template instantiation" or "Doubt
about virtual destructor."


Sorry guys, now I'd have an OT question... why should the previous
sentence be wrong? I'm not a native speaker, but until now I thought
that "I have a doubt about something" would be definitely meaningful,
and not with doubt as a synonym of "question", but of "uncertainty".

Probably in english language there are better ways to express such a
concept, but can't I have a doubt about virtual destructors?

So, to me the guy was just uncertain about the use of c++, I can't see
what was wrong with this...
At least in midwestern American English usage, the word "doubt" connotes
dubiousness. One has an uncertainty if they don't understand something
and are looking to; one has a doubt if they aren't persuaded that
something is true. The concepts often can and do overlap, but in this
context "doubt" is not the appropriate word IMHO. "Doubt about template
instantiation" implies that the writer doesn't believe something about
template instantiation, and the phrase does not contain sufficient
information to determine what exactly they are doubting. To me, with the
English usage to which I am accustomed, that subject line is saying half
of the user not being persuaded of either the existence or utility of
template instantiation.

But bear in mind, this is all IMHO and in my experience. English as
spoken in different parts of the world is, well, different; it may be
that, in India, "doubt" is fully synonymous with question or uncertainty.
Sure makes things confusing sometimes, though.

- Michael
Apr 20 '07 #10

P: n/a
Erik Wikström wrote:
On 19 Apr, 06:15, NUPUL <nupul.kukr...@gmail.comwrote:
>Hi,

I have a few questions to ask with the use of C++ per se:

1. For what type of applications is C++ actually used/preferred/
chosen?

Why do these sort of questions keep coming up? C++ is a
compiled multiple paradigm language. It is really good at
problems requiring a compiled multiple paradigm language. As a
statically compiled language it purposely lacks features present
in more dynamic languages because those features would
compromise performance. If you need more dynamic language
features, use a different language. If you need to use remote
procedure calls with dynamically determined interfaces, C++ is
not the best language. For any application, though, that
requires raw performance, I prefer C++. I've used C++ at
several companies for many different applications including
database manager implementation, business data analysis, orbital
analysis, and office collaboration software. We chose C++
because it is a compiled language so we could get decent
performance, and the expressiveness of the language allowed us
to rapidly develop quality programs.

C++ does have a steep learning curve. It is not obvious that
you should obey the law of threes, religiously use RAII, and
avoid inheriting from non-abstract classes. Once you learn the
rules, though, the language actually helps prevent errors.

My rule of thumb concerning language include the following:

-- If you want it slow but fancy, use Java.
-- If you want it broken, use Perl or Python.
-- If you want to be locked into a single platform, use C#.
-- If you know what you're doing, use C++.
> 2. ANSI C++ doesn't have any support for GUI libraries...usually we
use Qt/Windows API etc..Then when/where do we use C++ in it's "pure"
form (no linking to "any" 3rd party lib)

For things that you want to keep portable among other things, I'm
currently working on an application where the backend is pure C++
(except for one file for exporing functions when compiled as a DLL).
That way I will be quite easy to port the important parts to a unix-
like system if needed in the future.
Of course C++ supports GUI libraries. Major parts of those
libraries are written in C++.

>
> 3. Consider a 3 tier application (MVC architecture):

Presentation
|
Business Logic
|
Data Access Layer

Most architectures today follow this (very generic) pattern...usually.
Where and how does C++ fit in? Could you please give me example
applications?
You are mixing architectural models. MVC is
Model-View-Controller architecture, which is different from
typical enterprise software 3-tier architectures.

Using your layers, we usually use Java and PHP for the
presentation. For everything else we use C++ because of
scalability and performance issues with any other choice of
language.

/Glen Dayton
Apr 25 '07 #11

This discussion thread is closed

Replies have been disabled for this discussion.