- cross-posted to:
- programmerhumor@lemmy.ml
- cross-posted to:
- programmerhumor@lemmy.ml
cross-posted from: https://lemmy.ml/post/39334581
Meanwhile Haskell:
=
too bad they chose
::for type declaration instead of:
Related: Every
Fnkey on a keyboard is a missed opportunity! That’s not fun at all!
def ():is pretty niceEdit: also as someone doing a bunch of CI work right now, Bash can GTFO (unless the alternative is whatever Windows is doing)
Nushell is pretty nice. It’s the good parts of “what Microsoft is doing”, i.e. real structured data in a shell-like language and real error handling.
Not sure I’d call what bash has functions. They’re closer to subroutines in Basic than functions in other languages, as in you can’t return a value from them (they can only return their exit code, and you can capture their stdout and stderr). But even then, they are full subshells. It’s one of the reasons I don’t really like Bash, you’re forced into globally or at least broadly-scoped variables. Oh, and I have no clue right now how to find where in your pipe you got a non-null exit code.
It’s not a big problem for simple scripting, but it makes things cumbersome once you try to do more.
I really like bash when dealing with even somewhat advanced scripting. Like the 300 LOC scraper I have written over the past two days which horribly parses HTML files using grep | sed.
It’s genuinely so much more fun to do this with Bash than, say, Python. I have once written a scraper using Beautifulsoup and I have no desire to do so ever again.
Honestly, only Haskell manages to beat Bash in how satisfying it feels when you manage to get something working well.
Bash has its upsides too, like the fact that it has arrays / lists and dictionaries / hashmaps. In my opinion, it gets iffy though when you need to do stuff with IFS; at that point one might be better off just using specialized tools.
Not saying working bash isn’t good enough, but it can break in very surprising ways is my experience.
Kotlin also lets you do
fun x() = y()In the language Gulf of Mexico,
you can use any letters from the word “function” (as long as they’re in order)
union foo () => ()Naming
Both variables and constants can be named with any Unicode character or string.
const const letter = 'A'! var const 👍 = True! var var 1️⃣ = 1!This includes numbers, and other language constructs.
const const 5 = 4! print(2 + 2 === 5)! //trueThis is a recipe for disaster I kinda wanna try
Just looking through this as a fledgling barely-coder…
…It inspires fear. Terror, even. LMAO

If you’re unsure, that’s ok. You can put a question mark at the end of a line instead. It prints debug info about that line to the console for you.
print("Hello world")?Fucking sold, I was gonna learn rust but you’ve changed my mind
C++ has
[]{}.(You can also add more brackets if you wish to do nothing longer:
[]<>[[]]()[[]]{}())Then rust has
||{}Sadly we can’t add more complexity without adding an argument:
|_:&'_[()]|{}
Anyone tried lisp? Looks something like this. ((()))()())))
Bash was derived by a team of criminally insane programmers in the bowels of a South American asylum so deep in the jungle no country can rightfully claim it as its own. It is the product of the demented keystrokes of the damned, possessing a singular logic so alien that its developers can hardly be said to be human at all.
And I wouldn’t have it any other way.
JS:
() => {}C++ [](){} looks nice.
basic:
def fnWhile
Cfeels fine without having a keyword for function, I feel likebashwould have benefitted from it.







