adambard / learnxinyminutes-docs

Code documentation written as code! How novel and totally my idea!
https://learnxinyminutes.com/
Other
11.25k stars 3.25k forks source link

Remove cryptocurrency promotion #4912

Closed verhovsky closed 1 month ago

verhovsky commented 1 month ago

4909 reminded me that I wanted to do this.

These esoteric programming languages are not interesting as programing languages. Having them on the website serves no purpose. We all know their real purpose.

I'm just slightly annoyed when I scroll the list of languages, see one of these and think the name sounds interesting, go to check it out and realize I just wasted some time and brain space on crypto stuff. I imagine other users of the site have a similar experience.

I think Solidity can stay since it's kind of a real thing and if someone makes one for Bitcoin's Script that should also be accepted. Vyper arguably as well, but from my googling around it seems that it might've been abandoned in 2020 so it shouldn't be a big loss.

@adambard @vendethiel

vendethiel commented 1 month ago

I tentatively agree, though I haven’t checked which ones are used for what.

danielytics commented 1 week ago

I don't understand why Solidity can stay but others can't. Maybe Vyper is abandoned, but FunC and Tact are just as real as Solidity, used actively by TON and telegram mini apps. They're even interesting in their own right as actor-based message passing languages (I certainly find Tact very interesting just from a language design point of view).

I can understand not liking or wanting to promote blockchain, but it does seem weird to restrict what languages you allow based on what their execution target is.

Also, what is "interesting" is arbitrary, just because something is or isn't interesting to you doesn't mean it isn't interesting or useful to somebody else. I personally don't find golfscript or bf interesting. Similarly, I don't find proprietary languages like kdb+ that I can't actually use without paying interesting and would find reading that page like I wasted my time when I later find out I can't actually run what I just read. But I'd never suggest that they should be removed.

If you really don't want to have blockchain languages, that's obviously your call, but at least be consistent about it then.

vendethiel commented 1 week ago

Similarly, I don't find proprietary languages like kdb+ that I can't actually use without paying interesting and would find reading that page like I wasted my time when I later find out I can't actually run what I just read. But I'd never suggest that they should be removed.

This and that are different things, but that's a valid point. I could hear someone suggesting we add a disclaimer to pages describing proprietary languages.

verhovsky commented 1 week ago

Because it's the first and/or most successful Turing complete blockchain language. Having one of them makes sense. It's old now so having it feels more of like an honest description of a language that actually exists in the social sphere instead of using this website to try and promote something new into existing.

I certainly find Tact very interesting just from a language design point of view

Looks like a normal C-like language to me.

I personally don't find golfscript or bf interesting. Similarly, I don't find proprietary languages like kdb+ that I can't actually use without paying interesting

with the exception of brainfuck, me too.

be consistent

Why? We can make opinionated editorial decisions. We can just think about things and do what feels reasonable, our behaviour doesn't need to be compressible into some formally specified policy like if blockchain: delete().

danielytics commented 1 week ago

I could hear someone suggesting we add a disclaimer to pages describing proprietary languages.

Couldn't the same be said for blockchain languages? The original complaint was that spending time on a language that looks interesting wastes time and brainspace when later realizing that it was a blockchain language. By stating this upfront, the reader will immediately know whether they should continue reading or not.

Looks like a normal C-like language to me.

If you are just looking at the syntax, sure, but if that's all that you judge a language on, I feel that Learn X in Y Minutes has a lot of "uninteresting" languages that are just "normal X-like languages".

The semantics matter and Tact is an actor-model message-passing based language. That is, Tact defines messages and for Tact to call other Tact (or FunC, they are interoperable) programs, you send an asynchronous message. Each program is independent and asynchronous, only calls within a single program are transactional. FunC works similarly, but is lower level, Tact makes messages a language-level construct and also distinguishes between normal (synchronous) functions, message handlers (asynchronous functions that are called on receipt of a message) and getters (side-effect free pure functions that are used to retrieve data from a program but cannot modify any state). I personally find that interesting. If you don't, then I can't really change your mind, but that's kinda my point here, "interesting" is subjective.

We can make opinionated editorial decisions.

Ultimately, its not my repo, so I can just give you my opinion and leave it up to you. I personally value consistency in decision making, but if you don't, I won't argue about it.

We could also debate the merits of including some and not others, but again, I feel its not applied to languages targeted to other platforms, so in the end its still about whether your being consistent or not and if your decision is "not", then I don't think I can say anything I haven't already said. I've pleaded my case, if you disagree, well, that's your call.

EDIT: I guess what I'm saying underneath it all is that if this is a "political" statement against blockchain, then why does Solidity get to stay, and if its purely about how interesting the language is, then why do other languages that are far more mundane, far more similar to each other, or otherwise less interesting or just as interesting get to stay. It feels very arbitrary.