Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Friday November 13 2015, @10:24AM   Printer-friendly
from the Obfuscated-Rust-Competition-doesn't-sound-right dept.

In spite of my status and obvious bias as co-creator of D, I'll do my best to answer candidly; I follow Go and Rust, and I also definitely know where D's dirty laundry is. I'd encourage people with similar positions in the Rust and Go communities to share their honest opinion as well. So here goes.

First off, C++ needs to be somewhere in the question. Whether it's to be replaced alongside C, or be one of the candidates that's supposed to replace C, the C++ language is a key part of the equation. It's the closest language to C and the obvious step up from it. Given C++'s age, I'll assume in the following that the question also puts C++ alongside with C as a target for replacement.

Each language has a number of fundamental advantages (I call them "10x advantages" because they are qualitatively in a different league compared to at least certain baselines) and a number of challenges. The future of these languages, and their success in supplanting C, depends on how they can use their 10x advantages strategically, and how they overcome their challenges.

[Another way to look at this is to ask "What is wrong with C?" and then assess how well these languages solve those problems. -Ed.]


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2, Insightful) by Anonymous Coward on Friday November 13 2015, @11:55AM

    by Anonymous Coward on Friday November 13 2015, @11:55AM (#262600)

    Want to write a kernel? C.

    Want to write something in user land? Who cares who language.

    Starting Score:    0  points
    Moderation   +2  
       Insightful=1, Informative=1, Total=2
    Extra 'Insightful' Modifier   0  

    Total Score:   2  
  • (Score: 3, Insightful) by Thexalon on Friday November 13 2015, @03:01PM

    by Thexalon (636) on Friday November 13 2015, @03:01PM (#262666)

    Want to write something in user land? Who cares who language.

    1. The poor sap who has to maintain it, who may not be the poor sap who had to write it. That translates to a preference for something that's easy to modify and read.
    2. The admin who has to make sure any interpreters or necessary libraries are in place. That translates to a preference for something widely distributed and easily available for their OS of choice.
    3. Anyone who is planning on re-using the code or interacting with it as a library. That translates to a preference for something that conforms to widely used standard interfaces.
    4. Anyone who is planning on compiling the code is going to need the appropriate tools to do so available on their platform. That translates to a preference for something widely distributed and easily available for their OS of choice.
    5. The original developer, who may be able to take advantage of constructs in a language that don't exist in other languages. That translates to a preference for something that fits nicely into the problem domain or even a specialized mini-language.

    So yeah, it does matter. Not in the same way that idiot recruiters think where languages are all about the right keywords on somebody's resume, but it does make a real difference. For example, Brainf*ck fails on all counts, so it's not used for much of anything important. By contrast, Python, Java, Ruby, C, and C++ all do quite well on most of these points and are widely used for all sorts of things in userspace.

    --
    The only thing that stops a bad guy with a compiler is a good guy with a compiler.
    • (Score: 0) by Anonymous Coward on Friday November 13 2015, @04:02PM

      by Anonymous Coward on Friday November 13 2015, @04:02PM (#262704)

      Anyone who's going to be using it and now has another piece of bloated garbage running in the background because muhframework/lib.