Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   C++ (http://www.velocityreviews.com/forums/f39-c.html)
-   -   To go with Go or C/C++? (http://www.velocityreviews.com/forums/t960266-to-go-with-go-or-c-c.html)

Tinxx 05-01-2013 02:05 PM

To go with Go or C/C++?
 
Don't worry, this is not about some religious language war. I'm just looking for some advice from some C/C++ people who can judge better than me sincemy experience in C/C++ is very limited. I have been developing 10 years with Smalltalk and 10 years with Java. I did some C++ during my studies for my thesis, that's all.

Now I regret never having done any systems programming and I would like to dig a bit into it in my spare time. So I have to pick a language and I was looking at C/C++, D, and Go. I have never seen any job ad asking for a Javadevelopper with some knowledge of C/C++ appreciated. To learn C/C++ well Ineed 3-4 years full time work with it. So even if I do some C/C++ programming in my sparetime I guess it will never make up for anything that counts job wise. Even when I have 20+ years to go till I retire. So my conclusion is that "systems programming" would be something for my spare time that should be done for the fun of it and not with a job goal, because that is unrealistic. My question is whether that opinion is too pessimistic or not. What I came up with so far is that choosing Go for some fun and leisure development work would make sense. D is surely much more complete than Go, but the Go community is really alive and kicking. I'm asking this question here, because I think I know what the people in the Go forum would answer ;-).

Regards, Tinxx

Melzzzzz 05-01-2013 02:21 PM

Re: To go with Go or C/C++?
 
On Wed, 1 May 2013 07:05:35 -0700 (PDT)
Tinxx <jeti789@web.de> wrote:

> I'm asking this question here, because I think I know what the people
> in the Go forum would answer ;-).
>

Go go go...



Victor Bazarov 05-01-2013 02:25 PM

Re: To go with Go or C/C++?
 
On 5/1/2013 10:05 AM, Tinxx wrote:
> Don't worry, this is not about some religious language war. I'm just

looking for some advice from some C/C++ people who can judge better than
me since my experience in C/C++ is very limited. I have been developing
10 years with Smalltalk and 10 years with Java. I did some C++ during my
studies for my thesis, that's all.

There is no such language as "C/C++". I'll presume you mean C++.

> Now I regret never having done any systems programming and I would

like to dig a bit into it in my spare time. So I have to pick a language
and I was looking at C/C++, D, and Go. I have never seen any job ad
asking for a Java developper with some knowledge of C/C++ appreciated.
To learn C/C++ well I need 3-4 years full time work with it.

It probably depends on what you're going to be using it for. Often the
exposure to language features can be quite limited if the projects do
not demand it.

> So even if

I do some C/C++ programming in my sparetime I guess it will never make
up for anything that counts job wise. Even when I have 20+ years to go
till I retire. So my conclusion is that "systems programming" would be
something for my spare time that should be done for the fun of it and
not with a job goal, because that is unrealistic. My question is whether
that opinion is too pessimistic or not. What I came up with so far is
that choosing Go for some fun and leisure development work would make
sense. D is surely much more complete than Go, but the Go community is
really alive and kicking. I'm asking this question here, because I think
I know what the people in the Go forum would answer ;-).

And you don't know what people in a C++ forum would answer?

Picking up enough C++ to start doing good (or harm) in any field does
not really require years of full-time exposure. Since C++ is a general
purpose language (like Java or D, for instance), knowing the language is
really not a strict prerequisite for getting a job in some field of
applying the language. At least not as much as knowing the field.

I can't tell you anything about Go. You would have to ask "some Go
people" as you'd put it.

V
--
I do not respond to top-posted replies, please don't ask

Stefan Ram 05-01-2013 02:44 PM

Re: To go with Go or C/C++?
 
Tinxx <jeti789@web.de> writes:
>Now I regret never having done any systems programming and I
>would like to dig a bit into it in my spare time. So I have
>to pick a language and I was looking at C/C++, D, and Go.


C is much easier to learn then C++. D and Go I don't know.
Therefore,

you must choose C!

C is the most popular language on Tiobe (in some months
Java takes this place). C is the fasted language on
language shootout (or very close to the top).

»=head2 What language is Parrot written in?

C.

=head2 For the love of God, man, why?!?!?!?

Because it's the best we've got.«

http://www.davidcole.net/msie/notes/...4/docs/faq.pod

»Here's the thing: C is everywhere. Recently Tim Bray made
basically the same point; all the major operating systems,
all the high-level language runtimes, all the databases,
and all major productivity applications are written in C.«

http://girtby.net/archives/2008/08/23/in-defence-of-c/

»According to the TIOBE index, the C programming
language is the most popular language in April 2010.«

http://www.geeks3d.com/20100413/tiob...er-1-position/

