Which language you wish would really grow and reach mainstream adoption?

3 years ago by I Cast Fist to c/programming

Assume mainstream adoption as used by around 7% of all github projects

Personally, I'd like to see Nim get that growth.

burliman 61 points 3 years ago

Esperanto.

path: 0 4991277, hotness: undefined, score: 61, children: 17
railsdev 21 points 3 years ago
path: 0 4991277 4991683, hotness: undefined, score: 21, children: 1
fubo 20 points 3 years ago path: 0 4991277 4991683 4991880, hotness: undefined, score: 20, children: 0
match 11 points 3 years ago

Toki Pona

path: 0 4991277 4992479, hotness: undefined, score: 11, children: 1
lolcatnip 1 point 3 years ago

A language that's hard to say much in even if you know 100% of the vocabulary.

path: 0 4991277 4992479 5010625, hotness: undefined, score: 1, children: 0
maegul 9 points 3 years ago

Sorry to say, but once I realised how euro-centric, and to my ear/eye, latin-centric esparanto is I completely lost interest.

I don't know if anyone has tried, but something which similarly draws influences from the languages that the vast majority of the world speak would be wonderful.

path: 0 4991277 4992696, hotness: undefined, score: 9, children: 7
burliman 12 points 3 years ago

You made me think of that xkcd about standards.

Anyway, the eurocentrism argument, while perhaps true due to the Latin root, seems to be a little bit of a savior complex don’t you think? China itself pushed for Esperanto to be used as a business language internally late last century as I recall.

path: 0 4991277 4992696 4994627, hotness: undefined, score: 12, children: 4
maegul 1 point 3 years ago

savior complex

I don’t see that at all.

It’s about making a language that the maximum amount of cultures can see themselves in, can have at least some familiarity with, and feel like they’ve been acknowledged in the making of a global language … all of which is intended to get maximum buy in around the world to establish a truely international language rather than a Lingua Franca derived from hegemony.

Maybe China was interested in Esperanto for a bit, but I’m betting like most stories like that it’s heavily exaggerated or outright bogus.

path: 0 4991277 4992696 4994627 4995039, hotness: undefined, score: 1, children: 3
spiderplant 1 point 3 years ago

Someone already said that either the created language takes from too few source languages and alienates speakers of languages with no common characteristics or takes from every language family and becomes a horrible mess that's hard to speak for everyone.

So if a world language is a bad idea no matter what languages you use as a source, why not have Esperanto or something similar for Europe/English speaking world and then a different language for Asia, and another one for Africa. You've reduced the number of translators needed and left most people with a language close to their mother tongue. You could also break the suggested regions in to smaller sections eg give Germanic Europe a common Germanic language. West/south Europe get Esperanto, east Europe sets a common slavic language. You still get languages that don't neatly fit like Hungarian but its better for most language learners than the last example.

Personally I'd not propose universal languages as a utopian idea and instead promote indigenous languages such as Catalonian, Breton, Irish and promote learning many languages in a post work society.

path: 0 4991277 4992696 4994627 4995039 5015538, hotness: undefined, score: 1, children: 2
Hawk 4 points 3 years ago

Who cares if it's European sounding, it's still an interesting language that is relatively easy to learn, even for people from non-romance backgrounds.

path: 0 4991277 4992696 4997669, hotness: undefined, score: 4, children: 0
agamemnonymous 3 points 3 years ago

Neo-Indo-European?

The issue is that modern languages are so diverse, you would wind up with a horrid, unusable patchwork.

path: 0 4991277 4992696 5006636, hotness: undefined, score: 3, children: 0
oshitwaddup 6 points 3 years ago

Lojban

path: 0 4991277 4998862, hotness: undefined, score: 6, children: 0
TheV2 5 points 3 years ago

What disrupted the fun for me:

  • the rules for articles before languages, countries and their people
  • everything sounds the same / easy to be misunderstood
  • not nearly as internationally approachable as it could be, though obviously that's almost impossible
path: 0 4991277 4999307, hotness: undefined, score: 5, children: 0
tun 4 points 3 years ago

I think OP means programming language. Not the languages used by human to communicate each other.

