28

So lately I've been seeing a lot of hate towards languages like C, C++ and java.

Someone at work literally said go would replace C++ and that anyone still using it is a dinosaur.

He said no one uses this languages anymore.

Am I just being left behind or are most real time devs not using C et al anymore.

I mean c++ has a 2017 update and we work with devices for aviation and the like that need to be certified I don't see go becoming our main language anytime soon.

I'm not saying go isn't a good language I'm just saying the others aren't at the point where we take them out back and shoot them.

Comments
  • 5
    When you talk about performance issues, you will use C, or C++, you can't avoid them IMO
  • 4
    I mean I could see us maybe moving to Kotlin for the stuff we currently use java for.

    But aviation certified devices are a different thing. Even if you ignore the heart attack the certification guys would have there simply isn't any tool support. I don't see us running anything like go on top of vxworks for example. The whole industry would have to switch and spend time to get it all certified and have the demand for the tooling to update.

    I'm just not sure what the point is when c and c++ are perfectly competent at doing the job, especially when the languages are still evolving (well c++ anyway)

    I think it just comes down to the right tool for the job. Maybe one day that will change but I'm under no illusions that it will be quick.

    I just don't understand the is old it must be bad argument.

    We're not firing 40+yo devs just because we have a new set of 21yo graduates starting why should we do the same with the languages.
  • 18
    People dislike c and c++ because they are difficult.

    C and c++ are difficult because they are powerful.

    They are going nowhere.
  • 2
    @querellaMMXII I don't think c(++) will ever get replaced. Maybe if we have quantum CPUs in our mobile phones but I mean... C is still the fastest shit I know.
  • 8
    C and C++ aren't going anywhere and there's no reason they should be. But they are being used less and less as easier and faster-to-develop languages are becoming better.

    As computing resources increase, the need for super fast languages decreases and the benefit of rapid development starts to matter more and more
  • 0
    @Froot this is true and it's why we are looking at model based approaches backed by c/C++.

    How much easier are the newer languages when it comes to implementing a complex solution.

    I'd be interested in seeing a real world comparison.
  • 2
    @Froot That's true when it comes to final-user uses, but in the back, if the base functions were not developed in C/C++ it would be very difficult to have new approaches that are sufficient enough. As an example, Operating Systems need to be developed in low-level languages, else, it's a super-lack of performances
  • 1
    I feel an idea forming.

    So I presume most people will have seen: http://www.99-bottles-of-beer.net before.

    Would it be possible to do something similar for a simplistic OS.

    I'm thinking a very basic os spec as a common reference (boot, load whatever drivers for display and input and do some sort of difficult processing)

    Accept submissions of the os in any language and compare stats. A nice benchmark for low level coding.

    It would be interesting to see how something like go compares to c for this kind of thing.

    It would however rely on being able to compile to a bootable image without having to fall back on c for example as then your just admitting your language can't do what c can and invalidating the point.

    A true replacement should be able to achieve this and be easier than the existing solutions.

    I do accept that a boot loader may need to be written in assembler but this could be a common component that all submissions have to use.

    Thoughts?
  • 0
    Hmmm. I dont know about go
  • 0
    @Chamxy that's my point though, if it is being touted as a possible replacement it should be able to compete for similar tasks.
  • 2
    There's no way go is replacing them. The closest any language would come to that would be Rust, but even the great warrior like rust can't defeat 2 kings.
  • 0
    @AlgoRythm I think you mean "they aren't going anywhere" 😁
  • 2
  • 0
    @AlgoRythm #JustProperGrammarThings
  • 2
    In scientific programming there are new languages that are simple and perform reasonably well (such as Julia) but C++ still offers the best trade-off between speed and complexity, hence few people are willing to switch to other languages.

    Also, show some love. C++ is so beautiful <3
  • 0
    Actually I do think c/c++ should be replaced by another language. Maybe one that does not exist yet. C/C++ are really old and a lot of legacy issues are still in them which make them ambiguous and difficult to read. So I do think they should be replaced by something that is also directly compiled to cpu assembly.

    But no I don't think that will happen anytime soon, it is already tried with multiple languages like D and it still didn't happen. Mostly because of legacy code. It is the same adequate cobol, in that language they still develop (poor developers). So no it won't happen.
  • 0
    So how efficient is python actually? You see it everywhere in scientific stuff nowadays, even at the neural network stuff from Google. It kinda makes me wonder why it's preferred over C in this field.
  • 0
    @querellaMMXII I tried the Kotlin native on Windows and think this is a really nice approach, but beyond those samples I couldn't really make use of it because for virtually everything you need to use some Java libraries again. I couldn't even read out a file in native kotlin (or at least I didn't find a way on the internetz). I know one can use C libraries so I might implement some functions in C to use them in Kotlin (like file handling), but I turned off at that point.
  • 1
    As compiled languages go, Go doesn't go so fast. About the same performance as Java or Kotlin with none of the language features.

    The reason Go is so popular is its simplicity. It's often hard to find more than one way to do something.

    Anyway, C++ won't out until Rust gets in, like really, really in. Right now it's a young language. You'll have plenty of opportunity to jump on board when it's more mature
  • 0
    Still waiting for a globaly accepted OS written in something other than C/C++
  • 0
    @Orionss Absolutely. But that ultimately means that C/C++ is used less because even tho it's everywhere, people don't develop in it so much.

    Like for example node.js. Awesome project, backed by a ton of C++. So these languages are still super relevant but will be used less and less as time goes on. How often do you rewrite the C++ part of node.js Vs how often do you write an application on top of it with JS. That sort of thing
Add Comment