C++ is way too complicated:

»Today's C++ programs will be tomorrow's unmaintainable
legacy code. As [GWS 94] says of C++:

"The seeds of software disasters for decades to
come have already been planted and well fertilised."«

retrieved in 2007 from:
http://burks.brighton.ac.uk/burks/pc...t/index005.htm

http://article.gmane.org/gmane.comp....trol.git/57918

»C++ is already too large and complicated for our taste«

from a Usenet post posted by Bjarne Stroustrup

»C++ is too complicated. At the moment, it's impossible
for me to write portable code that I believe would work
on lots of different systems«

Donald E. Knuth

»the largest cross platform compatible subset of C++ is C«

http://www.artima.com/weblogs/viewpost.jsp?thread=8826

»C++ has always been a zombie, its only drive is the C
ghost inside it :-)«

Pascal J. Bourguignon

<7cfxdrp4pj.fsf@pbourguignon.anevia.com>

»I think C++ was pushed well beyond its complexity threshold«

Joshua Bloch

http://gigamonkeys.com/blog/2009/10/16/coders-c++.html

»C++ is an unbelievably huge language«

http://blogs.msdn.com/jaredpar/archi...erview-on.aspx

»it's just a garbage heap of ideas that are mutually exclusive«

Ken Thompson

http://gigamonkeys.com/blog/2009/10/16/coders-c++.html

»there are a lot of people programming it. But what you
do is you force people to subset it.«

Jamie Zawinski

http://gigamonkeys.com/blog/2009/10/16/coders-c++.html

»the bug classes C++ introduces are way scarier than the
ones it takes off the table«

http://www.matasano.com/log/914/c-a-...is-spoken-for/

»C++ is a huge regression compared to C«

Felix von Leitner

http://events.ccc.de/camp/2007/Fahrp...s/1951.en.html

C is more widespread than C++, at least according too:

2 C 17 %
4 C++ 9 %

http://www.tiobe.com/index.php/conte...pci/index.html

»C++ has become a niche language, but I talk to many C++
programmers who live in total denial about that fact.«

http://weblogs.java.net/blog/cayhors...s_can_t_1.html

»C++ is becoming a freak language that's parading its
disfigurements in front of mildly disgusted but
curiously fascinated audience.«

http://www.relisoft.com/tools/CppCritic.html

»If you port your Firefox add-on to IE, you may have to
use C++. And Allen admitted that this is a bit 1998.
"The first thing people say is 'That's horrible. No one
programs in C++ anymore,'" he said.«

http://www.theregister.co.uk/2008/12...ox_to_ie_port/

»an interesting difference between "Effective Java" and
"Effective C++" is that my reaction to the latter was to
come up with a set of SOPs that mainly boil down to
"don't use C++ feature x".«

Bjorn Borud

<m3is1ti9kq.fsf@borud.not>

»C++ is generally regarded as the most technically
deficient of the popular OOPLs.«

H. S. Lahman

<bv6je.8995$_f7.1506@trndny01>

»There are only two things wrong with C++, The initial
concept and the implementation.«

Bertrand Meyer

»C++ is a vast playground, and makes you feel smart
when you know all of it, so you're always tempted to use
all of it. But that's really, really hard to do well,
because it's such a crap language to begin with. In the
end, you just make a mess, even if you're good.«

http://steve.yegge.googlepages.com/tour-de-babel

»It was decisions like not using C++ and not using
threads that made us ship the product on time.«

Jamie Zawinski

http://www.joelonsoftware.com/items/2009/09/23.html

»C++ is a horrible language. It's made more horrible by
the fact that a lot of substandard programmers use it (...)

I've come to the conclusion that any programmer that would
prefer the project to be in C++ over C is likely a
programmer that I really *would* prefer to [move on], so
that he doesn't come and [disturb] any project I'm involved
with. (...)

[T]wo years down the road you notice that some
abstraction wasn't very efficient, but now all your code
depends on all the nice object models around it, and you
cannot fix it without rewriting your app.«

http://lwn.net/Articles/249460/

»As you can see, C++ is really complex, and so a few
mistakes crept in. First of all, exceptions in
constructors do call local destructors, but only if the
exception is caught.«

http://www.fefe.de/c++/

»C++ is just an abomination. Everything is wrong with it
in every way. So I really tried to avoid using that as
much as I could and do everything in C at Netscape.«

Jamie Zawinski

http://gigamonkeys.com/blog/2009/10/16/coders-c++.html

»Though I was not the world's leading C++ expert, I was
a sophisticated and knowledgeable C++ user.

So what happened? Basically I got sick of every single
aspect of C++ being designed around higher performance
instead of my productivity. I also got sick of
impossible to diagnose linker errors and never being
able to just download a library and use it. Each new
library meant I had to build from source because C++ has
no ABI that allows compiled code to just be used. (...)