path: 0 4991277 5005398, hotness: undefined, score: 4, children: 0
circuitfarmer -2 points 3 years ago
path: 0 4991277 4999636, hotness: undefined, score: -2, children: 1
match 2 points 3 years ago

As a regular person who speaks a non-indo-european language, yeah I thought that was obvious

path: 0 4991277 4999636 5012164, hotness: undefined, score: 2, children: 0
tatterdemalion 57 points 3 years ago

If we're saying 7% is the bar for mainstream, then Rust is my vote.

C# is not even mainstream by that standard.

I'd also like to see Julia used more.

path: 0 4997354, hotness: undefined, score: 57, children: 7
Hawk 4 points 3 years ago

I personally find multiple dispatch far more challenging to use than OOP. I'd reach for Torch over Flux any day.

Although, I really like that the majority of the Flux stack is Julia rather than a collection of Cpp.

path: 0 4997354 4997624, hotness: undefined, score: 4, children: 4
tatterdemalion 3 points 3 years ago

What do you find challenging about multiple dispatch? I don't use Julia for my job, so I can't say I've had enough experience to have a strong opinion. MD seems like a valuable tool though.

path: 0 4997354 4997624 5000033, hotness: undefined, score: 3, children: 3
Hawk 2 points 3 years ago

Simply, the lsp is far less useful. An object might have a dozen methods that act like verbs or some attributes that act as adjectives.

In Julia there is a huge number of functions, that work differently for different types and different combinations of types. So finding the documentation involves finding the right name for a function that does different things for different types, then scrolling down the docs for the the behaviour that corresponds to the specific combination of inputs.

I moved from R/Py to Julia for a while before moving back to Py (and a little bit of Rust).

I love how fast Julia is and the 1-index is fine for me, but I still prefer py for the oop.

path: 0 4997354 4997624 5000033 5015304, hotness: undefined, score: 2, children: 2
tatterdemalion 2 points 3 years ago

So there's no LSP function to just show all of the multi-methods that accept a specific type? That's a pretty serious tooling limitation.

Maybe Julia sounds better in theory than in practice, if the tooling still isn't ready for production use.

path: 0 4997354 4997624 5000033 5015304 5024767, hotness: undefined, score: 2, children: 1
Mkengine 2 points 3 years ago

Where kind I find statistics for this?

path: 0 4997354 5001452, hotness: undefined, score: 2, children: 1
rutrum 7 points 3 years ago

The guy behind the youtube channel Context Free (about programming languages) made this site that tracks language popularity based on github/stack overflow: https://tjpalmer.github.io/languish

path: 0 4997354 5001452 5002963, hotness: undefined, score: 7, children: 0
kleenbhole 33 points 3 years ago

formal English

path: 0 5003991, hotness: undefined, score: 33, children: 2
ICastFist 8 points 3 years ago

You monster

path: 0 5003991 5005080, hotness: undefined, score: 8, children: 0
brezelradar 2 points 3 years ago

Currently out of stock, but what about

use English;
use strict;
path: 0 5003991 5031819, hotness: undefined, score: 2, children: 0
copygirl 31 points 3 years ago

Zig hasn't been mentioned yet, so I'm just going to drop that here.

I personally have enjoyed the meta-programming, the ease of integrating with C libraries, and like that it's pretty straight-forward to compile.

path: 0 5000751, hotness: undefined, score: 31, children: 2
thingsiplay 8 points 3 years ago

Came here for Zig too. I never programmed anything in it other than hello world stuff. I think the world is waiting for the 1.0 release with complete tooling and package manager and a solid foundation that won't change too soon. I watched talks from Andrew and what this guy and his team is doing is amazing. It's a small team.

path: 0 5000751 5002248, hotness: undefined, score: 8, children: 0
otl 6 points 3 years ago

Zig is what I thought Rust would be like when I first heard of Rust. I'd love to try Zig for some hobby things but can't get it running on OpenBSD (yet!).

path: 0 5000751 5001465, hotness: undefined, score: 6, children: 0
zygo_histo_morpheus 25 points 3 years ago

