this post was submitted on 11 Oct 2024
827 points (98.1% liked)

Programmer Humor

32760 readers
648 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

cross-posted from: https://lemmy.zip/post/24335357

top 50 comments
sorted by: hot top controversial new old
[–] Ptsf@lemmy.world 165 points 2 months ago (3 children)

Isn't it all unicode at the end of the day, so it supports anything unicode supports? Or am I off base?

[–] dohpaz42@lemmy.world 72 points 2 months ago (2 children)

Ssh! 🫢 You’ll ruin the joke!

[–] thanks_shakey_snake@lemmy.ca 25 points 2 months ago (2 children)

Okay but how does starting a secure shell help?

[–] tetris11@lemmy.ml 10 points 2 months ago

Are you serious? I just explained that to you two seconds ago

[–] dohpaz42@lemmy.world 3 points 2 months ago

Well for one, it encrypts all communications so that people can’t snoop on what you’re doing.

[–] Ptsf@lemmy.world 6 points 2 months ago
[–] NeatNit@discuss.tchncs.de 25 points 2 months ago (2 children)

Yes, but the language/compiler defines which characters are allowed in variable names.

[–] thevoidzero@lemmy.world 5 points 2 months ago (1 children)

I thought the most mode sane and modern language use the unicode block identification to determine something can be used in valid identifier or not. Like all the 'numeric' unicode characters can't be at the beginning of identifier similar to how it can't have '3var'.

So once your programming language supports unicode, it automatically will support any unicode language that has those particular blocks.

[–] NeatNit@discuss.tchncs.de 4 points 2 months ago (7 children)

Sanity is subjective here. There are reasons to disallow non-ASCII characters, for example to prevent identical-looking characters from causing sneaky bugs in the code, like this but unintentional: https://en.wikipedia.org/wiki/IDN_homograph_attack (and yes, don't you worry, this absolutely can happen unintentionally).

[–] toastal@lemmy.ml 8 points 2 months ago* (last edited 2 months ago) (1 children)

OCaml’s old m17n compiler plugin solved this by requiring you pick one block per ‘word’ & you can only switch to another block if separated by an underscore. As such you can do print_แมว but you couldn’t do pℝint_c∀t. This is a totally reasonable solution.

load more comments (1 replies)
load more comments (6 replies)
[–] sukhmel@programming.dev 3 points 2 months ago (1 children)

Yes, but it still is about language, not game engine.

Albeit technically, the statement is correct, since it is more specific.

[–] HK65@sopuli.xyz 6 points 2 months ago (2 children)

Yeah, but this particular language is a feature of the game engine. It's its own thing called GDScript.

load more comments (2 replies)
[–] Faresh@lemmy.ml 9 points 2 months ago (7 children)

I think they exclude some unicode characters from being use in identifiers. At least last I tried it wouldn't allow me to use an emoji as a variable name.

load more comments (7 replies)
[–] SnotFlickerman@lemmy.blahaj.zone 90 points 2 months ago (1 children)

Let's hope Ea-nāṣir's code is better than his copper.

[–] MonkeMischief@lemmy.today 33 points 2 months ago

I hear it's prone to Rust.

[–] maniel@sopuli.xyz 89 points 2 months ago (3 children)
[–] TheOakTree@lemm.ee 13 points 2 months ago (1 children)

Thank you for this cursed knowledge.

[–] 00L10@feddit.org 5 points 2 months ago

May I introduce you to emojicode...

[–] lunarul@lemmy.world 8 points 2 months ago (1 children)

Am I blind? I can't see where 👀 is defined.

[–] 0x0@lemmy.dbzer0.com 10 points 2 months ago* (last edited 2 months ago) (1 children)

Take a look at all the struct definition. It's a pure virtual method of 🍴 with a bunch of overrides in the structs that inherit from 🍴.

load more comments (1 replies)
load more comments (1 replies)
[–] RandomStickman@fedia.io 68 points 2 months ago

Ea Nasir over here selling subpar code now

[–] 5714@lemmy.dbzer0.com 57 points 2 months ago

Security by ~~Obscurity~~ Antiquity

[–] EonNShadow@pawb.social 53 points 2 months ago (1 children)
[–] Midnitte@beehaw.org 28 points 2 months ago

Don't you mean 𒁷𒀱𒀉?

[–] toastal@lemmy.ml 35 points 2 months ago* (last edited 2 months ago) (4 children)

Unironically awesome. You can debate if it hurts the ability to contribute to a project, but folks should be allowed to express themselves in the language they choose & not be forced into ASCII or English. Where I live, English & Romantic languages are not the norm & there are few programmers since English is seen as a perquisite which is a massive loss for accessibility.

