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

web-based software & OS programming

P: n/a
hello all,

1st of all, i searched last 12 years archives of comp.lang.c++
because i have some problems. i got some help but not satisfied as i
did not get solution specific to my problem. In the end, searching
archives is a boring & very time-comsuming task BUT it really helps.
actually i have posted this question onto some other newsgroup too but
i am posting it here too because C++ has fascinated me. here is my
question:

i have 2 goals & want to go with one:

1.) i am interested in writing web-based softwares . i want to make one
thing clear that i do not want to become a webmaster or
web-designer/developer. i want to write *web-based software* like
VIAWEB of Paul Graham, (www.paulgraham.com/road.html). do you really
think that C++ is good for that? 2 thing are here:

1. when Paul Graham sold VIAWEB to YAHOO, they rewrote it in C++
but i did not find any
other example using C++. i have found people using <ruby on
rails> <zope> etc.

2. for this kind of software, will i get a job learning C++?
2.) Is C++ useful in OS programming. i have found nearly all the
examples using C?

3.) i am very much interested in doing OS programming (i want to
contribut to HURD/L4
development). is OS programming is a lot more difficult than
writing web-based software
or difficult than anything else?

question is: can i make some money by doing OS programming?
4.) can i make some money (in a job) by using C++? i know companies
want 2 years of
experience. that's the learning curve to C++.
i will really appreciate any kind of help

thanks
--arnuld

May 1 '06 #1
Share this Question
Share on Google+
11 Replies


P: n/a
arnuld wrote:
1st of all, i searched last 12 years archives of comp.lang.c++
because i have some problems. i got some help but not satisfied as i
did not get solution specific to my problem.
And you wouldn't. c.l.c++ is about the _language_, not about the areas
and disciplines where C++ is used. We do not discuss applications of
C++, since there are way too many. They usually have their own forums.
Like for your web-based whatever, try 'comp.infosystems.www.authoring'.
Or 'comp.software-eng'.
In the end, searching
archives is a boring & very time-comsuming task BUT it really helps.
actually i have posted this question onto some other newsgroup too but
i am posting it here too because C++ has fascinated me. here is my
question:

i have 2 goals & want to go with one:

1.) i am interested in writing web-based softwares . i want to make
one thing clear that i do not want to become a webmaster or
web-designer/developer.
But you will have to. That's the trick. And the dilemma.
i want to write *web-based software* like
VIAWEB of Paul Graham, (www.paulgraham.com/road.html). do you really
think that C++ is good for that?
Just about as good as anything else.
2 thing are here:

1. when Paul Graham sold VIAWEB to YAHOO, they rewrote it in C++
but i did not find any
other example using C++. i have found people using <ruby on
rails> <zope> etc.
And plenty of other languages that fit the bill...
2. for this kind of software, will i get a job learning C++?
Pure C++ knowledge will only get you a job doing language-specific tools
like compilers or memory managers or debuggers/profilers. For any other
kind of software you're better off learning the actuall application area
rather than any language in which the job can be done.
2.) Is C++ useful in OS programming. i have found nearly all the
examples using C?
Yes, it's about as useful as C (if not more). There are reasons why you
didn't find much of C++ used there, but they are not topical here.
3.) i am very much interested in doing OS programming (i want to
contribut to HURD/L4
development). is OS programming is a lot more difficult than
writing web-based software
or difficult than anything else?
Yes, usually more difficult. The degree of difficulty varies dramatically
depending on which parts of Web development you compare with which parts
of OS development.
question is: can i make some money by doing OS programming?
There is no answer for it in c.l.c++. You need to ask in a newsgroup
dedicated to OS programming. Try something with 'kernel' in its name.
4.) can i make some money (in a job) by using C++?
I don't know. Can you? I mean, you ask to make a serious leap from
your statements of what you want to do to judging your abilities to
learn C++ and idioms and paradigms that it uses. By looking at sheer
numbers of programmers who nowadays work with C++ as their major tool
and make living developing some software, I'd venture a guess that on
*average* it is possible. But trust me when I say that I've met people
who were either incapable of, or not interested in, holding a job like
that, and who moved to VB or other things eventually, and after a while
simply abandoned programming altogether. Don't get me wrong, I am not
judging them. They are fine folks, and they are good at what they do.
But they are not C++ programmers/engineers. Will it be your story?
My crystal ball is malfunctioning today, so I can't really tell.
i know companies
want 2 years of
experience. that's the learning curve to C++.