Haskell. I think that more people being familliar with Haskell concepts would be good for programing culture and it would increase the odds of me being able to write Haskell professionally, which is something I enjoy a lot when writing hobby code at least. Having more access to tooling and a bigger eco system would be nice as well.

I'm not a 100% sure about my answer though. For one, I might grow to resent Haskell if I had to use it at work, and there's also a risk that it would be harder to do cool innovative stuff with the language when more big companies depend on it.

path: 0 5011454, hotness: undefined, score: 25, children: 0
redempt 25 points 3 years ago

Rust. I've been using it for a while, and I've been using more software written in it lately. Stuff you make with it is just better in most ways. In other languages, you have to go above and beyond to make your code fully correct, safe, user friendly, and every trait I value in software. Rust makes those things easy, and so people are more willing to do them, and so things that get made in it are better. Oftentimes it's just a matter of pulling in a crate and adding a few lines of code.

path: 0 5015122, hotness: undefined, score: 25, children: 8
AMDIsOurLord 3 points 3 years ago

I just wish Rust's syntax (and devs attitude) wasn't so unpalatably shite

I seriously can't stand that shit but I really like it's ideas

path: 0 5015122 5029470, hotness: undefined, score: 3, children: 7
WatTyler 2 points 3 years ago

I'm learning Rust at the moment and I too think I have some reservations with its syntax. Most of these reservations come from my strong preference for functional programming over OOP.

I am unsure if I like method-syntax period, even if it isn't inherently OO. Chaining just makes me feel uncomfortable in a way piping doesn't.

Also it seems idiomatic for values of enumerated types to be written Type::Enum, which seems ugly and unnecessary.

What'd you make of this article?: https://matklad.github.io/...

path: 0 5015122 5029470 5031627, hotness: undefined, score: 2, children: 1
Miaou 1 point 3 years ago

About the article you linked:

Author is removing every part of the initial function, admitting there are reasons those things are there in the first place, only to be left with a slightly more verbose version of an equivalent python implementation. Well then just use python?

Author also doesn't seem to understand what static polymorphism is/why this specific function is generic. It's not strictly about "bytes", it's about avoiding virtual calls/have nicer API. Author conveniently omits mentioning the clone() calls their version requires from the client call. Or they would make everything automatically cloned, and I already addressed that in the first paragraph I

Finally, standard libraries are notoriously bad examples of "normal" code. They mention it, but still declare that that their example is relevant. If the functions I wrote were compiled and used thousands of times per day I would probably worry more about splitting generic and concrete implementations. I'll take this over anything in the C++ standard library (which is a much more relevant language to compare rust with than e.g. python)

path: 0 5015122 5029470 5031627 5058015, hotness: undefined, score: 1, children: 0
onlinepersona 1 point 3 years ago

I think what you're calling ugly is just static typing. There's no way to make it look beautiful unless you leave the types away, but then you either end up with some kind of dynamically typed looking language by declaring things twice: once with types and then without.

At first glance, sure it would be easier to read, but if you have to look for the types then things get much harder. Either the types will be in comments, on different lines, or in a different file entirely.

It's doubtful you'll find a statically typed language that does a better job. C/C++ look even worse than rust. Go and Zig don't look good either, IMO.

path: 0 5015122 5029470 5044832, hotness: undefined, score: 1, children: 4
vividspecter 1 point 3 years ago

At first glance, sure it would be easier to read, but if you have to look for the types then things get much harder. Either the types will be in comments, on different lines, or in a different file entirely.

This is pretty much how OCaml works and you can omit the types altogether if you don't specify an interface file, in most cases. But it's not hard to deal with in practice since IDEs (and text editor + LSP plugin) can easily show the inferred type on inspection.

Nevertheless, I don't really find Rust to be ugly either.

path: 0 5015122 5029470 5044832 5053109, hotness: undefined, score: 1, children: 0
AMDIsOurLord 1 point 3 years ago

I'm a long time C user Almost everything I write is in some strongly typed language lol

I still find C much easier to read and understand than any large Rust codebase

path: 0 5015122 5029470 5044832 5045325, hotness: undefined, score: 1, children: 2
Miaou 1 point 3 years ago

C is not strongly typed