The hotter take: languages like APL, BQN, & Uiua had it right building on symbols (like we did in math class) for abstract ideas & operations inside the language, where you can choose to name the variables whatever makes sense to you & your audience.

[–] unwarlikeExtortion@lemmy.ml 6 points 2 months ago (3 children)

Yeah. Tbh, I always wondered why programming languages weren't translated.

I know CS is all about english, but at least the default builtin functions of programming languages could get translated (as well as APIs that care about themselves).

Like, I can't say I don't like it this way (since I'm a native english speaker), but I still wonder what if you could translate code.

Variables could cause problems (more work with translation or hard to understand if not translated). But still - programming languages have no declentions and syntax is simpler so it shouldn't even compare to "real" languages with regards to difficulty of implementation.

[–] hikaru755@lemmy.world 16 points 2 months ago

I'm German, and I would not want that. German grammar works differently in a way that makes programming a lot more awkward for some reason. Things like, ".forEach" would technically need three different spellings depending on the grammatical gender of the type of element that's in the collection it's called on. Of course you could just go with neuter and say it refers to the "items" in the collection, but that's just one of lots of small pieces of awkwardness that get stacked on top of each other when you try to translate languages and APIs. I really appreciate how much more straightforward that works with English.

[–] bleistift2@sopuli.xyz 11 points 2 months ago* (last edited 2 months ago)

Programs aren’t written by a single team of developers that speak the same language. You’d be calling a library by a Hungarian with additions from an Indian in a framework developed by Germans based on original work by Mexicans.

If no-one were forcing all of them to use English by only allowing English keywords, they’d name their variables and functions in their local language and cause mayhem to readability.

[Edit:] Even with all keywords being forced to English, there’s often half-localized code.

I can’t find the source right now, but I strongly believe that Steve McConnell has a section in one of his books where he quotes a function commented in French and asks, “Can you tell the pitfall the author is warning you about? It’s something about a NullPointerException”. McConnell then advises against local languages even in comments

[–] eRac@lemmings.world 3 points 2 months ago

Excel functions are translated. This leads to being pretty much locked out of any support beyond documentation if your system language isn't English.

load more comments (3 replies)
[–] mojofrododojo@lemmy.world 34 points 2 months ago

now that's job security

[–] NOT_RICK@lemmy.world 27 points 2 months ago

This is how we end up with snow crash.

[–] H4rdStyl3z@lemmy.blahaj.zone 19 points 2 months ago (2 children)

Iltam sumra rashupti ilatim moment 🗿

[–] SsxChaos@lemmy.ml 31 points 2 months ago

Wtf I just said these words out loud and the furniture started floating o.o

[–] MonkderVierte@lemmy.ml 4 points 2 months ago* (last edited 2 months ago)

https://www.soas.ac.uk/baplar/recordings/ammi-ditanas-hymn-istar-read-k-hecker

So i guess iltam = goddess and ilatim = gods?

litta = praise be (to), zumrā = sing of and rašubti = fearsome being?

[–] Cris_Color@lemmy.world 17 points 2 months ago

Bro thats fucking amazing 😂

[–] LodeMike@lemmy.today 15 points 2 months ago (1 children)

Most languages are like this. Even C is like this.

[–] basmati@lemmus.org 21 points 2 months ago (1 children)

Depends on the compiler, I'm pretty sure some versions of Borland shit themselves if you introduce an accent mark at the wrong time, much less support Unicode.

[–] LodeMike@lemmy.today 32 points 2 months ago (1 children)
[–] Midnitte@beehaw.org 4 points 2 months ago

Amazing that someone would ask that on Piazza.

[–] MadBob@feddit.nl 14 points 2 months ago

I don't know much about coding, but I know Cuneiform isn't an alphabet.

[–] christian@lemmy.ml 13 points 2 months ago (1 children)

It really bugs me when people don't comment their code at all. I have no idea what this is supposed to do.

load more comments (1 replies)
[–] HiddenLayer555@lemmy.ml 11 points 2 months ago

Because it supports Unicode as variable/class/function names and Unicode includes all the characters humans have ever used, even dead languages (I assume for historians to digitize ancient texts?)

[–] Spacehooks@reddthat.com 10 points 2 months ago (1 children)

So we can automate spell glyphs now?

load more comments (1 replies)
[–] SplashJackson@lemmy.ca 8 points 2 months ago

Sexigesimal is the best numbering system, change my mind

[–] Zozano@lemy.lol 6 points 2 months ago

You can't trick me, I know a bullet hell when I see one.

load more comments
view more: next ›