Ada lang thread

Some user in the rust thread recommended to create a new Ada thread, so here we go.

Have you try the truly master-race language Holla Forums?


How to start:

Check the John Barnes books.
visit libre.adacore.com

Other urls found in this thread:

rosettacode.org/
en.wikipedia.org/wiki/Ada_Lovelace#Controversy_over_extent_of_contributions
compcert.inria.fr/compcert-C.html
libre.adacore.com/tools/aws/
indeed.com/cmp/Five-Stones-Research-Corporation/jobs/Software-Developer-fab8a21dfe8010e3?q="ada" software engineer
rosettacode.org/wiki/FizzBuzz#Ada
rosettacode.org/wiki/Echo_server#Ada
rosettacode.org/wiki/Echo_server#Racket
rosettacode.org/wiki/Echo_server#Erlang
en.wikipedia.org/wiki/J_(programming_language)
youtube.com/watch?v=QcsbKiyTvcw
r-bloggers.com/google-ai-challenge-languages-used-by-the-best-programmers/
twitter.com/NSFWRedditVideo

Go is superior in nearly every single possible way

And I'm out

Fuck no

Ahhh, to be 12 again, all that edge...

The fact you see "edge" says more about you I think. I'm referring to the tendency of the military to pick horribly bloated and bureaucratic solutions to their tech problems.

There has got to be a reason for this. Has to be worse than COBOL.

Meh. I have programmed various Ada projects while at uni.
While I admit the language is pretty solid, like every old style imperative languages it has yet to catch up with features introduced by Lisp a long time ago.
ie. doesn't have metaprogramming, nor closures
I'm not terribly happy with C++ but I stay with it for the time being.

Probably because all 3 jobs that actually use Ada require 12-15 years of Ada experience and need that guy who's actually been probramming in Ada for 30 years who has published multiple papers on Ada to fix their shit that literally no one else understands.

Wait, that's the exact same thing as COBOL.

...

Neither JS have real time requirements or formal verification.
I don't think you get what this language is for.

I think you're really under-estimating how much work is there and how complex and expensive it is for the military, medical, aerospace and transport industries.

I have worked in there for most of my active life and I agree.

I have masterfully coded 30 years old pieces of software. And most of the current technology is even older than that with just incremental iterations.
The clusterfuck of corruption and endless problems has gone way worse since then.

Was the F35 software written in Ada?

What are some good free resources for learning about Ada?

No, someone had the fucking genius idea of falling back to C because is easier to find (less paid) developers.

It paid well.

check the links of OP

and of course
rosettacode.org/

So Ada isn't used by military/aerospace. Hmm.

I think it is, just not for that particular disaster.

Lisp and Ada are at opposite ends of the spectrum though. Lisp is for allowing absolute programmer flexibility, where as Ada is a strict (maybe the strictest?) compiler out there, making sure you conform to a spec.

Since I'm not in military or aerospace, I really have never encountered Ada. Only recently, the first Ada program I noticed was Synth, a FreeBSD ports management program.

To sell Ada to people outside of government and certain industries, you have to demonstrate advantages it affords them.

Honestly I'm surprised it hasn't been used for more security focused software, and it certainly looks like it'd be nice for writing a web browser in.

en.wikipedia.org/wiki/Ada_Lovelace#Controversy_over_extent_of_contributions
Judging a language by its name is stupid of course.

Oh I see, you're saying Lovelace is the fraud. I think that is more likely just leftist academics embellishing history. Babbage was the genius, and if he found her useful so be it.

The thing to consider though is that if the story is true, Ada was hired on merit and demonstrated talent. This runs in stark contrast to the blue-haired GirlCoders of today. There's nothing wrong with women being in tech, they just need to be legit.

I've heard a story that he claimed she wrote the programs so he could then claim that his machine was so powerful even a woman could do useful things with it.

Sounds like Python.

>compcert.inria.fr/compcert-C.html
Deprecated.
You rarely need threads in embedded stuff.

...

Literally the first thing every Ada compiler have to take care of.
So the same C shit.

I've been saying this for awhile. Rust is a modern attempt at what Ada already is and has been. The big difference in this is that in a mission critical setup, you want a language that has decades of development; only one has that. The Ada community is also much more informed and, ironically enough, would probably be more accepting.

Rust falls short in every way conceivable. It will never be half the language Ada is.