path: 0 5015122 5029470 5044832 5045325 5057322, hotness: undefined, score: 1, children: 1
caret 25 points 3 years ago

Rust! Memory leak free code would make our world a better place!

path: 0 5003319, hotness: undefined, score: 25, children: 12
IAm_A_Complete_Idiot 9 points 3 years ago

Rust doesn't guarantee the lack of memory leaks anymore then java/C++ does, so sadly not sure if it would help here. :)

path: 0 5003319 5005455, hotness: undefined, score: 9, children: 10
hairyballs 2 points 3 years ago

We can go further, I think it's impossible to prevent memory leaks in a general purpose language

path: 0 5003319 5005455 5011342, hotness: undefined, score: 2, children: 1
philm 2 points 3 years ago

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...

path: 0 5003319 5005455 5011342 5013377, hotness: undefined, score: 2, children: 0
Rin 1 point 3 years ago
path: 0 5003319 5005455 5009119, hotness: undefined, score: 1, children: 7
IAm_A_Complete_Idiot 18 points 3 years ago

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/...

Rust only prevents memory unsafety - and memory leaks are perfectly safe. It's use after frees, double frees, etc. It prevents.

path: 0 5003319 5005455 5009119 5010220, hotness: undefined, score: 18, children: 6
hairyballs 9 points 3 years ago

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.

path: 0 5003319 5005455 5009119 5010220 5011384, hotness: undefined, score: 9, children: 0
zygo_histo_morpheus 1 point 3 years ago

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.

path: 0 5003319 5005455 5009119 5010220 5011350, hotness: undefined, score: 1, children: 4
philm 8 points 3 years ago

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)

path: 0 5003319 5013343, hotness: undefined, score: 8, children: 0
loics2 21 points 3 years ago

Elixir... please I want an Elixir job

path: 0 4990961, hotness: undefined, score: 21, children: 1
flakpanzer 4 points 3 years ago

Elixir is such a beautifully designed language, my favorite language BY FAR.

(I want an Elixir job too 🥹 )

path: 0 4990961 5007451, hotness: undefined, score: 4, children: 0
alflennik 20 points 3 years ago

I’m obsessed with an extremely little known language called Grain. It’s not quite ready for production but it has an insanely intuitive functional syntax that I want to use noww.

path: 0 4990680, hotness: undefined, score: 20, children: 4
davawen 2 points 3 years ago

Interesting!
I see OCaml with rust syntax, for the web, which checks out the project goal of bringing functional patterns to everyday programmers.

path: 0 4990680 5015100, hotness: undefined, score: 2, children: 0
lascapi 1 point 3 years ago

One of the most exciting things about Grain is that it compiles to WebAssembly.

That's a cool feature.

What is the particularity that you talked about?
In my point of view it looks like JS/TS with arrow functions. 😁

path: 0 4990680 5001538, hotness: undefined, score: 1, children: 1
spartanatreyu 1 point 3 years ago

it looks like JS/TS with arrow functions.

JS/TS already has arrow functions.

path: 0 4990680 5001538 5027812, hotness: undefined, score: 1, children: 0
morrowind 1 point 3 years ago

Could you give some examples of what you like so much?

path: 0 4990680 5027592, hotness: undefined, score: 1, children: 0
rutrum 19 points 3 years ago

Futhark: a functional language that can be compiled to run in parallel on cpu or gpu. (No need to write cuda directly) https://futhark-lang.org

path: 0 5003032, hotness: undefined, score: 19, children: 0
railsdev 18 points 3 years ago
path: 0 4991689, hotness: undefined, score: 18, children: 7
NixDev 5 points 3 years ago

Until recently I never heard of crystal. There is a humble bundle for programming that includes a crystal book. That was the first time I heard of it.

I will have to take a look at the language. Who knows when having knowledge of crystal will be useful

path: 0 4991689 4992319, hotness: undefined, score: 5, children: 0
bitcrafter 2 points 3 years ago

I'd be interested in hearing what it is about the language that has gotten you so excited about it.