You sound like you've already gone through your two years and probably
think that there is nothing left to learn. Or, maybe, you haven't got
a clue as to how long it's going to take *you* to get up to speed in C++
and you're using somebody else's estimates about the learning curve.
Well, in either case, you're probably wrong.

Do take my views with a handful of salt, though. I use C++ in my job,
so I must be biased. I've been involved with C++ for more than a decade
now, and I still don't consider my studies complete. Besides, on top of
everything else, the language keeps changing! Who woulda thunk?

Best of luck in finding your answers!

V
--
Please remove capital As from my address when replying by mail
May 1 '06 #2

P: n/a
> I don't know. Can you? I mean, you ask to make a serious leap from
your statements of what you want to do to judging your abilities to
learn C++ and idioms and paradigms that it uses. By looking at sheer
numbers of programmers who nowadays work with C++ as their major tool
and make living developing some software, I'd venture a guess that on
*average* it is possible. But trust me when I say that I've met people
who were either incapable of, or not interested in, holding a job like
that, and who moved to VB or other things eventually, and after a while
simply abandoned programming altogether. Don't get me wrong, I am not
judging them. They are fine folks, and they are good at what they do.
But they are not C++ programmers/engineers. Will it be your story?
My crystal ball is malfunctioning today, so I can't really tell.
1st i hate VB, it is not a programming language, it is nonsense.

2nd i am not going to leave this field as i have already spent 1
precious year of my younghood into it and 3rd programming has taught me
many things that many take a lifetime to understand. i have removed
many of my lazy habits by doing programming & i want to improve myself
more no matter how much painful. "pain" and "wealth" are *synonym* to
each other. i took 5 years to understand that, understood it in
programming. hence life is not about how do you feel when you are doing
your job/business but rather it is how you feel when are done
(everyday). so life is about *after-effect* . i speak this from
personal experience.
You sound like you've already gone through your two years and probably
think that there is nothing left to learn. Or, maybe, you haven't got
a clue as to how long it's going to take *you* to get up to speed in C++
and you're using somebody else's estimates about the learning curve.
Well, in either case, you're probably wrong.


well, i just did not get what you said here in this paragraph.

anyway, you did gave me something useful advise in your reply. also
from many other responses from some other newsgroup ( as i told you
that i posted it there too) i think it is not useful right now to
decide "which field?" rather i need to focus on learning different
languages ( i mean languages from different paradigms) and become good
at them & then to decide where to go.

ok, but will you please tell what did you mean in your last paragraphs
? (i have included those 2 paragrapghs in my reply)
thanks

-- arnuld

May 1 '06 #3

P: n/a
arnuld wrote:
1. when Paul Graham sold VIAWEB to YAHOO, they rewrote it in C++
Performance?
but i did not find any
other example using C++. i have found people using <ruby on
rails> <zope> etc.
Then use RoR or Zope. And learn as many languages as you can, not just C++.
2. for this kind of software, will i get a job learning C++?
No, but for different reasons.

Firstly, bosses and moneybags typically have an inordinate amount of
control. The more technically illiterate they are, the more likely a big
software vendor can sell them on VB, ASP, Java, or some other overrated
system.

This has lead to C++ is under-represented in the web space. The language
itself has nothing againts HTML.

If you want to make a dent, you could write an RoR-style system in C++.

Unlike desktop or database software, you can generally make a slow web
project faster simply by adding more servers. This is less expensive and
risky than a re-write. So web projects typically don't require awesome
performance.
2.) Is C++ useful in OS programming. i have found nearly all the
examples using C?
That's because C has been standardized longer, and has more implementations
on more CPUs.

You will not get a gig writing OSs, and you can write _for_ OSs in any
language you like.
3.) i am very much interested in doing OS programming (i want to
contribut to HURD/L4
development). is OS programming is a lot more difficult than
writing web-based software
or difficult than anything else?

question is: can i make some money by doing OS programming?
No. But contributing to HURD will look very good on your resume, and there
are many jobs _like_ OS development, such as database server development.
4.) can i make some money (in a job) by using C++? i know companies
want 2 years of
experience. that's the learning curve to C++.


They want that experience because college graduates typically write an order
of magnitude more bugs than those with just a little experience. The
grizzled seniors who are 26 know _not_ to write all the clever complex code
they learned in a CS course.

