Assume mainstream adoption as used by around 7% of all github projects
Personally, I’d like to see Nim get that growth.
Ithkuill
I was going to say lojban but this works too
I would like to see Ada grow. Its clean syntax, rich expressive capabilities, and early error detection by the compiler due to strict typing create a very pleasant experience during development. This year, the language got a new standard. Recently, a package manager and a community index were created. There’s an extension/LSP for vscode, etc. Along with great educational materials on learn.adacore.com, it’s easy to pick up and start using this language.
PS I created a community on p.d two days ago: https://programming.dev/c/ada
Hi there! Looks like you linked to a Lemmy community using a URL instead of its name, which doesn’t work well for people on different instances. Try fixing it like this: [email protected]
I’m new to Lemmy. Appreciate the heads-up, thank you! 👍
R
I know is not considered a “proper” programming language by some, but I’ve been working with it for years for scientific data analysis and I love it
Rust! Memory leak free code would make our world a better place!
Rust doesn’t guarantee the lack of memory leaks anymore then java/C++ does, so sadly not sure if it would help here. :)
Help me understand your point of view. How does Rust not prevent memory leaks?
There’s built in functions to leak memory that are perfectly safe. You can also do one really trivially by making a reference count cycle. https://doc.rust-lang.org/book/ch15-06-reference-cycles.html
Rust only prevents memory unsafety - and memory leaks are perfectly safe. It’s use after frees, double frees, etc. It prevents.
And here you’re only talking about a subset of memory leaks, by inaccessible memory. You can also leak memory by pushing new elements in a channel while never reading them for example.
You are absolutely correct that rusts safety features don’t extend to memory leaks, but it’s still better than most garbage collected languages unless you abuse Rc or something, and it does give you quite fine-grained controll over lifetimes, copying and allocations on the heap which in practice means that rust is fairly good about memory leakages compared to most languages.
Reference counting is a GC though ?
It’s a bad one sure and will leak memory in cases of a cycle which most tracing GC are able to do.
It’s main advantage is that there are no GC pauses.
I think you know what I mean when I contrast Rust with GC’d languages, we can call it opt-in garbage collection if we’re being pedantic.
How would rust fare any better then a tracing GC? Realistically I’d expect them to use more memory, and also have worse determinism in memory management - but I fail to really see a case where rust would prevent memory leaks and GC languages wouldn’t.
If you just Rc everything (which I’d count as “abusing Rc”) Rust is significantly worse than a language with a good GC. The good thing about Rust is that it forces you to aknowledge and consider the lifetimes of objects. By default things are allocated on the stack, but if you make something global or dynamically handled (e.g. through Rc) you have to do so explicitly. In Rust the compiler has greater compile time information about when things can be freed which means that you need less runtime overhead to check things and if you want to minimize the amount of potentially long-lived objects you can more easily see how long objects might live by reading the code as well as get help by the compiler to determine if a lifetime-based refactoring is sound or not.
We can go further, I think it’s impossible to prevent memory leaks in a general purpose language
Not without a super fancy type system that has to be still found. I think the key issue is cyclic data-structures (e.g. doubly-linked list). The language somehow needs to have strong/weak pointers and automatically determining them is a very complex research question…
At this point, I think it’s almost mainstream, and it’s still growing fast (and it’s getting better, rust-analyzer is really awesome these days, I was there at the beginning, no comparison to today…))
I may be biased, but I think it’ll be the next big main language probably leaving other very popular ones behind it in the coming decade (Entry barrier and ease of use got much better over the last couple years, and the future sounds exciting with stuff like this)
formal English
You monster
Currently out of stock, but what about
use English; use strict;
{-# LANGUAGE OverloadedStrings #-} import qualified Data.Text as T (Text) correctAnswer :: T.Text correctAnswer = "Haskell"
Perl
Gross.
I love perl. It feels like I’m just writing exactly what I’m thinking. But then when I go to read it, I get the horrific feeling that jesus christ, this is how I think?!
Some LISP going mainstream woulb be great!
(defun clever-comment (comment) (if (equal (count-parentheses comment) (* 2 (count-letters ’LISP))) ’Clever ’Not-Clever))
Vertigo inducing syntax .
It’s really not bad, just unfamiliar.
Not many people know LISP actually stands for “Lots of Irritating and Stupid Parentheses”
Malbolge
Swift.
It’s a wonderful language, it’s general purpose, it’s cross platform, and it’s open source (Apache license). I wish it was a mainstream language outside the of the Apple universe.
What I love the most is it’s so flexible. It’s a full featured OOP language, a full featured Procedural language, a full featured Functional language, a full featured declarative language, and you can relatively easily make it work with anything else you can think of.
It also has the best concurrency system I’ve ever seen - and with high performance computing relying so much on parallel computing these days that’s a must and often what I miss the most in other languages.
A lot of other languages do some things just as well as Swift, but Swift does everything really well.
Completely agree. Unfortunately Apple will need to start treating Swift on non-Apple platforms as a first class citizen for it to achieve any sort of wider popular use.
When Lattner left, it was a signal that they were unlikely to ever move in that direction. Since then, I’d say they’ve moved further away if anything. They certainly made a hell of mess introducing SwiftUI and Combine (though glad to say things have recovered significantly since then).
codsu
hi
I’m testing for a development project for degree
Pony! Its actor based, with a really interesting type system
It’s a pity there is not 1 code example on the Front Page. I spent a few minutes trying to find a page with some code and all I found was Why, Why Not, what is different etc and not any code examples so I am out. Look at Zig within seconds I can see if I like the syntax, does it make sense to me. I would love to know what Pony lang looks like. I might like it but it seems like
I totally agree, it’s one of the reasons it took awhile for me to try it out. If you’re interested, I put together a ray tracer in pony awhile ago, and it was more than up to the task. This is the only large project I made in pony so it might not be the highest quality example: https://github.com/edison-moreland/SceneEngine/blob/main/render_core/main.pony
Some fun stack-based concatenative language (like Forth or Min) :3 I like playing with odd/new-to-me things that change how I have to approach things in some way. … Also I wanna find a Forth community I can stand 😅 That or maybe a similar low-level language, I suppose. I was thinking of using it for a project but… eegh. Bleh. Et cetera. Still might, but purely on my own terms I guess.
Also, more Haskell please >:3 Or something else like it. We must spread the glory of FP nerdery @.@ …And maybe get some more useful (and maintained) packages to work with instead of just kinda having to wonder what even builds any more v.v
There are some concatenative-related discord links in the sidebar of https://programming.dev/c/concatenative you may or may not be able to stand.
Anyway answering the main post: Factor (stack/concatenative), Nim, Roc, Zsh
Hi there! Looks like you linked to a Lemmy community using a URL instead of its name, which doesn’t work well for people on different instances. Try fixing it like this: [email protected]
Interesting commagazine! … I don’t seem to be able to get to it through kbin :( Am already digging around in there, though, so thanks for the tip :3
Sorry I don’t know how to kbin yet. Maybe the link provided by the bot that replied to me is better?
Are there any concatenative/stack/Factor kbin magazines you know of?
I don’t even see the bot from here. Bleeeeeh maybe I just need to give up and jump ship to a Lemmy instance 😅 Is not your fault, of course.
I don’t think I’d encountered any such commagazines (why’d they have to be named both?!) and that’s why I was excited to learn about the one you mentioned. I’ve already started peeking around in there and finding some interesting tidbits :3
If you like Haskell but desire better tooling, you might consider checking out Lean4.
Assembly, which flavor IDK but some RISC architecture.
If everyone spoke assembly the world would be a very different experience. I’m not saying that it would be better or worse, but it’d definitely be different.
I think the problem is that processors can have slightly different instruction sets, possibly less likely with ARM and RISC (Reduced Instruction, after all), and how they interpret bits and jumps (big endian, low endian). Chibi Akumas has a lot of material for learning assembly of various CPUs, including older ones like 68k and 6502, something I’m doing on and off once in a while
Solution: everyone speaks in some form of IR.
So, brainfuck assembly?