path: 0 4991689 5034128, hotness: undefined, score: 2, children: 1
railsdev 2 points 3 years ago
path: 0 4991689 5034128 5040707, hotness: undefined, score: 2, children: 0
morrowind 2 points 3 years ago path: 0 4991689 5027609, hotness: undefined, score: 2, children: 1
railsdev 1 point 3 years ago
path: 0 4991689 5027609 5041892, hotness: undefined, score: 1, children: 0
ICastFist 2 points 3 years ago

What could be the "killer app" for Crystal is an equivalent of Rails, since its syntax attempts to be very similar to Ruby. Even supposing it maintains all of Rails' inefficiencies, if it "just works" and has a very small learning curve for RoR veterans, adoption could grow steadily

path: 0 4991689 5033390, hotness: undefined, score: 2, children: 1
railsdev 1 point 3 years ago
path: 0 4991689 5033390 5048577, hotness: undefined, score: 1, children: 0
simonced 17 points 3 years ago

Some LISP going mainstream woulb be great!

path: 0 4997506, hotness: undefined, score: 17, children: 4
crimsonpoodle 3 points 3 years ago

(defun clever-comment (comment) (if (equal (count-parentheses comment) (* 2 (count-letters ’LISP))) ’Clever ’Not-Clever))

path: 0 4997506 5000324, hotness: undefined, score: 3, children: 3
mtchristo 3 points 3 years ago

Vertigo inducing syntax .

path: 0 4997506 5000324 5001727, hotness: undefined, score: 3, children: 2
derpgon 7 points 3 years ago

Not many people know LISP actually stands for "Lots of Irritating and Stupid Parentheses"

path: 0 4997506 5000324 5001727 5007975, hotness: undefined, score: 7, children: 0
lolcatnip 5 points 3 years ago

It's really not bad, just unfamiliar.

path: 0 4997506 5000324 5001727 5010590, hotness: undefined, score: 5, children: 0
superb 17 points 3 years ago path: 0 4997640, hotness: undefined, score: 17, children: 2
sjpwarren 7 points 3 years ago

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

path: 0 4997640 5013555, hotness: undefined, score: 7, children: 1
superb 3 points 3 years ago
path: 0 4997640 5013555 5014841, hotness: undefined, score: 3, children: 0
ada 14 points 3 years ago

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

#adalang

path: 0 5001958, hotness: undefined, score: 14, children: 2
CommunityLinkFixer 7 points 3 years ago

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: !ada@programming.dev

path: 0 5001958 5001961, hotness: undefined, score: 7, children: 1
ada 3 points 3 years ago

I'm new to Lemmy. Appreciate the heads-up, thank you! 👍

path: 0 5001958 5001961 5003282, hotness: undefined, score: 3, children: 0
BigDanishGuy 13 points 3 years ago

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.

path: 0 5000016, hotness: undefined, score: 13, children: 4
valpackett 3 points 3 years ago path: 0 5000016 5029188, hotness: undefined, score: 3, children: 0
ICastFist 1 point 3 years ago

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

path: 0 5000016 5005198, hotness: undefined, score: 1, children: 2
257m 2 points 3 years ago

Solution: everyone speaks in some form of IR.

path: 0 5000016 5005198 5012572, hotness: undefined, score: 2, children: 1
ICastFist 1 point 3 years ago

So, brainfuck assembly?

path: 0 5000016 5005198 5012572 5014987, hotness: undefined, score: 1, children: 0
cashews_best_nut 13 points 3 years ago

Clojure deserves more love.

path: 0 5025420, hotness: undefined, score: 13, children: 1
MrScottyTay 2 points 3 years ago

I really enjoyed Clojure in uni but i have no reason to use it in my day to day work

path: 0 5025420 5029546, hotness: undefined, score: 2, children: 0
danhab99 12 points 3 years ago

Go. I love writing go, its so simple and predictable and the accessability of multithreading and being allowed to create as many "threads" as I want make me feel smart as fuck.

path: 0 4997948, hotness: undefined, score: 12, children: 2
otl 7 points 3 years ago

Would you say Go is popular enough to be called mainstream?

path: 0 4997948 5001486, hotness: undefined, score: 7, children: 1
morrowind 6 points 3 years ago

Go is definitely mainstream imo, and it's backed by google.

