4 ms·
This is some hardcore language hate. C++ is the production coding language. Java is the enterprise coding language. You should want to join these guys just to g
by aston 19y ago
This is some hardcore language hate. C++ is the production coding language. Java is the enterprise coding language. You should want to join these guys just to get your head around why all the companies who make a truckloads of money doing software use these languages.
- pg 19y agoWhat is "production?" Whatever it is, few web apps I admire do it, if it means writing code in C++.
- aston 19y agoPoint taken, but mine still stands. Basically all of the software companies with market cap north of a billion dollars have web-facing apps written in C++ and Java. Whether you admire them or not is another issue entirely.
- nostrademons 19y ago"Basically all of the software companies with market cap north of a billion dollars have web-facing apps written in C++ and Java." Not really true, unless you mean "have web-facing apps written in C++ and Java" in the same sense that they "have web-facing apps written in PHP and Python". I posted a list on Reddit, based on publicly available information (employee blog posts, mailing lists): http://programming.reddit.com/info/2614t/comments/c264lk http://programming.reddit.com/info/2614t/comments/c264lk There's some Java and C++, but there's also a lot of Python and PHP.
- aston 19y agoYou're collapsing stuff down in an interesting way that makes these marginal languages look more important than they probably are. If you were to do it by lines of codes, organizational importance, financial pay off, number of engineers working in a language, or pretty much any metric other than "does ___ use ___ somewhere in their codebase?," I think you'll find that Java and C++ are huge. That said, sure, folks use other languages, too. Yahoo and Facebook are particularly good examples of companies that have more than the typical share of a non-Java/non-C++ language for their apps. And even they use C++ (and maybe Java) elsewhere.
- nostrademons 19y ago"If you were to do it by lines of codes, organizational importance, financial pay off, number of engineers working in a language, or pretty much any metric other than "does ___ use ___ somewhere in their codebase?," The flip side of that is that perhaps Java and C++ are huge because it takes more engineers and lines of code to accomplish the same task, and hence the potential financial payoff and organizational importance needs to be higher to justify their use. ;-)
- aston 19y agoDeep.
- brett 19y agoThat's not necessarily significant unless you want to take it a step further and claim C++ and/or Java have a causal relationship with those market capitalizations. There could be a lot of reasons why very large software companies are using the same languages.
- aston 19y agoIt's certainly not coincidence that both Microsoft and Google use C++ for their big web apps. I'm suggesting that the opportunity to learn how and why their systems work as they do is a valuable one, even if you'd rather be coding in Python, Ruby, or Arc.
- euccastro 19y agoThe poster talks about being the <10th employee, so I don't think he's considering going to work for Microsoft or Google. It's questionable that there is much overlap between the "hows and whys" of the practices of these companies (that count their employees by the thousands and their bottom line by the billions), with the "hows and whys" of what you need for a startup. Any opportunity to learn is valuable; whether learning the MS/Google way is a good choice depends on your alternatives.
- ks 19y agoI couldn't agree more
- pg 19y agoIt takes a while to get a billion dollar market cap. So if you use that test you're looking at old technology decisions. A better test, for someone starting a startup now, would be to look at what's used by the companies started in the last year that seem most likely to one day have billion dollar market caps.
- aston 19y agoI don't know if you're entirely correct on the old school/new school comparison. It's not as if Google decided way back in the late 90's that they'd (re-)implement Writely in Java just because it was en vogue. That's a newer technology decision than implementing reddit in python... Ultimately, the question of what to code in is not nearly as crucial to success as we're making it out to be. And answering that question "correctly" has a lot to do with who's coding, how the code's used now, how you think it'll be used later, and many other questions. I think it's at least worthwhile to know why other people use boring languages. Then feel free to use cool ones instead, not because you're impressed with how well Basecamp runs, but because you know you don't need Google-sized scalability right out of the box.
- pg 19y agoI suspect Google decided long ago to create a server infrastructure for programs written in certain languages, which in turn dictated how they rewrote Writely years later.
- euccastro 19y agoChoice of programming language may improve performance by a constant factor at best. I can't see how Google-sized scalability depends on that. I'd be happy to grow 1/10 or 1/100 of Google!
- nostrademons 19y agoIt's too hard to judge which apps started this year will most likely have billion dollar market caps - after all, if you'd done that in 1996, you'd think "AltaVista, Excite, Value America" and other similar nonsense. Instead, how about looking at what companies with billion dollar market caps are buying. After all, that's the biggest statement of "We think this is really promising, but we can't build it internally, so we're going to fork over a billion dollars for it" that a big company can make. Judging from this, the big languages seem to be Python (YouTube, Reddit) and Java (FeedBurner, Zenter). There are also a lot of recent acquirees where I haven't seen anything about their technologies - it's certainly conceivable that many of those are C++. Really, if I had to draw conclusions, it'd be "The language you use doesn't really matter - the important thing is that you build something people want."
- brlewis 19y agoIf you look at what the Java world is doing, you'll see that experts try to keep their Java code as far away from the web layer as possible. That's what velocity, webmacro, cocoon, JSTL, etc. etc. etc. are for. There's probably a tool to keep Java away from the web for every letter of the alphabet.
- omouse 19y ago> Point taken, but mine still stands. Correlation is not causation. These software companies just happen to use C++ and Java. It's not because they use C++ and Java that they have market caps north of a billion dollars. They're making a product or selling a service that people want and if they used a different language, they would still be making a lot of money.
- cperciva 19y agoThe fact that very few web applications use C++ doesn't mean that using C++ is a bad idea. Most web applications are absolute garbage, both in terms of the concepts behind them and the actual implementations. Personally, I write code in C. Does this mean I write fewer lines of code? Possibly. Does it mean that I write fewer GOOD lines of code? Definitely not. Working in C forces me to think about what I'm doing in a way that I wouldn't do if I were using a more flexible language like perl; and as I've written about before, I firmly believe that thinking before coding is a key ingredient in producing good code. Returning to the original question: I would never work for a startup which was using C++ or Java, simply because those languages are too flexible. If you don't know what function pointers are, you shouldn't be using them -- and that applies doubly if you don't even realize that you're using them.
- aston 19y agoAs an aside, function pointers are the closest C++ has to lambdas. If C++ is too flexible for having them, you shouldn't go near anything LISPy.
- nostrademons 19y agoWell, technically boost::lambda (http://www.boost.org/doc/html/lambda.html http://www.boost.org/doc/html/lambda.html) is the closest C++ has to lambdas. ;-)
- aston 19y agoThose boost kids...They do great work.
- jey 19y agoboost::lambda still blows. I avoid using C++'s <functional> and friends because of the crap-tastic missing support for lambda expressions. Luckily there are a couple of sane proposals to fix this in the next version of C++ (aka "C++0x"). http://www.research.att.com/~bs/N1968-lambda-expressions.pdf http://www.research.att.com/~bs/N1968-lambda-expressions.pdf I'm happy to say that I no longer hack C++. I loved C++ until I realized that you have little hope of using C++'s features correctly unless you sink 5 years into becoming a C++ expert. Digital Mars D looks pretty damn good, but I haven't looked into it very deeply.
- Goladus 19y agoWhy would you join a 10-person company to figure out why a billion dollar company behaves a particular way?
- aston 19y agoYou should join the 10-person company to figure out why a 10-person company behaves a particular way. I wouldn't be surprised if a number of aspects aligned between companies big and small with regard to choice of language.