To leap over that crowd and become safe and effective in C++ very soon,
learn something the CS courses generally don't teach: Test Driven
Development. That means you write a unit test case for each tiny feature in
your code. Folks doing that report the odds of debugging go way down, and
their velocity goes way up. This technique will put you well beyond those
with 2 years experience, and it's also extremely useful for OS, systems, and
web programming.

--
Phlip
http://c2.com/cgi/wiki?ZeekLand <-- NOT a blog!!!
May 1 '06 #4

P: n/a
arnuld wrote:
[..]
2nd i am not going to leave this field [..] and 3rd programming
has taught me many things that many take a lifetime to understand. [..]
i speak this from
personal experience.
You sound like you've already gone through your two years and
probably think that there is nothing left to learn. [..]

I stand by my assessment.
well, i just did not get what you said here in this paragraph.
You know, maybe I didn't say anything... Could that have been?
anyway, you did gave me something useful advise in your reply. also
from many other responses from some other newsgroup ( as i told you
that i posted it there too) i think it is not useful right now to
decide "which field?" rather i need to focus on learning different
languages ( i mean languages from different paradigms) and become good
at them & then to decide where to go.
If you know you're "not going to leave this field", how is it useful to
learn something unrelated and then decide where to go? Learn _only_ the
languages that apply. There is no sense in learning Egyptian Hieroglyphs
if you're not an Egyptologist. It would be a waste of time (from the
employment point of view).
ok, but will you please tell what did you mean in your last paragraphs
? (i have included those 2 paragrapghs in my reply)


I can tell you what I didn't mean: personal offence or disrespect to
your accomplishments so far. You got to the point where you started
asking questions, and that's good. Now, don't ask questions just to
make yourself feel good. And don't expect everybody to simply confirm
what you have figured out for yourself. Leave some room for doubt.
And I speak from personal experience as well.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
May 1 '06 #5

P: n/a
> I can tell you what I didn't mean: personal offence or disrespect to
your accomplishments so far. You got to the point where you started
asking questions, and that's good. Now, don't ask questions just to
make yourself feel good. And don't expect everybody to simply confirm
what you have figured out for yourself. Leave some room for doubt.
And I speak from personal experience as well. V


thanks victor for your time.

you know, how does it feel to read your reply.....like a newbie feels
when he looks at LINUX kernel for the 1st time... and says what exacty
is this?
;-)
-- arnuld

May 1 '06 #6

P: n/a

Victor Bazarov wrote:
Pure C++ knowledge will only get you a job doing language-specific tools
like compilers or memory managers or debuggers/profilers. For any other
kind of software you're better off learning the actuall application area
rather than any language in which the job can be done.


I disagree with this. If the application is going to be implemented in
C++, you need to know the application area AND the language. How do
you know you're implementing it correctly if you don't know the
language? I've gotten several jobs because they had an
application/system written in C++, and I knew C++. I've working on
software used in aviation, financial services, national security, video
compression,... Learning the application area is much easier than
being proficient in C++, and typically companies will teach you the
application area if you know C++ first.

May 2 '06 #7

P: n/a
BigBrian wrote:
Victor Bazarov wrote:
Pure C++ knowledge will only get you a job doing language-specific
tools like compilers or memory managers or debuggers/profilers. For
any other kind of software you're better off learning the actuall
application area rather than any language in which the job can be
done.


I disagree with this. If the application is going to be implemented in
C++, you need to know the application area AND the language. How do
you know you're implementing it correctly if you don't know the
language? I've gotten several jobs because they had an
application/system written in C++, and I knew C++. I've working on
software used in aviation, financial services, national security,
video compression,... Learning the application area is much easier
than being proficient in C++, and typically companies will teach you
the application area if you know C++ first.


I think I must have misspoken since you didn't understand the point I
was trying to make. Think priorities. Learning the language _without_
learning the field is pointless IMNSHO. I didn't mean to say, "instead
of learning the language". So, I am not arguing the "AND" portion of
your post. I am arguing what comes first.

If the application area is very specific (something nobody is taught
at school), I'd expect the employer to spend some time training me if
they see some value in me even though I got no special knowledge of the
field. If the application area is very generic (like [G]UI), then no
_particular_ knowledge is required, or, rather, everybody can do it.
As soon as you get into a not-so-generic-and-not-overly-specific field,
you are supposed to know the field quite well. That's the difference
between system programmers and application programmers.

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