path: 0 4997948 5001486 5027516, hotness: undefined, score: 6, children: 0
WatTyler 12 points 3 years ago
{-# LANGUAGE OverloadedStrings #-}

import qualified Data.Text as T (Text)

correctAnswer :: T.Text
correctAnswer = "Haskell"
path: 0 5000535, hotness: undefined, score: 12, children: 0
AlmightySnoo 12 points 3 years ago path: 0 4991958, hotness: undefined, score: 12, children: 1
ISometimesAdmin 4 points 3 years ago

I actually bought the second edition of Mastering Nim paperback the other day! Should be arriving tomorrow, hopefully.

I had fun dogfooding my interview problem in it, I feel like it's basically step forward as far as modern syntaxes go.

path: 0 4991958 4999154, hotness: undefined, score: 4, children: 0
tfkhdyt 11 points 3 years ago

Rust

path: 0 5005631, hotness: undefined, score: 11, children: 0
abhibeckert 10 points 3 years ago

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.

path: 0 5025141, hotness: undefined, score: 10, children: 1
killeronthecorner 4 points 3 years ago

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).

path: 0 5025141 5029033, hotness: undefined, score: 4, children: 0
bnjmn 9 points 3 years ago

I would LOVE for Nim to get more web stuff

path: 0 4997202, hotness: undefined, score: 9, children: 0
CIAvash 9 points 3 years ago

Raku

path: 0 4999720, hotness: undefined, score: 9, children: 0
rockSlayer 8 points 3 years ago

Super niche, but I wish wren caught on. It's a language very similar to lua, but indexes start at 0. Also it has some cool features too, but mostly the index thing.

path: 0 4996206, hotness: undefined, score: 8, children: 1
thtroyer 2 points 3 years ago

Wow, that looks really nice!

I use Lua for PICO-8 stuff and it works well enough, but certain parts are just needlessly clumsy to me.

Looks like TIC-80 supports wren. Might have to give that a try sometime!

path: 0 4996206 5008347, hotness: undefined, score: 2, children: 0
little_hermit 8 points 3 years ago

Klingon

path: 0 4992091, hotness: undefined, score: 8, children: 1
kuneho 6 points 3 years ago

most of the apps written in Klingon would have the "today is a good day to die" directive, which means no exception handling at all and bringing the whole OS down in glory if needed

path: 0 4992091 5000063, hotness: undefined, score: 6, children: 0
RiikkaTheIcePrincess 8 points 3 years ago

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

path: 0 4996152, hotness: undefined, score: 8, children: 6
Andy 3 points 3 years ago

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

path: 0 4996152 5000339, hotness: undefined, score: 3, children: 4
CommunityLinkFixer 2 points 3 years ago

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: !concatenative@programming.dev

path: 0 4996152 5000339 5000357, hotness: undefined, score: 2, children: 0
RiikkaTheIcePrincess 2 points 3 years ago

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

path: 0 4996152 5000339 5003649, hotness: undefined, score: 2, children: 2
Andy 2 points 3 years ago

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?

path: 0 4996152 5000339 5003649 5017502, hotness: undefined, score: 2, children: 1
RiikkaTheIcePrincess 2 points 3 years ago

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

path: 0 4996152 5000339 5003649 5017502 5027952, hotness: undefined, score: 2, children: 0
tatterdemalion 3 points 3 years ago

If you like Haskell but desire better tooling, you might consider checking out Lean4.

path: 0 4996152 4997484, hotness: undefined, score: 3, children: 0
WillyWonksters 5 points 3 years ago path: 0 5042650, hotness: undefined, score: 5, children: 2
ICastFist 6 points 3 years ago

An alternative to regex sounds interesting, too bad their site lacks proper examples and, more importantly, side by side examples of equivalent regex, that's the best way to sell such an idea.

path: 0 5042650 5049847, hotness: undefined, score: 6, children: 0
314xel 1 point 3 years ago

Tanks for this, first time I learn about Rosie, seems promising.

path: 0 5042650 5053539, hotness: undefined, score: 1, children: 0
Kimusan 5 points 3 years ago

Perl

path: 0 5008374, hotness: undefined, score: 5, children: 2
ook_the_librarian 10 points 3 years ago

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?!