I wish the C++ people would wake up and realize that C++
is drowning in its own complexity. If I had to write a
high performance application these days I would reach
for C. Any other application I would write in either a
scripting or VM based language and then code the slow
parts in C. Why not C++? Mainly because you can't get
scripting or VM based languages to play nicely with C++
because C++ has no ABI.«

Pro-Phi-Psi; Tuesday, March 11, 2008

http://prophipsi.blogspot.com/2008/0...-or-use-c.html (gone)

See also:

http://www.sysprog.net/quotec.html
http://burks.bton.ac.uk/burks/pcinfo/progdocs/cppcrit/
http://yosefk.com/c++fqa/defective.html
http://www.nothings.org/computer/cpp.html
http://www.horstmann.com/cpp/pitfalls.html
http://steve.yegge.googlepages.com/tour-de-babel
http://artlung.com/smorgasborg/Inven...plusplus.shtml
http://www.kernel.org/pub/linux/docs/lkml/#s15-3


Balog Pal 05-01-2013 02:57 PM

Re: To go with Go or C/C++?
 
On 5/1/2013 4:44 PM, Stefan Ram wrote:
....
> you must choose C!

....

I thought we have May 1 not April 1.


Balog Pal 05-01-2013 03:05 PM

Re: To go with Go or C/C++?
 
On 5/1/2013 4:05 PM, Tinxx wrote:
> Don't worry, this is not about some religious language war.
>I'm just looking for some advice from some C/C++ people who can judge better than
>me since my experience in C/C++ is very limited. I have been developing 10 years with
>Smalltalk and 10 years with Java. I did some C++ during my studies for

my thesis, that's all.
>
> Now I regret never having done any systems programming and I would like to dig a bit into it in my spare time.


Hm, systems programming and spare time is not the best mix.

> So I have to pick a language and I was looking at C/C++, D, and Go.


Is there any systems programming dome in D or Go actually? Or could be
done in theory at least?

> I have never seen any job ad asking for a Java developper with some knowledge of C/C++ appreciated.


I saw many, but that's hardly relevant.

If you really look to widen yor horizon as a programmer, I'd suggest
first to study SICP http://mitpress.mit.edu/sicp/ then some more
languages that play in different category than all you mentioned.

And after that extend to things you do actual work with.

As of C++, it is a huge investment. I'd only suggest it to those who can
commit bigtime and then use it in practice too.

An C I'd put as avoid unless you're forced and could not figure an
escape route.

Melzzzzz 05-01-2013 04:31 PM

Re: To go with Go or C/C++?
 
On 1 May 2013 14:44:05 GMT
ram@zedat.fu-berlin.de (Stefan Ram) wrote:

> Tinxx <jeti789@web.de> writes:
> >Now I regret never having done any systems programming and I
> >would like to dig a bit into it in my spare time. So I have
> >to pick a language and I was looking at C/C++, D, and Go.

>
> C is much easier to learn then C++. D and Go I don't know.
> Therefore,
>
> you must choose C!


That's for sure. But to really understand C (or motivation behind it),
one has to know at least one assembler.


Melzzzzz 05-01-2013 04:31 PM

Re: To go with Go or C/C++?
 
On Wed, 01 May 2013 16:57:17 +0200
Balog Pal <pasa@lib.hu> wrote:

> On 5/1/2013 4:44 PM, Stefan Ram wrote:
> ...
> > you must choose C!

> ...
>
> I thought we have May 1 not April 1.
>


;))))


Rui Maciel 05-01-2013 05:09 PM

Re: To go with Go or C/C++?
 
Tinxx wrote:

> I'm asking this question here, because I think I know what the people in
> the Go forum would answer ;-).


I believe the better option is either C or C++. Both have their downsides,
but they do have an upside which none of the other languages you've
mentioned has: they are standardised. Both C and C++ have been set in stone
though international standards. This means that it is guaranteed that all
you will learn right now will still be applicable decades from now. There
is absolutely no assurance that bit rot won't catch up with the other
alternatives you are considering, and if we look at the history of
unstandardised languages, it will.


Rui Maciel

Melzzzzz 05-01-2013 05:22 PM

Re: To go with Go or C/C++?
 
On Wed, 01 May 2013 18:11 +0100
Rui Maciel <rui.maciel@gmail.com> wrote:

> Melzzzzz wrote:
>
> > That's for sure. But to really understand C (or motivation behind
> > it), one has to know at least one assembler.
> >

>
> Nonsense.


Oh yeah...
You don;t need to know C in order to program in C++, as well...

>
> Queue in the "no true scotsman".


So you can do system programming without understanding/knowing hardware
you program?




All times are GMT. The time now is 01:31 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.