Announcement

Collapse
No announcement yet.

id Tech 4 / Doom 3 Is Being Rewritten In Ada

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by starshipeleven View Post
    The issue in IoT is not solvable by ADA. Bad code is bad code, even a better language won't help much when the device is sending around master keys as plain text or has blank root passwords.
    Still, you notice a lot of effort goes into ASLR and other things to try to mitigate the effects of holes. Ada could help with that.

    Comment


    • #22
      People do like to do stuff like this to learn, experiment or create portfolio work to help get them land roles. Where I live the market is rather competitive, I saw an entry job the other day that expected previous programming experience in addition to a finance degree. A recruiter contacted me the other day for some role that required Rust, how much years? oh 3. Goodluck finding that in this country when Rust only went stable in mid 2015, sounds like a hype hire where the employer/recruiter doesn't know much about it. Would love for years of experience to be less important of a requirement for roles as I don't believe it's a good metric. Someone else could demonstrate skills elsewhere that could have them pick up Rust or expand on whatever experience they already have with the language.

      How does Rust compare to Ada?

      Comment


      • #23
        Originally posted by Lucretia
        The new C++ stuff has made it harder to read
        for you. for most people ada is harder to read
        Originally posted by Lucretia
        You can't get much more modern that Ada 2012, until Ada 202X comes out.
        lol, did i say it is obsolete?
        Originally posted by Lucretia
        It was designed for embedded work, games are also considered embedded, especially on consoles.
        c++ is most used embedded language
        Originally posted by Lucretia
        No bit masks required, you can define your types such as registers in records and let the compiler handle the shifting and masking, it'll do a better job and it's less error-prone.
        c++ has bitfields
        Originally posted by Lucretia
        Hierarchical storage pools so memory can be allocated in large blocks in one go at the start of an application and then given out in further sub-blocks which are then used for allocations.
        you have full control over allocation in c++
        Originally posted by Lucretia
        Has built-in tasking and will tell you if there can be any potential locks anywhere.
        ada supports some restricted subset of multithreading.
        Originally posted by Lucretia
        Define the ranges your types can work within and have the compiler check them, a lot at compile time. The checks can be turned off once the application has proved it cannot cause any errors.
        c++ can do this for any type and for any kind of restriction, not just simple ranges
        Originally posted by Lucretia
        It's on par speed-wise with C++ even with the checks on, as the compiler may deem a check unnecessary anyway and won't put it in.
        it is slower than c++
        Originally posted by Lucretia
        It's higher level so you don't need to constantly think in pointers or ints as you model your types to correctly map onto the concept you are trying to model.
        it is not higher level. ada lacks lower level, but c++ can be as high as you like.
        Originally posted by Lucretia
        Has a proper module system so the compiler doesn't spend time constantly compiling the same code over and over, like with C/C++ includes / templates.#
        well, most time compiler spends on optimization, not on parsing headers and the whole point of templates is that they are not compiled separately, but i grant you this one. module system will improve c++ and c++ will get one soon(sooner than ada 202x lol)
        Originally posted by Lucretia
        Has generics - that's templates to you, they're less messy than C++'s, but you can't do meta-programming in them, which is painful anyway.
        so lousy language can't do metaprogramming, powerful language can. now c++ can do it even better with constexpr(see boost.hana)
        Originally posted by Lucretia
        Oh, and it was not designed by committee, like so many people love to shout about, the original version was designed by one person and his team of people, Ada95 by another one person, Ada 2012 by a further one person. There are people who have a vote on things, but that's about it on that.
        oh and you are crazy. it was designed by https://en.wikipedia.org/wiki/High_O..._Working_Group and now it is same iso standard as c++. but i don't know why do you bring this here, everything of value was designed by committee. (no, you can't say "but this feature was designed by one person", whole thing is work of a group and it is not a bad thing)
        Originally posted by Lucretia
        I worked in games and had to use C and C++ which I liked at the time, but back then with the pressures and crap tools (MSVC 6) I spent most of the time in a debugger, I don't like debugging.
        i have bad news for you. most people working in games are bad c++ programmers. and of course msvc 6 was not a real c++ compiler
        Originally posted by Lucretia
        we need more people taking a real interest
        that is your problem. nobody is interested in ada and you can't influence it
        Originally posted by Lucretia
        We need more people writing unencumbered libraries, bindings, i.e. without a GPLv3 licence.
        exactly. nobody writes libraries in ada, so nobody will use ada.
        Originally posted by Lucretia
        We need more tools, more diversity in tools and in areas people are using it for.
        yes, lack of tools also makes language unattractive
        Originally posted by Lucretia
        it's a Turing complete language and can be used for anything
        assembler and branfuck are turing complete too

        Comment


        • #24
          Originally posted by ldo17 View Post
          Still, you notice a lot of effort goes into ASLR and other things to try to mitigate the effects of holes. Ada could help with that.
          c++ also could help with that and it does not require full rewrite. just forbid working with raw pointers

          Comment


          • #25
            ok, so people are touting ada as safe language for aerospace

            On June 4, 1996, after 7 billion dollars of development, an unmanned Ariane 5 rocket exploded just forty seconds after lift-off
            The rocket and its cargo were valued at $500 million for a total cost of 7.5 billion dollars!
            The error was traced to a software component in the Inertial Reference System that had been reused from the Ariane 4 flight software
            The reused component was more than 10 years old and had flown successfully on numerous Ariane 4 flights
            The problem => certain assumptions changed between the Ariane 4 and the Ariane 5 and the software was not updated in response
            The flight software was written in Ada which has a first class exception construct (it predates C++ and Java in this regard)
            If an exception is thrown but not caught, the error will “percolate” up through the call stack and will eventually terminate the entire system
            The failure of the Ariane 5 can be traced to the conversion of a 64-bit integer to a 16-bit signed integer
            The 64-bit value was greater than 2^15 which caused an exception to be generated
            This exception was not caught and it caused the termination of the flight control software 37 seconds into the launch
            The rocket shortly thereafter (3 seconds) lost control and was destroyed

            Comment


            • #26
              Originally posted by pal666 View Post
              If an exception is thrown but not caught, the error will “percolate” up through the call stack and will eventually terminate the entire system
              What do you think C code would have done?

              Comment


              • #27
                in the meantime c++ flies to mars https://www.youtube.com/watch?v=3SdSKZFoUa8

                Comment


                • #28
                  Originally posted by ldo17 View Post
                  What do you think C code would have done?
                  i don't suggest writing software in c. c++ could do many things, including what ada did

                  Comment


                  • #29
                    Originally posted by Lucretia
                    Because games never crash, do they?
                    because if game crashes you fix it. and you don't write games in ada because you want them fast and you want them now
                    Originally posted by Lucretia
                    They don't ever go out of bounds on arrays or start dicking with memory they don't own, do they?
                    Oh and C and C++ adding bounds checking various forms, well that's not safety related at all is it?
                    c++ can do any kind of checking, not just array bounds. and it can do many checks at compile time. you can avoid checking if you want, but you just as well can avoid ada. and it is easier to forbid to avoid checking than to rewrite in some obscure language without tools, libraries and developers
                    Originally posted by Lucretia
                    By your reasoning Doom engine shouldn't be written on those languages either
                    by my reasoning you are idiot and doom should be written in modern c++

                    Comment


                    • #30
                      so, failed c++ programmers become ada programmers who are crying at lack of libraries, tools and developers.
                      well, people who don't understand that mistakes are made by people, can't succeed at any language

                      Comment

                      Working...
                      X