path: 0 5008374 5020376, hotness: undefined, score: 10, children: 0
lolcatnip 3 points 3 years ago

Gross.

path: 0 5008374 5010463, hotness: undefined, score: 3, children: 0
Kolanaki 5 points 3 years ago

I've heard of one I don't know the name of that is trying to make it so you can just write the program with natural English kind of like how AI works off of prompts. Having grown up watching Star Trek and seeing how they would "write" holodeck programs by just giving the computer a detailed explanation of the program they wanted to run always made me wish we could do that IRL.

path: 0 4990709, hotness: undefined, score: 5, children: 3
kakes 12 points 3 years ago

Inform 7 is the closest I'm aware of, for creating text adventure games.

Honestly, I prefer the control that comes with a more syntactically consistent grammar, but I definitely see a use-case for a higher level tool for non-programmers, or for prototyping.

path: 0 4990709 4991066, hotness: undefined, score: 12, children: 0
tastysnacks 4 points 3 years ago

If AI ever solves the DWYM problem, we're in trouble. Fortunately, it'll probably solve it the way a programmer does.

path: 0 4990709 4990896, hotness: undefined, score: 4, children: 1
Kolanaki 3 points 3 years ago

Hey, we'd still need programmers to keep the AI wrangled, wouldn't we? Like how robot workers would still need maintenance people. 😟

path: 0 4990709 4990896 4990959, hotness: undefined, score: 3, children: 0
valpackett 3 points 3 years ago

So many things already mentioned, I guess the most original thing I can say would be Nushell :)

Gleam also maybe?

path: 0 5029283, hotness: undefined, score: 3, children: 0
NAXLAB 3 points 3 years ago

Ithkuill

path: 0 5012874, hotness: undefined, score: 3, children: 1
nonfuinoncuro 1 point 3 years ago

I was going to say lojban but this works too

path: 0 5012874 5018770, hotness: undefined, score: 1, children: 0
silas 3 points 3 years ago

I think we can all agree on JavaScript
/s

path: 0 5025089, hotness: undefined, score: 3, children: 1
elxeno 4 points 3 years ago

javascript

path: 0 5025089 5032457, hotness: undefined, score: 4, children: 0
steventrouble 3 points 3 years ago
path: 0 5044404, hotness: undefined, score: 3, children: 0
Andy 2 points 3 years ago

Factor!

I mentioned it in a reply but it deserves its own top-level answer.

path: 0 5039133, hotness: undefined, score: 2, children: 0
MalditoBarbudo 2 points 3 years ago

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

path: 0 5090010, hotness: undefined, score: 2, children: 0
Asudox 1 point 3 years ago

Malbolge

path: 0 5111543, hotness: undefined, score: 1, children: 0
AdrianContre 0 points 3 years ago

codsu

path: 0 5030834, hotness: undefined, score: 0, children: 1
AdrianContre -1 points 3 years ago

hi

path: 0 5030834 5032655, hotness: undefined, score: -1, children: 0
iFarmGolems 0 points 3 years ago

Uiua!

path: 0 5030422, hotness: undefined, score: 0, children: 1
qaz 3 points 3 years ago
⇌[⍥⊃+⊙∘10 1 0]

Please no

path: 0 5030422 5032848, hotness: undefined, score: 3, children: 0
AdrianContre -1 points 3 years ago

I'm testing for a development project for degree

path: 0 5014497, hotness: undefined, score: -1, children: 0
Immersive_Matthew -7 points 3 years ago

Many here will hate this, but I am looking forward to just using English language to program and let AI handle all the minutia.

path: 0 4999539, hotness: undefined, score: -7, children: 9
yogsototh 13 points 3 years ago

“Hi computer! Write me a program that make money. I must just run it and I become rich.”

path: 0 4999539 5000999, hotness: undefined, score: 13, children: 1
ICastFist 3 points 3 years ago

Computer makes a blockchain. "Here you go! Keep running it in the background then just sell the mined coins!"

path: 0 4999539 5000999 5033448, hotness: undefined, score: 3, children: 0
UraniumBlazer -9 points 3 years ago

