Shill for 'fringe' programming languages

from the zverovich article
THIS
i messed around with julia a year or two ago but she doesn't offer much i can't get from a python + numpy + scipy combo. python + numpy + scipy should be your default when considering numerical and scientific computing. use julia, or octave as a last resort if for some reason you can't go with python. fuck matlab, proprietary language, avoid at all costs.

Ada: I have no experience in this language, but the examples I've seen make it look very attractive: rosettacode.org/wiki/Category:Ada With performance up there with C and C++, except with much better safety, it would likely be well suited for things I want to write. The downside is that it doesn't seem popular outside of defense dept affiliated companies, although PHP is popular and look how shit that is. Rust seems like a modern alternative, but it is still unproven and even if avoiding SJW were the ONLY reason to avoid Rust, I'd still take it.

I'm also going to shill Ada.

Ada is a very big language and you probably won't use all of it in one program. Ada is designed to prevent buffer overflows, dangling references, and memory leaks, and has many features that help you write secure programs. Ada can also be used for systems programming and supports low-level features like inline assembly and address arithmetic.

Ada has many kinds of numeric types and enumeration types, which you can define specific to your program. You can use the hardware standard types, but you can also define your own. Enums can include characters, so you can define your own kinds of strings. There are integer ranges, fixed-point, floating-point, decimal, modular, and more. If you want an array that wraps around, you can use a modular type for the index and don't have to worry about overflows. If you only need digits and a few other characters, you can tell the compiler to pack them into 4 bits or whatever the minimum is. Ada supports multi-dimensional arrays with any discrete type as an index. Arrays can be returned from functions without allocating them on the heap.

Ada has packages, generics, classes, tagged records, interfaces, and a lot of other features which help organize your program and libraries. Packages also show you what parts of the language a program uses. Unsafe features are in separate packages than the safe parts. Tagged records are for method dispatching. Maps, vectors, sets, and math features like matrices and complex numbers are part of the standard library.

Almost every error in Ada has throws exceptions, like array indexing, stack overflow, running out of memory, and numeric overflow, unless you specifically turn them off.

This is so nice. I'm really fussy about standard libraries, and it pisses me off that in C++, their standard is often bemoaned by its users, leading to a reliance on boost. Working through the Ada2012 book at the moment, I think I'll write a simple shell as a first project.

Rust, though it's becoming kind mainstream, which is good. It's not perfect but it comes damn close in my opinion.
Idris, it's shaping up to be basically rust if the default was a gc instead of ownership. It also supports unique types and borrowing, like rust. In principle this allows the GC to stop during sections of the program because no allocations are performed, and so on, which may relieve some of rust's most annoying parts if it works out. Based on haskell though.

Why does Ada attract so many LARPers? Sour grapes over Rust TBHWY

Julia is promising but has not been proven... at all.

Sounds like you're bitter that Ada is still well above Rust in the TIOBE index.

Sour grapes? Ugh, let me know when Rust is powering aircraft control systems and not "safe spaces". Ada is a proven technology, time will tell how Rust fares.

Tabs can be adjusted to any width by other people. What's the point of indentation if you're going to use 2 spaces or 3 spaces, and as a result have your code look like badly structured sideways mountain of spaghetti.