GNU Abyss
kiwifarms.net
- Joined
- May 30, 2023
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
What a fucking joke of a languageBenchmarking library for Rust... Guess we know which benchmarking library Null will be using for testing Sneedforo.
Maybe I'm missing the point, but assembly will always be more "strange" than C in terms of behavior, particularly if you're writing it for unconventional hardware. Assembly is fun, and I don't want to discourage anyone from learning it, but start by learning C. There's a good reason why people call C "portable assembly".I would like to do hardware programming in something like Zig. I'd rather not do C and I'd rather do Assembly over C just because looking at C it seems like it has a lot of strange behaviors that aren't clear to a newbie and something like Zig or Assembly would be better.
What yats says. Plus development time is a lot quicker in C than asm. You'll start something in asm then get frustrated that it's taking forever to make any progress.I'd rather not do C and I'd rather do Assembly over C just because looking at C it seems like it has a lot of strange behaviors that aren't clear to a newbie and something like Zig or Assembly would be better.
I would rather learn Zig over either but I talked to people who have learnt C after learning something like Python or Java they tell me there can be really strange things going on that you don't really understand until you have really learnt the language.Maybe I'm missing the point, but assembly will always be more "strange" than C in terms of behavior, particularly if you're writing it for unconventional hardware. Assembly is fun, and I don't want to discourage anyone from learning it, but start by learning C. There's a good reason why people call C "portable assembly".
ASM is good to learn even if it is just for like 10 hours or so because you can understand how memory works on a very fundamental level.What yats says. Plus development time is a lot quicker in C than asm. You'll start something in asm then get frustrated that it's taking forever to make any progress.
This, the difficulty, and long compile times are really the things holding rust back. The Rust Foundations and a lot of the people who use Rust really are not doing that language any favors in terms of being adopted for actual use.
I disagree. Only at the first glance I'd put C as "portable assembly". Problems which are worse than necessary:Maybe I'm missing the point, but assembly will always be more "strange" than C in terms of behavior, particularly if you're writing it for unconventional hardware. Assembly is fun, and I don't want to discourage anyone from learning it, but start by learning C. There's a good reason why people call C "portable assembly".
Hm, I'm a bit torn. At least I have always struggled getting back to lower languages like Zig or C after working in Python and Javafor long, just because there are less helpers or the helpers aren't as easy to integrate.Any thoughts for first projects or first things to try? There is value in writing something like a graphics engine or something like a graphics engine that has a bit of added functionality similar to a game engine. I mention this specifically because it might come in handy for another project that I would like to do eventually.
I don't know exactly what strange things they're referring to, but it's a fair bet they'd also apply to assembly. Really, don't touch asm until you're comfortable with C.I would rather learn Zig over either but I talked to people who have learnt C after learning something like Python or Java they tell me there can be really strange things going on that you don't really understand until you have really learnt the language.
I wouldn't recommend touching assembly blind, but if you find a decent course or video on it, understanding assembly can do a lot to contextualize what C is doing and understand why the language's rules are what they are (and why certain things that might seem illegal actually arent, like switching into the middle of a while loop)don't touch asm until you're comfortable with C
I intended it as a surface level statement, as do most others who call it that. It's "portable" in the sense that you don't need to learn 100 different flavors of assembly to make a program that works across multiple CPU architectures. Cross-platform work was arguably the main impetus behind the language's design and creation. Any application of the descriptor beyond that becomes an argument about compiled languages as a whole and levels of abstraction, and that's not really how it was intended. I don't really see how those 5 points challenge this idea as opposed to just being valid criticisms of the language itself. Perhaps it's a matter of how I'm interpreting this. As big of a pain in the ass as C can be at times, assembly cranks up these problems to their logical and practical extremes.Only at the first glance I'd put C as "portable assembly".
Isn't that whatDefines overriding imported stuff and more.
#ifdef
and #ifndef
are for?C, with its relatively minimal levels of abstraction (even compared to C++), doesn't lend itself well to the idea of generic types. C is best when it's predictable, and the same goes for assembly. This is kind of the whole point of the language, and is one of the numerous factors that make C++ a sort of antithesis to C as opposed to an extension of it.And while one can use the preprocessor to define generic types it isn't exactly handy or easy to use in editors/ IDEs
I agree to an extent. A lot of these language-specific dependency managers are complete trash (e.g. pip) and often promote centralization. While most dependency managers support third-party repositories, almost no one actually uses them in practice, and they inevitably die from lack of adoption. This promotes dictatorial mindsets that lead to disgusting shit like crates.io and their thick, robust CoC.Importing other projects. Sure, the direct way is to just put "apt install curl" in the README, but it's very annoying when compared with any other language where it's established to list dependencies in the build system.
The broader, more vocal parts of the Rust community react with hostility to anything that disrupts their illusion of consensus. Polemics is core to Rust's philosophy, and it has resulted in one of the most famously hostile communities in CS. I don't want to get political in a post about programming, but it's unavoidable when talking about newer languages like Rust; this is the very problem.Rust trannies said:Short version: crates.io is a critical resource for the Rust ecosystem, which hosts a variety of packages from a diverse group of users. That resource is only effective when our users are able to work together as part of a community in good faith. While using crates.io, you must comply with our Acceptable Use Policies, which include some restrictions on content and conduct on crates.io related to user safety, intellectual property, privacy, authenticity, and other limitations. In short, be excellent to each other!
This is ultimately a fatal point I think. This means I basically have to learn C. Well thanks this is part of the reason I asked the questions I did. I wanted to learn this stuff sooner rather than later.Something you may not have thought about is compatiblity with drivers in robotics. It's all fine and good and easy to make things light up on an Arduino or a Raspberry Pi using Python or assembly. The issue is that as you extend past your microcontroller hardware, drivers written by the manufacturer or community for other devices tend to be written in C. For example, I once worked with a sensor that didn't come with a signal documentation. It did however come with drivers in C which I used.
Uber uses Zig as does Tiger Beetle which is one of the fastest databases around for certain things. You are right that it has a really low adoption rate though and I don't think there is any hardware that uses it for example.Zig's not a serious language, there's nothing written in it.
There is a videogame by Zach Barth(Zachtronics) called TIS-100 that would function as a great introduction to this concept which is why I'm not too worried about touching ASM. I have been in many a situation in other subjects where knowing the underlying reason things are the way they are is very helpful. In addition I tend to learn better when I can see the whole picture.I wouldn't recommend touching assembly blind, but if you find a decent course or video on it, understanding assembly can do a lot to contextualize what C is doing and understand why the language's rules are what they are (and why certain things that might seem illegal actually arent, like switching into the middle of a while loop)
Probably SDL2 I'm building this not for a windows machine but for android though. I managed to find one of the actually useful things VR/AR could do but I am sick and tired of trying to make it work with Unity and if I want to do anything that a company could ever use I would need it to not be in Unity. I'm not working on that project atm but If I build skills that eventually help me that would be good.At what level are you thinking? Linking against SDL2? Or more linking against X/ wayland and operate that way?
C is designed to be simple and easy. You'll be fine.This is ultimately a fatal point I think. This means I basically have to learn C. Well thanks this is part of the reason I asked the questions I did. I wanted to learn this stuff sooner rather than later.
I disagree I have found it gamifies it in weird ways that aren't a problem you have to deal with in real life and make it feel crippled compared to what it really is. Learning real assembly would in general be a much better idea.There is a videogame by Zach Barth(Zachtronics) called TIS-100 that would function as a great introduction to this concept
nigger.innerText = `${word} is a palindrome`;
Fucking regex is so confusing. I'm trying to make a palindrome checker that ignores special characters so my function only reads the letters in the string and I just can't figure out how it works because I'm so god damn fucking retarded.
I have a function that reversed the string with a for loop that works.
If you type in a palindrome it will tell you that it is indeed a palindrome.
But I'm trying to make it so if you put _racecar or ey.e or something like that into the text input, the function will still returnnigger.innerText = `${word} is a palindrome`;
I've learned most of the basics to this bullshit and Im almost to the point that I might be able to start doing freelance work, but this fucking regex bullshit is making me feel like I'm literally too fucking stupid to be a programmer.
Fuck my life dude...god. fuck my life. Im gonna Fuck dude! Fuck my life dude!
Dude fuck my life. Im gonna fuck! Fuck my life dude! Dude fuck my...DUDE! IM GONNA ...FUCK A DUDE!
On topic, if you have a functioning palindrome checking function, simply sanitise the string/strip all the symbols from it before feeding it into that function?"Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems"
On topic, if you have a functioning palindrome checking function, simply sanitise the string/strip all the symbols from it before feeding it into that function?
What language are you working in? You mentioned .innerText before so I will assume HTML/JavaScript. You can do as you have mentioned here and simply do a for loop over an array of 'accepted' characters.I was trying to do that but you still have to use a regular expression. Atleast, I'm pretty sure you do.
If I can't figure it out I'll probably just do something niggerlicious like making an entire array with the alphabet in it, and using a loop to check each character in the string against the array because fuck regexpressions.
/[^a-zA-Z0-9 ]/g