rewriting apioforum #289

 
BlueManedHawk src #2793

scratch doesnt allow you to do anything unsafe at all, does that make it malware too?

That's a good question! I'd say no, since that lack of unsafety isn't due to the developers of scratch wanting to take away power from programmers; instead, it's just because Scratch is designed to operate in a limited environment because they recognized that it wouldn't be very useful for doing everything, particularly considering that other, more powerful languages exist.

mb src #2794

more powerful

such as lists every other programming language

kit src #2795

even brainfuck?

BlueManedHawk src #2797

This isn't accidental—it's explicitly stated as its goal. It's a bit like governments banning books because "think of the children!!!11!!!" except nowhere near as big of a deal.

I do not think it's particularly valid to compare equate government "safety" to programming language "safety", and not just because of unsafe blocks. It is generally easier to opt out of writing in a particular programming language than it is to opt out of a government doing a thing.

I agree—that's why i put the "except nowhere near as big of a deal" clause.

In addition, it locks programmers and users into a specific ecosystem, which people get all pissy about when proprietary-software companies do it, yet when Rust does it it's for some reason seen as okay despite being just as much of a hostile tactic.

There are some Rust libraries which export C-usable interfaces, most notably regex, which I believe is actually being trialled as a replacement for Python's re module.

This wasn't what i was referring to—sorry that i didn't make that clear. When i was referring to "a specific ecosystem", i was moreso talking about the toolchain of Cargo, rustdoc, Rustfmt, Clippy, etc. These not only are pretty much the only options for their respective areas of work, and the only ones which the Rust developers will support, but are also conceptually malicious in their own ways by forcing projects to use what's Standard™ instead of what's optimal for their particular situation.

Furthermore, the official community surrounding Rust uses an immoral code of law that allows for infinite punishment to be given to people, allows punishment to be given without a fair trial, and allows punishment for actions committed outside of the jurisdiction of the Rust community.

I mean, I haven't looked at this, but I think most communities informally work this way anyway.

Then they are just as evil. (Though informal guidelines are easier to break when needed, so i guess they have that going for them.)

ubq323 (bureaucrat) src #2798

in what sense does rust lock you into a specific ecosystem? you're free to use whatever package manager, build system etc you want - most people use crates and cargo because that's most convenient, but you are not in any way forced to use that

BlueManedHawk src #2799

in what sense does rust lock you into a specific ecosystem? you're free to use whatever package manager, build system etc you want - most people use crates and cargo because that's most convenient, but you are not in any way forced to use that

Rust only supports the one ecosystem.

kit src #2800

no?

gollark src #2801

rustc is, as far as I know, quite tightly tied to cargo. They add features to it to make cargo work correctly. I don't really care about this because it's a very nice build tool.

kit src #2802

thats like saying pip is tied closely to python

like duh, yeah it is, its designed for python

BlueManedHawk src #2803

Designing pip for Python is different than designing Python for pip. The latter is closer to what happens in Rust.

kit src #2804

okay, fine, another example is firefox and mozilla through the sign-in and sync features of firefox

BlueManedHawk src #2805

Firefox isn't a programming language.

taswelll src #2806

i have heard of companies using not-cargo to compile rust. rustc is a separate tool with its own cli and stuff

kit src #2807

it doesnt matter what it is im just trying to convey a point

taswelll src #2808

java does not allow you to do most of the things c can, is it malware?

kit src #2809

my boss doesnt allow me to do most things that my brain can, is he malware?

viba src #2810

honestly yeah he is

viba src #2811

every programming language that i don't like is malware

kit src #2812

yeah

BlueManedHawk src #2814

it doesnt matter what it is im just trying to convey a point

Well, i'd say that it makes your point not quite as strong by having the analogy not carry as well.

BlueManedHawk src #2816

my boss doesnt allow me to do most things that my brain can, is he malware?

That sounds like he's just doing assholey things.

viba src #2817

although tbh there is no programming language that i can justify my reasons for disliking, because i don't have any actual experiences with them. usually they're just languages that all the hipsters are starting to use and which i've sworn on my life to never use because im too Cool and Based for them. this includes C++ and Rust.

viba src #2819

wait actually "all the hipsters are starting to use it" applies more to Rust than C++ because C++ is like 30 years old

pretend im good at using words for a second......

BlueManedHawk src #2822

I'm pretty sure that for any programming language somebody throws at me, i'd be able to think of a reason why it sucks (though to be fair, most of the time that would be "It's an esolang, so it can't really be fairly judged like other languages." or "It's not big enough and there's not enough support for it, and in any case [whatever else is pertinent to that particular language]."). The only two programming languages i think should be used are 0) C, because everything else is worse; B) Perl, for small things only, because every other scripting language is worse; and 3.) any language that's the only choice for a specific domain, e.g. HTML/CSS/JS for webdev.

gollark src #2825

I agree that all programming languages are vaguely terrible in some way, but my preferences disagree with all your examples. C is irritatingly low-level, nonexpressive and unsafe, Perl is eldritch, and you don't even need to use JS on the web nowadays.

viba src #2827

imagine doing webdev lol

(i generally disagree with the concept of webdev existing (webdev is malware :trol:))

kit (edited ) src #2828

my boss doesnt allow me to do most things that my brain can, is he malware?

That sounds like he's just doing assholey things.

no i mean like i could burn down the whole building but he wont let me, he thinks its some sort of "arson"

BlueManedHawk (edited ) src #2829

RE: #2825

C's low-levelness means it's got a fuckton of power, but yeah, it does come with the cost of having to rebuild everything from the ground up for each project that one starts, though at least that's just an initial cost and not throughout the project, mostly, and it means that it's always possible to override the infrastructure one has set up when it's necessary. Still, though, it would be nice if WG14 were to expand the language and library so that this wasn't necessary.

I also agree about the lack of expressiveness—having no way to make local functions is irritating, especially when there's two competing implementations on how it could be done, and the unclean macros are a real piece of piss. However, despite both the lack of high-levelness and the lack of expressiveness, i still maintain that it's not as bad as any other programming language (still bad though).

As for Perl, i think that most of its eldritch nature can be credited to its sheer irregularity, and the fact that it's really fucking large. But most of the stuff that's in the language exists for a reason. Still, though, i don't think it's suitable for anything of significant size, and is generally better for small things that don't need professionalism—but for those things, i think it's the least bad option (still bad though).

I was mostly talking about HTML/CSS/JS as a single language, because personally i think that's the most practical way to think about them. However, i'm not aware of any way to replace JS—TypeScript is malware because it's made by Microsoft, and WASM requires one to use JS anyway in order for it to work.

please log in to reply to this thread