I don't know why you're being downvoted, but this could truly be the future of programming languages. We don't have to manually compile everything to assembly today, do we? Imagine simply using English for pseudocode, with an AI compiler that writes the most performant code.... How much would that speed up development time? Noone would need to know different languages.... The learning curve for programming relatively basic shit would be low.

I dunno, but I've seen a lot of unecessary hate for AI in the left leaning communities....

path: 0 4999539 5000266, hotness: undefined, score: -9, children: 6
robinm 13 points 3 years ago

Syntax has never really be an issue. The closest thing to plain english programming are legal documents and contracts. As you can see they are horrible to understand but that the only way to correctly specify exactly what you want. And code is much better at it. Another datapoint are visual languages like lego mindstorm or LabView. It's quite easy to do basic things, but it doesn't scale at all.

path: 0 4999539 5000266 5001163, hotness: undefined, score: 13, children: 2
UraniumBlazer 2 points 3 years ago

Syntax has never really be an issue.

But it has tho.... For example, I do not know rust. I want to add the notifications functionality to Lemmy. Lemmy is in rust. To implement this relatively simply api, I need to learn rust to a degree. Then, I need to look at Lemmy's file structure to understand the project further to actually do what I want to do. What if this all could be abstracted by me simply saying "post xyz to the expo-notifications server whenever someone messages someone." An AI English-to-rust interpreter could easily do this.

The closest thing to plain english programming are legal documents and contracts. As you can see they are horrible to understand but that the only way to correctly specify exactly what you want.

This is what would define the smartness of the AI, wouldn't it? Your project manager doesn't tell you exactly what they want. You have the brains to interpret what they mean and do stuff accordingly, correct?

path: 0 4999539 5000266 5001163 5010477, hotness: undefined, score: 2, children: 1
jasory -1 points 3 years ago

This requires many assumptions that you or any computational system have no formal reason to make. Having an interpreter that just guesstimates exactly how you want the program structured, is going to run into problems when you, say want to extend the program.

path: 0 4999539 5000266 5001163 5010477 5034583, hotness: undefined, score: -1, children: 0
coloredgrayscale 5 points 3 years ago

A compiler has mostly fixed rules for translation. The English language often is ambiguous and there are many ways to implement something based on a verbal description.

Programming by using the ai as a "compiler" would likely lead to many bugs that will be hard to impossible to trace without knowing the underlying implementation. But hitting compile again may lead to an accidental correct implementation and you'd be none the wiser why the test suddenly passes.

It's ok as an assistant to generate boilerplate code, and warn you about some bugs / issues. Maybe a baseline implementation.

But by the time you've exactly described what and how you want it you may as well just write some higher level code.

path: 0 4999539 5000266 5000823, hotness: undefined, score: 5, children: 1
UraniumBlazer 1 point 3 years ago

A compiler has mostly fixed rules for translation.

Some compilers are simple, while some are complicated. An AI compiler would of course be very complicated. However, it still would have "fixed rules". It's just that these rules would be decided by itself. If u r a software dev, u r also an English-to-xyz-language-compiler. You do what your client tells u to do more or less correctly, right? Junior devs do what senior devs tell them to do kinda correctly, right? An AI compiler would be the same thing.

Programming by using the ai as a "compiler" would likely lead to many bugs that will be hard to impossible to trace without knowing the underlying implementation.

Bugs would be likely if your AI compiler was dumb. The probability of bugs would reduce drastically if ur AI compiler was trained more/on better data.

It's ok as an assistant to generate boilerplate code, and warn you about some bugs / issues. Maybe a baseline implementation.

That is the state of AI today. What you are describing are the capabilities of current AI models. However, I cannot see how this is a criticism of the idea of AI compilers themselves.

But by the time you've exactly described what and how you want it you may as well just write some higher level code.

Again. The smarter your model, the more you can abstract your stuff.

path: 0 4999539 5000266 5000823 5010716, hotness: undefined, score: 1, children: 0
Immersive_Matthew 1 point 3 years ago

Downvotes seem to be from denial based on the comments.

path: 0 4999539 5000266 5024170, hotness: undefined, score: 1, children: 0
programming
programming

@programming.dev

login for more options
28803
3719
3327

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev


go to feed...