Sounds like PythonRuby.

Fucking c'mon, it's 2016 dude!

Where do you think you are?
>>>/out/

Saying that we have over-attributed achievements to a person does not make that person a fraud.

I never did say she was a fraud, I was disambiguating the other user's statement.

Sorry for being dense. Didn't mean to imply that you are saying that Ada was a fraud, just saying that didn't directly say that Ada was a fraud.

(polite sage for off topic)

You don't understand, the compiler is formally proved ala sel4. Gnat/adacore isn't.

Ada seems fine for embedded systems, but what about networked applications? Let's say the task was to create an efficient distributed chan, would Ada be well suited for the task?

While the compiler verification is certainly an achivement, it doesn't change the fact that your code can still be shit and compile, that's my point

It is possible, but I'm not sure if it is "well suited"

libre.adacore.com/tools/aws/

It's not so much the webserver part I'm talking about, it's the peer to peer networking component and synchronization algorithms (in which there is a lot of room for error).

Perhaps a more concrete question would ask how suited it is for creating something like a torrent client.

... and the reason I'm asking is that these are areas which programmers might consider go or in my case Racket and C.

I take it you're a bit stupid and can't program for shit, otherwise you'd know the answer by now.

this


indeed.com/cmp/Five-Stones-Research-Corporation/jobs/Software-Developer-fab8a21dfe8010e3?q="ada" software engineer

great so i learn ada and i get to go work for some stronk womyn pocohontas bitch. how fitting for ada language. what a joy.

Talk about cherry-picking. If that'd the worst you can find about the language it has to be damn good.

that is the first result.

that is not about the language, that is about the jobs. idiot.

check your privlege cishet scum
you fucking WHITE MALE

Ada was depressed and Babbage insinuated she made useful contributions to cheer her up (and get into her pants).

Probably the most useless reply I have ever seen a moron post on Holla Forums.

I know very little about Ada so I want to know its strengths / weaknesses. Some languages are highly specialized at the expense of others. You probably wouldn't use Erlang for numerical computation.

*specialized in areas

The sign of a true idiot is one who acts all high and mighty, yet when questioned chooses to be dismissive rather than beneficial. Perhaps you're covering for a disparity in your own understanding? If not, then answer the question.

capped for future use

I am pretty sure the F-35 uses C++. The software is also not finished yet.

I have worked in similar projects and I can understand the confusion. Critical code in C++ is basically C with namespaces.

Why?

I had to use this for an intro to CS class a long time ago (90's). It wasn't bad at all, but we didn't delve into any of the OO stuff, just the basics. Even back then a bunch of people had problems getting their code working though. I think the concept of pointers tripped some of them up. But I saw the same happen with a math major who was learning Pascal and was also stuck on pointers. Seems to be a common stumbling block. Maybe that's why stuff like Java became so popular.
Anyway I don't remember anything about the language now, since I didn't have much use for it personally.

Well writen Ada code avoids pointers almost completelly. At the end you just use them for interoperativity with other languages and data structures, and for that you should use the (excelent) standard libraries. (fun fact, the C++ std started as a copy of the Ada one).

Which Ada version would you recommend to an experienced programmer who doesn't know anything about the language? Is it a similar situation to C, where C11 is still not supported well or is it fine to start with Ada2012? Where can I get a short rundown of feature differences between the versions?

Go for Ada 2012, and welcome to the no-nonsensical language club (that C++11 stuff you mention has no place here)
You can see what changes in each version in the language spec document, but except some really old pragmas everything you find on the net should work fine.

Again, check libre.adacore.com and use the GPS IDE, the embedded help is very good.

C11, not C++11. I eat rats, not turds :^)
Thanks for the rec.

comp.lang.ada

Nice, thanks

i would, all that comfy concurrency nigger

Ada looks nice, but what sort of ecosystem does it have for community libraries? I suppose it's not such a big deal if the C interop is convenient, but perhaps there is something I have overlooked.

except returning from garbage collection in time to resume operating a nuclear missile on real time

A nuke's explosion is large enough such that a few microseconds delay won't make any practical difference. CHECK and MATE.

How much do the Adakikes charge for their Pro toolchain and library?


Sounds like an expensive investment.

I remember my team payed something like 17000$ for a 10 people license for a year.
After that you could still use everything, but no maintenance or updates.