P: n/a
FOLKS, thanks a lot for your help & advice. comp.lang.c++ really
porvided me some basic and fundamental views on programming. i have
analysed all the replies i have got from here as well as from other
newsgroups too & in the end i have decided my application area. here
is the full explanation with main points:
Pure C++ knowledge will only get you a job doing language-specific tools
like compilers or memory managers or debuggers/profilers. For any other
kind of software you're better off learning the actuall application area
rather than any language in which the job can be done.
well, in such case C++ is good for me.

But contributing to HURD will look very good on your resume, and there
are many jobs _like_ OS development, such as database server development.
that's a relief.

To leap over that crowd and become safe and effective in C++ very soon,
learn something the CS courses generally don't teach: Test Driven
Development. That means you write a unit test case for each tiny feature in
your code. Folks doing that report the odds of debugging go way down, and
their velocity goes way up. This technique will put you well beyond those
with 2 years experience, and it's also extremely useful for OS, systems, and
web programming.
never heard that before but feels quite practical. ( i am not sure but
i think Peter Seibel has talked about this in his book too)

If you know you're "not going to leave this field", how is it useful to
learn something unrelated and then decide where to go? Learn _only_ the
languages that apply. There is no sense in learning Egyptian Hieroglyphs
if you're not an Egyptologist. It would be a waste of time (from the
employment point of view).
now that really did put a lot of impact on my planning.
I can tell you what I didn't mean: personal offence or disrespect to
your accomplishments so far. You got to the point where you started
asking questions, and that's good. Now, don't ask questions just to
make yourself feel good. And don't expect everybody to simply confirm
what you have figured out for yourself. Leave some room for doubt.
And I speak from personal experience as well.


this changed my thinking style, for forever.

now i have decided my application area:

------------------------------------------------------
|
| OS, kernel, compilers, device-drivers,
| libraries, debuggers, APIs,
| daemons, interpreters.
|
------------------------------------------------------

i am not saying that i will do all of them. that is not possible. i
mean i have chosen these as my field and will work in any one of them
after i will finish my learning . presently i am learning LISP (i am a
newbie), C++ and Assembly language will become my main weapons. so here
is my path:

Common LISP --> Assembly Language (with HLA) --> C++

in the meantime i will learn about my chosen areas and will see where i
fit. i posted it here because i wanted to tell you that your views
really helped me to a great degree.

i will appreciate any comments.

-- arnuld

May 3 '06 #9

P: n/a
>> To leap over that crowd and become safe and effective in C++ very soon,
learn something the CS courses generally don't teach: Test Driven
Development. That means you write a unit test case for each tiny feature in
your code. Folks doing that report the odds of debugging go way down, and
their velocity goes way up. This technique will put you well beyond those
with 2 years experience, and it's also extremely useful for OS, systems, and
web programming.


There's a reason that CS doesn't teach it. It's not CS, it's Software
Engineering. Software Engineering programs should teach it.

May 3 '06 #10

P: n/a
red floyd wrote:
There's a reason that CS doesn't teach it. It's not CS, it's Software
Engineering. Software Engineering programs should teach it.


T'would be a miracle if all the CS and SE courses out there indeed taught CS
& SE, respectively. ;-)

BTW major props to arnuld for A> agreeing with me, and B> taking the time to
consolidate the replies into one clear, readable post! That's so much
better than a spew of untrimmed top-posts...

--
Phlip
http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
May 3 '06 #11

P: n/a
> BTW major props to arnuld for A> agreeing with me, and B> taking the time to
consolidate the replies into one clear, readable post! That's so much
better than a spew of untrimmed top-posts...


ok, A> i agree with you & B> .. see down

comp.lang.c++ people have taught me some very good things. Together
their replies changed my thinking style which will also flow onto how i
think about life. Here is what i have selected for myself, with your
help:
my application area:

------------------------------------------------------
|
| OS, kernel, compilers, device-drivers,
| libraries, debuggers, APIs,
| daemons, interpreters.
|
------------------------------------------------------

i am not saying that i will do all of them. that is not possible. i
mean i have chosen these as my field and will work in any one of them
after i will finish my learning . presently i am learning LISP (i am a
newbie), C++ and Assembly language will become my main weapons.

path: step by step

Common LISP --> Assembly Language (with HLA) --> C++

again, as usual, i will appreciate any comments.

thank you

-- arnuld

May 3 '06 #12

This discussion thread is closed

Replies have been disabled for this discussion.