Originally posted by starshipeleven
View Post
Announcement
Collapse
No announcement yet.
id Tech 4 / Doom 3 Is Being Rewritten In Ada
Collapse
X
-
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
-
Originally posted by LucretiaThe new C++ stuff has made it harder to read
Originally posted by LucretiaYou can't get much more modern that Ada 2012, until Ada 202X comes out.
Originally posted by LucretiaIt was designed for embedded work, games are also considered embedded, especially on consoles.
Originally posted by LucretiaNo 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.
Originally posted by LucretiaHierarchical 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.
Originally posted by LucretiaHas built-in tasking and will tell you if there can be any potential locks anywhere.
Originally posted by LucretiaDefine 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.
Originally posted by LucretiaIt'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.
Originally posted by LucretiaIt'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.
Originally posted by LucretiaHas 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.#
Originally posted by LucretiaHas 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.
Originally posted by LucretiaOh, 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.
Originally posted by LucretiaI 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.
Originally posted by Lucretiawe need more people taking a real interest
Originally posted by LucretiaWe need more people writing unencumbered libraries, bindings, i.e. without a GPLv3 licence.
Originally posted by LucretiaWe need more tools, more diversity in tools and in areas people are using it for.
Originally posted by Lucretiait's a Turing complete language and can be used for anything
- Likes 3
Comment
-
-
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
- Likes 4
Comment
-
-
Originally posted by LucretiaBecause games never crash, do they?
Originally posted by LucretiaThey 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?
Originally posted by LucretiaBy your reasoning Doom engine shouldn't be written on those languages either
- Likes 2
Comment
Comment