473,396 Members | 1,838 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Choice of C++ for application development...

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
10 1575
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
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
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
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
* 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
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
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
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
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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

198
by: Sridhar R | last post by:
>From technical point of view, I could not understand the the reasoning behind using Java in major companies. Sure that Python, is used in some, but still Java is considered as a sure-job...
10
by: Beach Potato | last post by:
Dear Y'all: I'm about to start porting a big old project written in anscient version of Delphi to something more stable, robust, supportable and maybe even portable. Since I haven't seriously...
0
by: Greg Lilley | last post by:
I am trying to learn Visual C++ .NET and am trying to go through some of the walkthroughs. Many of these walkthroughs say to open a new "Managed C++ Application". Some of these walkthroughs have...
1
by: Carl | last post by:
Help!! What are the best concepts / startegies to deploy an ASP.NET web application? My idea is work first in Production PC then after completing the project deploy it on the Web Server. But...
5
by: Ryan Liu | last post by:
I have an application need export ane import data of projects. There are about 10 database tables releated to one project. 3 of them each could have up to 100K lines data. I can export all data...
11
by: Ray | last post by:
Hello, I've been reading MSDN to find out the answer for the question above, but I think I should ask in this newsgroup (since nearly everything I read in MSDN Seems to recommend me to move to...
14
by: deko | last post by:
For building Windows desktop apps, the clear favorite is C#. But my clients can't afford to buy Microsoft products. So I need to develop software for Linux users and web applications. In the...
6
by: Tony Johansson | last post by:
Hello! We have a C#.ASP.NET application that runs on a IIS 6. The application contains actually several asp pages but there is no GUI. The application receive an xml file that is processed....
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.