Skip to content

Comment on RethinkDB is hiring C/C++ engineers with irrational desire for world domination

Comments

So from the open req page:

You know C/C++ like the back of your hand.

So are they looking for C OR C++ programmers, either may apply? or are they looking for strong understanding of the nuances of both C and C++?

I encounter a lot of "C/C++" on resumes and after interviewing a lot of folks, I've grown a distaste for this joined tag. The problem is that when I see "C/C++", I never know until I interview a candidate whether the intent is that "C/C++" is...

1) Shorthand for I program C and I program C++ (I know both well)

2) I program C with classes. I don't really know OOP, but I fake it with big class buckets.

3) I program in C++ and know OOP well, but I would get lost in the strict procedural world of C.

If you don't get where I'm coming from, I've programmed in both for many years, and I will simply say that "C and C++ are two paradigms separated by a common language."

This is a great point. In this case, we mean C or C++, as long as you know your language of choice well.

... is your software written in both? Or you just figure if you can do one you can learn the other?

I won't speak for Slava, but I think generally the idea is that knowing either one well enough implies a certain amount of knowledge about computer guts, which in turn implies that it shouldn't be too hard for you to learn the other.

Technically it's in C++, though, if that helps.

Plus it's not entirely unheard of to do the core of the application in C, and offer a C++ API to users. There is a good reason to have both expertise inhouse.

Well, the MySQL API is C++...so....

It says "C API" in their own manual:

http://dev.mysql.com/doc/refman/5.0/en/c.html

Or did you mean rethinkdb's mysql API?

The plugin engine API is C++. They export a C client API, along with many other client APIs.

EDIT: I just reread the above, and should mention that I didn't mean it to be snarky at all. Sorry.

I find the best programmers know C, C++, C#, and Objective-C. They know the pros and pitfalls of each language:

  1) Procedural vs OO
  2) Manual vs automatic memory management
  3) Naked pointers vs smart pointers vs garbage collection vs reference counting
  4) Method calling vs message passing
  5) C libraries vs C++ libraries vs .NET frameworks vs Cocoa frameworks
  6) Zero runtime vs thin runtime vs rich runtime

there's also "c++ as a better c", although i guess that is dying out as c99 becomes more common.

C99 fixes some papercuts, but C++'s syntactic sugar still makes object oriented stuff nicer, which frankly is what most people are doing anyway.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.