Looks expensive?

If your project is small you can always go for the LGPL version of the compiler, it is just a little older.

Not really big. Although interfacing with C is trivial, there are not so many libraries natively written in Ada.
On the other side what you find is usually high quality.

Pfft $17,000 + 10 programmer salaries when all you need is one hardcore lisper who can code that up in a couple days with pizzas and redbulls. l337 coders don't need 'muh constraints' training wheels yo.

Yeah that doesn't seem too much really for that kind of thing, especially if they're going to make guarantees about the quality of the compiler and are willing to indemnify clients against lawsuits. Strange they don't include maintenance in that price range though.

Maybe I didn't explain it well. Obviously, if you want maintenance you have to keep paying the license.

I figured you meant support when you said maintenance.

true, my wrong

...

I forgot to mention this book, it is REALLY good.
It is also a really good resource of learn how OO languages work, even if you're not interested in Ada.

Thanks user

I'm thinking out loud publicly but I'm trying to see where Ada fits in the future. Ada might be a great language for certain problem domains, but I imagine they will have a hard time attractive new developers.


Can Ada really make an advancements into these areas? I imagine if you really specialize, then you could pick out a business case where a trading strategy has certain correctness requirements, but you'd also have to argue against functional languages like OCAML, Haskel, etc.

I know ada is used for massive control systems, but people don't start hacking on those and the categories above are the biggest attractors for luring developers into certain languages. If Ada is a "secret weapon" then we would see some startups using it, perhaps they are, but they're not very vocal.

You say that like anyone in Holla Forums had a job

Not an argument.

Just fucking around.
You're right in your exposition of the languages that can get you a job. ada is nowadays a quite niche language, but some of us believe that it has some uses even today. Basically everything that uses C nowadays could be replaced by Ada, it is really good too for large systems, and everything the Rust people want to use the language for can be done better in Ada.

...

The not an argument guy is someone else, why doesn't this board have ids.

Anyways Ada being good for large systems is certainly true, but those aren't common. Since it can be used to usurp C,C++,Rust and Holla Forums doesn't want to focus on employment
, Holla Forums should write a tiling window manager in Ada. Even haskell has one.

New guy here
So is Ada useful for anything apart from programming jet fighters, nuclear missiles and stealth bombers? Why should one bother learning it?

Military grade fizzbuzz.

rosettacode.org/wiki/FizzBuzz#Ada

The Ada multithreaded echo server is quite a bit verbose, but reasonable (compared to C).

rosettacode.org/wiki/Echo_server#Ada

Apples and Oranges comparison, but Racket and Erlang are just sexy as hell here.

rosettacode.org/wiki/Echo_server#Racket
rosettacode.org/wiki/Echo_server#Erlang

dropped

Not an Ada programmer, but I think $with$ loads the library and $use$ imports the name space into the current one.

ALGOL 68 is more Holla Forums
FOR i TO 100 DO print(((i%*15=0|"FizzBuzz"|:i%*3=0|"Fizz"|:i%*5=0|"Buzz"|i),new line)) OD

Exactly. The use of "use" is discouraged except for common things like ada.text_io.
In large systems the code is much easier to follow when you can see the namespace the function belongs too. Local renaming of namespaces is simple, so everyone uses that.

Code golf has no place in Ada though. It's all about making sure code is readable and easily maintainable in the future.

Fewer characters to type are fewer keystrokse. Avoiding finger strain is more valuable than readability. Code that doesn't cause arthritis is much more easily maintainable than that which does.

I have been convinced. I will now write everything in J.

en.wikipedia.org/wiki/J_(programming_language)

quicksort=: (($:@(#[)) ({~ ?@#)) ^: (1

...

Bumping to resurrect this based language.

IDEs are used to reduce typing count.
however nothing will fix unreadability problem.

More time is spend reading code than it is written.
Cramp should be fixed by other means, keyboard layout, ergonomics, ...

Below a video of Based Barnes ranting a bit about the history of Ada.
youtube.com/watch?v=QcsbKiyTvcw

He's a good speaker.

But why?

Wrong.
Military sector and critical infrastructure, which demand correctness for large programs.
Again, for correctness.

Try a bit harder next time. You can't just spout off "meme language" and expect to sway someone's opinion.

r-bloggers.com/google-ai-challenge-languages-used-by-the-best-programmers/
Lisp