← Home ← Back to /g/

Thread 106518844

338 posts 54 images /g/
Anonymous No.106518844 [Report] >>106518964 >>106519084 >>106519094 >>106519142 >>106519157 >>106519162 >>106519338 >>106519380 >>106519406 >>106519443 >>106519703 >>106519839 >>106520432 >>106520530 >>106520665 >>106520794 >>106520843 >>106521133 >>106521145 >>106521262 >>106521305 >>106521318 >>106521471 >>106521560 >>106522307 >>106524067 >>106524891 >>106527181 >>106528976 >>106529294 >>106529559 >>106529767 >>106529969 >>106530123 >>106530232 >>106530308 >>106530904 >>106532448
Are there other programming languages as performant yet expressive as Rust?
Anonymous No.106518964 [Report] >>106519165 >>106519752 >>106532448
>>106518844 (OP)
Zig, Odin, D, C++, and C3
Anonymous No.106518976 [Report]
by performant I meant be a man but perform like a ugly woman, and by expressive I meant express my libtard opinions everywhere
Anonymous No.106518998 [Report] >>106519107 >>106522362 >>106529497 >>106530567
Yeah, but programmers will look at the second and refuse to "learn" it because it's "different". All kinds of reason will be manufactured to justify the first and shun the second. Imagine a Ctard having to understand that. His brain would explode.
Anonymous No.106519069 [Report]
No
Anonymous No.106519084 [Report]
>>106518844 (OP)
Yes
Anonymous No.106519094 [Report]
>>106518844 (OP)
First is better. The second looks like a software "engineer" larping as a mathematician.
Anonymous No.106519107 [Report] >>106519184 >>106520665
>>106518998
explain the right code in detail without using ai
Anonymous No.106519142 [Report] >>106519172 >>106519681 >>106520738 >>106520994 >>106521207
>>106518844 (OP)
What even happens on the right? Is it all performed sequentially, or are multiple stages of the pipeline combined for performance?

I know all compilers and processors resort to "just trust me bro", but is expressing intent what you want in a low level language? This style makes it very difficult to reason about the efficiency of the actual implementation. In something like Haskell you just have to accept it, but not in a systems language.
Anonymous No.106519157 [Report]
>>106518844 (OP)
C++23
Anonymous No.106519162 [Report] >>106521498
>>106518844 (OP)
left is written to be as easy to read as possible
right is written by someone who think they're clever

anyone who would prefer the right code over the left, even in the case where the generated code is identical, is an idiot who does not appreciate or value simplicity

KISS
Anonymous No.106519165 [Report] >>106519242
>>106518964
>C++
With the STL? I doubt that.
Anonymous No.106519172 [Report] >>106519581 >>106520745 >>106520761
>>106519142
Functional programming techniques are a trade off. They're not as performant but it's more expressive. If you care about speed on the order of nanoseconds functional programming is probably not for you.
Anonymous No.106519184 [Report] >>106521483 >>106529497
>>106519107
not that anon, and I don't know rust but
>filter
>map
>higher-order functions
this is clearly functional programming, so you could just guess

>numbers -> argument
>.iter() -> a function to iterate through each number
>.filter ... x % 2 == 0 -> while number is even
>.filter ... x < 100 -> while less than 100
>.map -> for every x, do x * x, looks like set notation
>.sum -> sum all the results
Anonymous No.106519193 [Report] >>106520760
What the fuck is that && notation?
Anonymous No.106519221 [Report] >>106519397 >>106520355
I mostly work with Julia and Fortran because I'm in academia, but I really think Rust might be the definitive programming language (as long as they stop Javascriptfying it)
Anonymous No.106519242 [Report] >>106522562
>>106519165
STL has similar garbage to the right example
Anonymous No.106519338 [Report] >>106519596
>>106518844 (OP)
>type noise
>crappy python-like syntax
>random &s lets muts and fns
no thanks
Anonymous No.106519373 [Report] >>106519447
Every single aspect of rust has managed to look as ugly as possible, even these simple things. It's an impressive feat.
Anonymous No.106519380 [Report] >>106519644 >>106519731 >>106519858
>>106518844 (OP)
These two separate ifs are just there to make the right look better
And how do you debug the code on the right? Left I can put a breakpoint and see exactly what the computer is doing step by step
Anonymous No.106519397 [Report]
>>106519221
>as long as they stop Javascriptfying it
They won't, that's the real problem with it. When your package system is essentially npm, it doesn't matter how good the language is, the software is always going to be webshit.
Anonymous No.106519406 [Report]
>>106518844 (OP)
Even JS looks better than the shit at the right
Anonymous No.106519443 [Report]
>>106518844 (OP)
Zig isn't bad. Its a nice balance between QoL features of Rust, and keeping things simple. Honestly, I wish it had hit the mainstream appeal that Rust did.
Anonymous No.106519447 [Report]
>>106519373
It's a reflection of its contributors.
Anonymous No.106519581 [Report]
>>106519172
>If you care about speed on the order of nanoseconds functional programming is probably not for you.
kys robert
you really bragged about your spacewar clone running at "almost 30 frames per second even with hundreds of objects on screen" on a modern computer as proof that clojure isnt slow. you're so fucking stupid
Anonymous No.106519596 [Report]
>>106519338
>python-like syntax
lol... lmao even...
Anonymous No.106519644 [Report]
>>106519380
stop noticing things anon
Anonymous No.106519672 [Report] >>106520743 >>106520816 >>106520831
the issue with using higher order functions to behave "functionally" in compiled languages is you have no idea what the compiler is doing under the hood. one of the reasons you would choose a compiled language is for performance and manual control, so this seems like a downside. the left example is very clear what the assembly will more or less look like. with higher order functions the right example could be 10 times slower, or according the image produce the same instructions. very much non obvious.
Anonymous No.106519681 [Report] >>106519698
>>106519142
It's just inlining.
Anonymous No.106519698 [Report] >>106522121
>>106519681
if it is just inlining then op's image is wrong, or the compiler is black magic and can understand intent.
Anonymous No.106519703 [Report] >>106519748
>>106518844 (OP)
>expressive
you mean unreadable? literally what is the usecase when you can just do what's on the left in a fraction of the time and it takes a fraction of the time for other people to comprehend
Anonymous No.106519731 [Report]
>>106519380
Step into the enumerator hell.
Anonymous No.106519748 [Report]
>>106519703
>right is unreadable
Tell me your a woman and minority without telling me your a woman and minority
Anonymous No.106519752 [Report] >>106519790 >>106519819 >>106522362 >>106522688 >>106528991
>>106518964
None of these guarantee memory safety.
Anonymous No.106519790 [Report]
>>106519752
Not him, but OP never talked about memory safety.
Anonymous No.106519819 [Report]
>>106519752
No one outside of redditors has ever cared about memory safety.
Anonymous No.106519839 [Report]
>>106518844 (OP)
The left is better in every way imaginable.
Anonymous No.106519858 [Report] >>106521082 >>106529796
>>106519380
> how do you debug the code on the right?
Put a breakpoint in the lambda. Ir if the debugger doesn’t allow that, pass a function with a breakpoint in it. Or just use print statements like a sane person.
Anonymous No.106520355 [Report]
>>106519221
>Julia and Fortran
A still-birth and a zombie, based.
Anonymous No.106520432 [Report] >>106520884
>>106518844 (OP)
Left has the structure of every language commonly in use to solve the problems in industry.

Right is structured entirely different.

Are there VERY significant benefits to using the right? If not, wouldn't it make sense to stick with a syntax and grammar that's in use everywhere?

Language wars, in general, are retarded because everyone who knows more than one is aware that different tools are for different jobs, but the rust arguments are unique in the sense that the language is arguably not a significant enough improvement at any job, nuts is still pushed with religious fervor because rainbows.
Anonymous No.106520530 [Report]
>>106518844 (OP)
>SlavedIn
jeet detected
YWNBAR (you will never be a rustacean)
Anonymous No.106520665 [Report] >>106520698 >>106521052 >>106521359 >>106521399 >>106521972 >>106522121 >>106522297
>>106518844 (OP)
This shouldn't generate the same assembly, unless the compiler is smart enough to see how it can be optimized, which even as a Rust fanatic I find hard to believe. Thoughever it is definitely possible that array operations can be optimized if the compiler detects that the array is never used again, applying a zero cost abstraction over it.

>>106519107
KYS retard. It should be obvious to anyone who isn't a nocoder, even past syntax.
>Create an iterator over the array.
>Iterate over the array, creating a new one containing any element x that passes the predicate x % 2 == 0.
>Trivial if your IQ is above 20 considering the above.
>Apply the function x*x to every element x of the array and return this new array.
>Return the sum of every element of the array (.sum() is a shorthand for .fold(|x, a| x+a), though I wouldn't expect (you) to know that)
>Rust implicitely returns an expression if it isn't followed by a semi-colon, since all of this is a single expression, the result of .sum() is returned.
Left code:
>For every element of this list, if it is even and if it is lesser than 100, add it's square to the sum, then return the sum.
Right code:
>For every element of this list that is even and is lesser than 100, square it and return the sum of every element.
Those obviously mean the same thing, but the functional approach is simpler to read as the logic reads as if it was processing everything at once rather than one element at a time.

I miss pre-2012 >>>/g/ so much like you wouldn't believe. How far have we fallen that higher order functions are alien to the average user.
Anonymous No.106520698 [Report]
>>106520665
I will also add that the right code could be written as numbers.iter().filter(|&x| x < 100 && x%2 == 0).fold(|&x, acc| acc + (x*x)). Though I always forget whether the accumulator or element goes first in fold's arguments.
Left would still require a few lines, though less. Bad faith post with the right conclusion.
Anonymous No.106520710 [Report]
the older i get, the more i prefer readability
Anonymous No.106520716 [Report] >>106520739
Why do low IQ think right is complicated?
Anonymous No.106520738 [Report]
>>106519142
agreed. this is why i always code MIR directly. much more explicit.
Anonymous No.106520739 [Report] >>106520749
>>106520716
It's probably not complicated, but the syntax is completely different from C, C++, C#, Java, JavaScript, Python, and Typescript. I'm probably missing a dozen more niche languages that are actually in wide commercial use.

So, people rightfully ask:
>why?
And the answer seems to be, because.
Anonymous No.106520743 [Report]
>>106519672
>the issue with using higher order functions to behave "functionally" in compiled languages is you have no idea what the compiler is doing under the hood
Most IDEs let you see inside stdlib Rust functions. Rust stdlib is very readable in contrast to glibc.
Anonymous No.106520745 [Report]
>>106519172
correct. functional LLVM IR is really disgusting.
Anonymous No.106520749 [Report] >>106520764
>>106520739
>It's probably not complicated, but the syntax is completely different from C, C++, C#, Java, JavaScript, Python, and Typescript.
Higher order functions are common in JS and TS too. Swap sum for reduce and you got JS code here.
Anonymous No.106520760 [Report]
>>106519193
i too get filtered by things like irrefutable patterns
Anonymous No.106520761 [Report]
>>106519172
Rust compiler is really good at optimizing these type of expressions. Sometimes it can be even faster than explicit loops.
Anonymous No.106520764 [Report] >>106520772
>>106520749
It's almost kinda close enough to something in JS isn't an answer to "why learn this" either.
Anonymous No.106520772 [Report] >>106520818
>>106520764
>why learn this
Because functional style is more succinct and easier to reason about than imperative style code.
Anonymous No.106520794 [Report] >>106520903
>>106518844 (OP)
Everyone in this thread is so used to shit software that they can't imagine what it would be like to use a compiler that you can actually trust to optimize things reasonably and consistently. Many such cases indeed!
But that being said, one of the biggest problems with Rust are the terrible compile times (though not as terrible as C++). Most of it is due to deeper architectural issues, but writing code like in the right side everywhere doesn't help.
Anonymous No.106520816 [Report] >>106520829 >>106522306
>>106519672
agreed. compiled languages were created to do things manually. and with good languages, we all can just compile code bases accurately in our heads with great accuracy, down to the specific unrolled loops and SIMD optimizations. rust just prevents us from doing that, and this is really why it's horrible.
Anonymous No.106520818 [Report] >>106520824
>>106520772
Wrong.
Anonymous No.106520824 [Report] >>106520831
>>106520818
No
Anonymous No.106520829 [Report] >>106520856 >>106521317
>>106520816
>and with good languages, we all can just compile code bases accurately in our heads with great accuracy, down to the specific unrolled loops and SIMD optimizations
Naive
Anonymous No.106520831 [Report] >>106520856
>>106520824
I am correct. Read this faggot, who is right.
>>106519672
You have 0 idea what your functional code is doing under the hood. You rely on the compiler to completely change your code for any sort of semblance of performance. You can only reason about the surface level of your code which is fine if you're aim is to be some sort of webdev I guess.
Anonymous No.106520843 [Report] >>106520928 >>106520945
>>106518844 (OP)
int
f(const int *a, int n) {
int x = 0;
for (i = 0; i < n; i++)
if (a[i]%2 == 0 && a[i] < 100)
x += a[i]*a[i];
return x;
}
Anonymous No.106520856 [Report] >>106520878 >>106520928
>>106520831
>I am correct. Read this faggot, who is right.
Nope.
Functional style code generally uses less lines of code and uses high level abstractions that are easier to reason about. Imperative code has way more moving parts and it's much harder to find invariants of your algorithms.

>You have 0 idea what your functional code is doing under the hood.
Pretty much every IDE let's you see implementation of any stdlib Rust function.

>You rely on the compiler to completely change your code for any sort of semblance of performance.
This happens to all the code all the time. See
>>106520829

>You can only reason about the surface level of your code which is fine if you're aim is to be some sort of webdev I guess.
You can reason about everything that you can reason about imperatively written code.
Anonymous No.106520878 [Report] >>106520892 >>106520934
>>106520856
>high level abstractions are easier to reason about.
yeah and then you wonder why your code is slow as shit
and then you want to reason about the TECHNICAL side of your code and the motherfucking chore begins

not to mention you can create your own abstraction
but i guess crabs just cant be trusted with that
Anonymous No.106520884 [Report]
>>106520432
>Left has the structure of every language commonly in use to solve the problems in industry.
In pretty much all projects I have worked for in typescript, right one is the preferred one. In projects I lead I enforce that, but I worked in clients where they even had linters that detect common imperative style code that can be converted to functional one.
Anonymous No.106520892 [Report] >>106520906
>>106520878
>yeah and then you wonder why your code is slow as shit
My code is very fast.
If in doubt, benchmark it. That's a good motto to have.
Anonymous No.106520903 [Report] >>106520912
>>106520794
>a compiler that you can actually trust
It’s de facto trust because there’s no language spec. The response to this is that whatever the compiler does, defines the correct behaviour. You either trust it or avoid the language.

Since the types of optimizations applied are probably not documented (do you even know if it optimizes for speed vs space?) not to mention unspecified, I suppose such constructs should be avoided for a lot of systems programming.
Anonymous No.106520906 [Report] >>106520917
>>106520892
>my code is very fast
compared to what? python?

good luck optimizing your code when the abstractions dont map to the assembly
but i guess you never have to do that all you ever write is fizzbuzz
Anonymous No.106520912 [Report] >>106520936
>>106520903
>It’s de facto trust because there’s no language spec
https://rust-lang.github.io/fls/
Anonymous No.106520917 [Report] >>106520929 >>106520948
>>106520906
>compared to what? python?
I usually compare it against C because that's the only language many nocoders here can understand.
Anonymous No.106520928 [Report] >>106520945
>>106520856
>less lines of code
>easier to reason about
Idk man. This >>106520843 reads like a news headline, and I'm new as shit. Everyone's familiarity with the syntax and having learned the sequencing in almost every programming context is going to make your paradigm a hard sell unless you start presenting some major benefits.

Calling people low iq if they don't do what you do isn't a benefit btw. Just in case you needed someone to tell you that.
Anonymous No.106520929 [Report] >>106521184
>>106520917
if you can understand c youre NOT a nocoder, by defiition
also its the fastest around
also also- do you compile your c with -march=native?

i almost never see it on rust vs c benchmarks
Anonymous No.106520934 [Report] >>106520941
>>106520878
>not to mention you can create your own abstraction
If you do this you invalidate all of your schizobabble. As many people mentioned, it's very easy to just ctrl+click Rust stdlib functions and see their code, so there's no difference. You're advocating for doing the same thing, just N times in every codebase instead of one time in the compiler.
>You rely on the compiler to completely change your code for any sort of semblance of performance.
This happens all the time for imperative code as well. If you've never heard of loop autovectorization you shouldn't be posting in this thread.
Anonymous No.106520936 [Report] >>106521184
>>106520912
That’s the Ferrocene Compiler, not the default authoritative Compiler that 99.99% crabs use.
Anonymous No.106520941 [Report] >>106522356
>>106520934
>If you do this you invalidate all of your schizobabble.
how?
(dr the rest im fairly certain is sad homonems)
Anonymous No.106520945 [Report] >>106520965
>>106520928
>Idk man. This >>106520843 reads like a news headline
And it has so many moving parts that you have to really read into every declaration, operation, comparison to deduce the invariants or possible mistakes.
In contrast, functional style reads nearly like English. Iterate over this, filter out this, map this and then sum.

>Calling people low iq if they don't do what you do isn't a benefit btw. Just in case you needed someone to tell you that.
I haven't said anything about IQ.
I don't care about your IQ, I only care about code.
Anonymous No.106520948 [Report] >>106520956 >>106521184
>>106520917
>C
>nocoders
Alright. We've gone off the map here. This is no longer a reasonable discussion.
Anonymous No.106520956 [Report]
>>106520948
hes googling what -march=native does for c, kek
Anonymous No.106520960 [Report] >>106520972
Rust hobbyist here.
>for... in
is an Iterator.
so
>for number in numbers
and
> numbers.iter() are indeed the same from the compilers perspective. Rest is probably compiler being slightly clever after lexing.
I'm still not sure if those produce same assembly. Maybe someone will check these (im phoneposting rn). Won't trust Powerpoint slide.
Also these two if-s on the left and two filter calls on the right should be merged.
For two reasons
1) it will be the same and reduce nesting
(Left)
It will be the same and remove redundant call (right)

2) it will be easier to reverse single logical expression than nested if-s or multiple chained calls.

As for styles, I use both. Hate or love it, future is multi-paradigm.
Anonymous No.106520965 [Report] >>106520970 >>106521173 >>106521184
>>106520945
>In contrast, functional style reads nearly like English.
The problem isn’t so much working out what it does (this case is trivial), but that it’s like Lisp where you encourage a style of programming where the programmer doesn’t understand the costs of everything. Maybe the compiler magic does the right thing this month, and the behaviour changes in the next.
Anonymous No.106520970 [Report]
>>106520965
>encourages using recursive
>more readable
kek
Anonymous No.106520972 [Report]
>>106520960
>[the] future is
Jeet detected.
Anonymous No.106520994 [Report] >>106521014
>>106519142
the only thing confusing here is the . syntax instead of |
Anonymous No.106521014 [Report] >>106521185 >>106521192 >>106522121
>>106520994
You’re missing the point. There’s no confusion about intent. What we don’t know is how the compiler implements it.
Anonymous No.106521052 [Report]
>>106520665
See for yourself
https://godbolt.org/z/64cjnKevM
Anonymous No.106521082 [Report] >>106521087
>>106519858
>pass a function with a breakpoint in it
informed
>Or just use print statements like a sane person.
enlightened
Anonymous No.106521087 [Report]
>>106521082
i came to the conclusion gdb is pretty much worthless
it provides the same information as printouts
only everything is in hex now
Anonymous No.106521104 [Report] >>106521119
this has been predictably fun.
seeing nocoding/barely coding /g/eets' inability to clock sarcasm and irony is never not funny.
i left multiple sarcastic comments in this thread, and not a single one was clocked. the retards always think their larps are passing lol.
Anonymous No.106521119 [Report]
>>106521104
You are so sophisticated and handsome.
Anonymous No.106521133 [Report]
>>106518844 (OP)
Rust is unusable as most of the people who have ever tried it can readily confirm.
>expressive
Except for the endless number of completely normal and correct programs that it doesn't let you express without unsafe blocks or compiler errors, whereas every other programming language ever conceived handles them without a hitch.
Anonymous No.106521145 [Report] >>106521155 >>106521214
>>106518844 (OP)
wtf is |&&x|
Anonymous No.106521155 [Report] >>106532100
>>106521145
if you squint a little it looks like a crustacean
im fairly certain arthropods were used as a template for the syntax of the language
Anonymous No.106521173 [Report] >>106521196
>>106520965
I can understand why you would have this kind of paranoia in the C world where there's a bare-bones spec that doesn't say anything about optimizations and then a dozen C++ compilers which support C as an afterthought and barely care about supporting the spec anyway.
But in Rust there's zero reason for it. You check the assembly once, see that it works and you can trust it to work, and that's it.
Personally I still prefer imperative style because I find it more readable, but that's just an unreasonable argument that nobody would make unless they have multiple years of being abused by shit C/C++ compilers
Anonymous No.106521184 [Report] >>106521211 >>106521379 >>106529099
>>106520929
Many CS freshman get taught C as their first language but still can't write non trivial programs. That's how you get a nocoder that can read C.

>also also- do you compile your c with -march=native?
I let whoever I am talking to decide on flags they want. I even wrote my own testbed to micro benchmark C, Rust and others performance.

>>106520936
Ferrocene compiler is just rustc.

>>106520948
Wdym?
/g/ is full of people who talk about C without actually programming anything non trivial.

>>106520965
>where you encourage a style of programming where the programmer doesn’t understand the costs of everything.
git gud
It really isn't much harder to value cost of some functional code vs imperative code. You are just struggling with it because you are inexperienced in writing functional code.

As always. If in doubt, benchmark it
Anonymous No.106521185 [Report]
>>106521014
well i don't know my compilers (and rust). it probably reads that it's an iterating function, so for every argument it constructs a for case, which's then converted to a goto enclosed assembly. if rust's . syntax is the same as any c-like (i.e. a.b() means b is a member of a), then you get a limited selection of iter() higher order function members, which are naiver loop templates. then the compiler pastes arguments to these higher orders as a code and compiles the result to assembly.
probably.
Anonymous No.106521192 [Report]
>>106521014
>What we don’t know is how the compiler implements it.
Pretty much any IDE let's you see inside any standard function.
Anonymous No.106521196 [Report] >>106521288
>>106521173
>see that it works and you can trust it to work, and that's it.
fundamentally incompatible with the usecase for c:
when you want an expressive language because youre rolling out non standard solutions

then you want an asm macro system, not a language that "takes care of everything for you"
no need to have the issue of compiler bonanza
Anonymous No.106521207 [Report]
>>106519142
iter() creates an iterator out of the array. It's an object that just maintains a pointer and supports a next() function that increments the pointer. The filter and map functions transform one iterator to another. So you've got like a Map<Filter<Filter<Iterator<T>>>> type think, that every time you do next(), it performs all of these operations. Finally, sum() just loops over the full iterator.

All of this shit gets inlined, which the compiler can then further optimize.
Anonymous No.106521211 [Report] >>106521323
>>106521184
>flags
afaik rust uses the equivalent thereof pretty much by default

what im saying, is that youre benchmarking against c when it fights a hand behind its back
and youre not benchmarking the language but the implementation
but that argument is kinda moot, because what isnt?
Anonymous No.106521214 [Report] >>106521239 >>106521372
>>106521145
It's for dereferencing because the function takes an array by reference and so does iter() so you technically have double indirection. However there is no actual pointer chasing in this example. It could be avoided by using into_iter() or by calling cloned() in the iterator which probably compiles to the same thing but I haven't tried.
Anonymous No.106521239 [Report] >>106521247
>>106521214
>36 000 different ways of doing the same is actually a good thing, chud
more object types = more interaction types = more code, more complexity, more situations for mistakes etc etc

rust is a disaster ergoinomics-wise
its a good example of everything NOT to do
Anonymous No.106521247 [Report] >>106521272
>>106521239
Still an improvement over the state of the art (C++)
Anonymous No.106521254 [Report]
>multiple ifs/filters
>mod instead of bitwise operation
>sequentially processing an embarrassingly parallel problem

ugh
Anonymous No.106521262 [Report]
>>106518844 (OP)
I'd use Rust, but I'm not a faggot or a tranny.
Anonymous No.106521272 [Report]
>>106521247
improvement? idk. youre close so it would be hard to tell for an external observer
but yeah, i concur
modern sepples is a pile of flaming garbage
Anonymous No.106521278 [Report] >>106521294 >>106521356 >>106521366
If in doubt, check it.

Why do you guys keep doing thinking for the compiler and arguing over what you *think* it will do.
It literally takes 5min to type this to godbolt.
Anonymous No.106521288 [Report] >>106521304 >>106521320
>>106521196
>fundamentally incompatible with the usecase for c:
C is high level language. It does the crazy things you wouldn't expect, just like Rust compilers. Often they use same backend compiler.
Anonymous No.106521294 [Report] >>106521307
>>106521278
>the rust tranny lied
Not the same assembly.
Anonymous No.106521304 [Report] >>106521317
>>106521288
>crazy things you wouldn't expect
such as?

im legit curious, i didnt encounter such a case in ~300 klocs of C
and im doing numbercrunching, so sometimes i use pretty wild shit out there, esp. in relation to memory layouts
Anonymous No.106521305 [Report]
>>106518844 (OP)
>Nachiket Kanore
Shit covered hands detected.
Anonymous No.106521307 [Report] >>106521382
>>106521294
Let's hear you explain the most performance significant differences in these assembly outputs.

I hope you won't humiliate yourself while doing so.

>inb4 no response
Anonymous No.106521317 [Report] >>106521346
>>106521304
See >>106520829
Anonymous No.106521318 [Report]
>>106518844 (OP)
Interesting, the same people calling you nocoder are also saying that the right is more readable than the left.
Anonymous No.106521320 [Report] >>106521328
>>106521288
>backend compiler
what backend does it compile?
Anonymous No.106521323 [Report]
>>106521211
>and youre not benchmarking the language but the implementation
I don't benchmark a language. In practice, Rust, C++ and C are all equally fast.
What I'm doing is just proving wrong people who do not realize this.
Anonymous No.106521328 [Report] >>106521338
>>106521320
It is a backend for compilers. Eg LLVM.
Anonymous No.106521338 [Report]
>>106521328
so it's a compiler backend
not backend compiler
eslfag
Anonymous No.106521346 [Report] >>106521366
>>106521317
???
i see nothing unexpected, or wild here
i hoped you were gonna show me instances where optimizations break your code
Anonymous No.106521356 [Report] >>106521366
>>106521278
are you using the same compiler?
Anonymous No.106521359 [Report]
>>106520665
>without using ai
How many r's are in strawberry?
Anonymous No.106521366 [Report] >>106521397 >>106521416
>>106521346
If an optimization breaks your code then either you invoke undefined behavior or the compiler has a bug.
All I am showing you is that C is a high level language and its compiler does same optimizations that Rust compiler does.

>>106521278
>>106521356
Ah sorry, my bad.
Anonymous No.106521372 [Report]
>>106521214
>It's for dereferencing because the function takes an array by reference and so does iter() so you technically have double indirection.
instead of being a specific feature, it is worth pointing out that this is just an example of an irrefutable pattern used in a binding position. it's not something that needs to be independently learned.
// just like how you can do this
struct SomeUnitStruct<T>(T);
let SomeUnitStruct(x) = SomeUnitStruct(5);
// you can do this
let &&x = &&5;

>It could be avoided by using into_iter()
it's a slice. you have no access to owned items. into_iter() would use the blanket impl for iterators.
>or by calling cloned()
*copied()
Anonymous No.106521379 [Report] >>106521399
>>106521184
>non trivial
The example functions square a number. Fucking lol.
Anonymous No.106521382 [Report] >>106521392
>>106521307
I don't see anything in OP's screenshot about "most performance significant differences". It says both produce the same assembly output. What you posted refutes that assertion. Now dilate.
Anonymous No.106521392 [Report] >>106521405
>>106521382
>no explanation
As expected
Anonymous No.106521397 [Report] >>106521414 >>106521416 >>106521427
>>106521366
>All I am showing you is that C is a high level language and its compiler does same optimizations that Rust compiler does.
so youre answering a question i didnt ask

im talking about interfaces
more precisely:
how the example on the right in the op doesnt map to code blocks
and so instead of mapping your code as separate units you have to map it as a big bowl of spaghetti where everything mixes toegether
in the example of the left you can profile each step of the operation separately
thats impossible in the code on the right
Anonymous No.106521399 [Report]
>>106521379
>The example functions square a number. Fucking lol.
Yeah. Anything more complex would probably fly right above the heads of majority of contemporary /g/ posters.

>>106520665 is right
Anonymous No.106521405 [Report] >>106521421
>>106521392
Notice how your mental illness causes you to think I need to "explain" how two strings of text are not the same. Just gonna go ahead and add "Rust", "zero-cost" and "memory safe" to the filter now. Also notice how your mental illness causes you to reply again, even though I have already closed and hidden this cancer thread. :^)
Anonymous No.106521414 [Report] >>106521429 >>106521436
>>106521397
>how the example on the right in the op doesnt map to code blocks
Neither does left.

Everything got unrolled and vectorized.
Rust and C are high level languages. They do not map directly to assembly.
Anonymous No.106521416 [Report] >>106521487 >>106522121
>>106521366
>>106521397
(cont)
on another note, you seem to be at least mildly knowledgeable about things-
how does rust manage to take the code on the right and turn it into basically whats on the left?

is it based on idiomatical formulations, or is it some math magic at play?
Anonymous No.106521421 [Report]
>>106521405
>no substance
>no explanation
>ad hominem
>projections
The holy cnile's discussion trinity.
Anonymous No.106521427 [Report]
>>106521397
>in the example of the left you can profile each step of the operation separately
>thats impossible in the code on the right
lmao
Anonymous No.106521429 [Report] >>106521436 >>106521497
>>106521414
no; they do not
but procedural languages map to code blocks
if you chose the optimal pattern of memory access, youre exceedingly unlikely to have the order thereof to be rearranged
Anonymous No.106521436 [Report] >>106521497
>>106521414
>>106521429
and so theres a logial unit of code with a higher resolution that rusts you can rely on,
because rust has an additional code generation abstraction layer on top of it

c is better than rust at this
you wont equate them both despite your best efforts
Anonymous No.106521471 [Report] >>106521499
>>106518844 (OP)
I don't understand the desire to abstract readable code to this level of unreadable bullshit.
Anonymous No.106521483 [Report] >>106529453
>>106519184
What if I want to filter an or condition
Anonymous No.106521487 [Report]
>>106521416
>how does rust manage to take the code on the right and turn it into basically whats on the left?
It's literally just monomorphization and function inlining of the most basic kind.

sum is just fold with Add::add as the reducer, fold is just for(while let):
let mut accum = init;
while let Some(x) = self.next() {
accum = f(accum, x);
}
accum

Looks similiar? It's taken from stdlib. f here is the Add::add, self.next is just the map+filter+filter+iter stack that just transform or skip values from iter. When you untangle it all you get very similar code except there is bunch of lambdas out there. But these lambdas are just free functions and Rust compiler can inline them all and in the end you get pretty much same code with only artificial syntactic differences.
Anonymous No.106521497 [Report] >>106521521
>>106521429
>but procedural languages map to code blocks
Not really. All this code got unrolled and vectorized to the point it hardly reassembles the original code structure.

>>106521436
>c is better than rust at this
Post your C code and we will benchmark it.
Anonymous No.106521498 [Report]
>>106519162
This. They probably also don't have a job.
Anonymous No.106521499 [Report] >>106521517 >>106521521 >>106521529
>>106521471
eh, youre exaggerating
youre just looking at it from the lens of c
youre not working based on code blocks, youre working based on procedures

in a c usecase that sucks balls
but from a high level perspective i can very well see this is as comfy

im not discussing the &&x retardation
im just giving my opinion on the idea as a whole, not how it was implemented

think of the concept as:
youre not writing code per se, youre instructing the compiler what to compile
Anonymous No.106521517 [Report] >>106521534 >>106521539
>>106521499
Yeah but I'm thinking on this from the perspective of this shit broke production and now I need to debug it but every step of the loop is abstracted away and I can't attach to anything.
Anonymous No.106521521 [Report]
>>106521497
>All this code got unrolled and vectorized to the point it hardly reassembles the original code structure.
youre still missing the point
>>106521499

>Post your C code and we will benchmark it.
i dont have the time for a code-out rn
i got stuff to do
but feel free to make a code duel thread
or post a subject ITT
in ~3 hours i should have time for that
prolly sooner
Anonymous No.106521529 [Report] >>106521547
>>106521499
>im not discussing the &&x retardation
It's literally same thing as **argv
Nothing retarded about this, just pointers being pointers.
Anonymous No.106521534 [Report] >>106521551
>>106521517
yeah forget about it then lamao
im assuming that rust works as advertised
Anonymous No.106521539 [Report]
>>106521517
>Yeah but I'm thinking on this from the perspective of this shit broke production and now I need to debug it but every step of the loop is abstracted away and I can't attach to anything.
Example?
I never had any problems setting breakpoints inside callbacks.
Anonymous No.106521547 [Report]
>>106521529
ah ok, i take that back
but still, this shows the attitude one has towards rusts symbols
>its retarded, by default, i dont even need to know what it does
Anonymous No.106521551 [Report] >>106521561
>>106521534
Dangerous assumption
Anonymous No.106521555 [Report]
Rust is all about expressiveness. That's why they have abbreviations all over the place like function -> fn, it's really expressive AND it saves those precious few bytes.
Anonymous No.106521560 [Report]
>>106518844 (OP)
>Right side
>Everything named X
You should be Xecuted for that alone.
Anonymous No.106521561 [Report] >>106521575 >>106521686
>>106521551
kek. true
Anonymous No.106521575 [Report] >>106521605
>>106521561
Since when Rust guarantees correctness of cryptographic implementations?
These bugs have nothing to do with Rust semantics.
Anonymous No.106521605 [Report] >>106521683
>>106521575
its a breakdown of the ownership and/or lifetime model as i understand it
>inb4 b-but its because its in an unsafe block
and?
still part of rust. which is not a memory safe language
Anonymous No.106521683 [Report] >>106521740
>>106521605
This has nothing to do with lifetimes from what it looks like. More like just forgetting to clear buffers, nothing related to Rust semantics.
Anonymous No.106521686 [Report] >>106521740
>>106521561
>fixed in 0.4.3
>0.10.3 contains a fix
Anonymous No.106521740 [Report] >>106521764
>>106521683
if data gets out of scope then it shouldnt be available anymore, does it?
and a buffer that belongs to a decrypt function shouldnt be available to error handling, should it?

again, feel free to correct me if im wrong
( i havent been very attentive) but thats how i understand this shit

>>106521686
i dont quite understand what you mean

---

anyhoo, gtg
ill be back later
i wont reposd immediately but i will respond in max 2hrs. i think
Anonymous No.106521764 [Report] >>106521773 >>106521812 >>106522119 >>106522132
https://github.com/RustCrypto/AEADs/commit/d1d749ba57e38e65b0e037cd744d0b17f7254037
Yup, it's literally just forgetting to clear buffer.
Nothing related to lifetimes or ownership.

>>106521740
>if data gets out of scope then it shouldnt be available anymore, does it?
What are you talking about?
The function was literally called *_in_place, there was nothing going out of scope here. Also when doing cryptography you often clear buffers with sensitive buffers even after freeing them so sensitive data don't persist in allocated memory.
Have you even looked into the code you are talking about?
Anonymous No.106521773 [Report]
>>106521764
>buffers with sensitive buffers
buffers with sensitive data*

>don't persist in allocated memory
deallocated/reallocated*
Anonymous No.106521812 [Report]
>>106521764
stop engaging seriously with jeet llms. just laugh at them or feed them sarcastic takes they will happily train on.
their retardation must stay clear (not that this is in danger).
Anonymous No.106521972 [Report] >>106522121
>>106520665
They generate same assembly because rather than naively doing the operation of each layer they delegate it upwards to underlying iterators.
Anonymous No.106522119 [Report] >>106522132 >>106522146
>>106521764
>there was nothing going out of scope here
did you even read the stuff?
actually
i think its just plain dishonesty bc you looked at the second cve and skipped t he first one entirely

>tag verification causes an error to be returned with the plaintext contents still in buffer
why the fuck do you end up with a buffer being exposed in error management?
error returns a buffer with plaintext.
like, fucking why?

however you look at it, its baaaaaaad
Anonymous No.106522121 [Report] >>106522139 >>106522488 >>106526495
>>106519698
>>106520665
>>106521972
>>106521014
>>106521416
This is basically how it gets optimized by inlining
Anonymous No.106522132 [Report]
>>106521764
>>106522119
or maybe i misunderstand something
in any case its what the fuck
if its a bzezro problem
then its a fukken bzero problem

lifetimes, ownership, or just plain fucking retardation that wasnt caught by rusts' bellos and whistles

could be solved with a fucking arena.
go out of scope? nuke everything associated with it. done
Anonymous No.106522139 [Report] >>106522196
>>106522121
pretty nifty to be completely honest
i dont want this in my code, but i can see very well the appeal

but again, this hinges on the fact that everything behind the abstractions is correct
if its not, youre in debugging hell
Anonymous No.106522146 [Report] >>106522160
>>106522119
>did you even read the stuff?
Yeah I did. The issue was that they did not clear the buffer. The fix was to clear the buffer. A buffer that was passed by reference therefore it did not go out of scope, hence in_place function suffix.
No idea why are you still trying to argue it's something else. Everyone can click and read this 10 loc commit for themselves.
Anonymous No.106522160 [Report] >>106522163
>>106522146
>trying to argue it's something else
thats a strawman

im just having low standards bc its 4chan and the fastest way on the internet is to be wrong

but still: new argument: rust is not a silver bullet and necessitates careful consideration whther its worth it to adopt it into your toolchain
Anonymous No.106522163 [Report] >>106522174
>>106522160
>>trying to argue it's something else
>thats a strawman
I know
Anonymous No.106522169 [Report]
>fastest way on the internet is to be wrong
fastest way TO LEARN on the internet is to be wrong
(theres always someone who will tell you exactly how, by how much, and why youre wrong + provide a detailed explanation of the thing youre wrong about)
Anonymous No.106522174 [Report]
>>106522163
strawmen are gay tho
being wrong and not giving a fuck is one thing
but youre skirting the limits of decency with strawmen
Anonymous No.106522196 [Report] >>106522247 >>106522431 >>106522491
>>106522139
>but again, this hinges on the fact that everything behind the abstractions is correct
Boomers can't imagine using a tool that they can trust. Their whole life they had to work with shit compilers, shit languages, shit platforms and operating systems, shit graphics libraries. Everything they ever made was dangerously balanced on top of a pile of shit tools that could collapse at any minute.
This is the real revolution that Rust started: the concept of tools that work the way they should, without being an expert on inane edge cases or configuration hell.
But to be fair it's not really about Rust, all the newer languages like Zig also had no problem figuring this out. It really is a generational thing: the revolution will only be complete when the last boomer retires.
Anonymous No.106522247 [Report]
>>106522196
>Boomers can't imagine using a tool that they can trust.
its not a boomer thing
its basic due diligence
and i can trust c.
in 300 klocs it didnt fuck me over once despite the fact ive been doing ubs bc i just cant be arsed to give a fuck
if you know what youre doing you dont need to care about ubs, apparently
Anonymous No.106522297 [Report]
>>106520665
>KYS retard. It should be obvious to anyone who isn't a nocoder, even past syntax.

True.

>Those obviously mean the same thing, but the functional approach is simpler to read as the logic reads as if it was processing everything at once rather than one element at a time.

Based.

But I still hate rust.
Anonymous No.106522306 [Report]
>>106520816
>agreed. compiled languages were created to do things manually. and with good languages, we all can just compile code bases accurately in our heads with great accuracy, down to the specific unrolled loops and SIMD optimizations

based sarcasm
Anonymous No.106522307 [Report]
>>106518844 (OP)
no. that's why Rust is objectively winning.
Anonymous No.106522356 [Report] >>106522376 >>106522417
>>106520941
>things I don't understand are ad homonem
wtf is with the quality of posters ITT?
Anonymous No.106522362 [Report] >>106522400 >>106523959
>>106519752
Rust is a shit language full of underwhelming and garbage buggy libraries (but at least its memory safe). Every time I go on some programming Discord, and ask about what library is recommended for problem domain X, invariably some Rustoid will come out of the woodwork and suggest a Rust lib. After I begin researching it, I'll find a ton of GH issues how said Rust library is buggy and sucky, and would-be users being gaslit by these superior-acting Rust people.

>>106518998
Nobody with a three digit IQ has problems grasping iterators, the problem with right isn't that it's different, but that it's not better.
Anonymous No.106522376 [Report]
>>106522356
no, its the pr you developed
i still drtr but theres 99.9% chances everything past the first phrase is an ad hominem, when talking with a crab
Anonymous No.106522400 [Report] >>106522796
>>106522362
>After I begin researching it, I'll find a ton of GH issues how said Rust library is buggy and sucky
so, just like every other free and open source repository with more than 1000 GH stars?
Anonymous No.106522417 [Report] >>106522458
>>106522356
I don't believe it's real person, it must be some artificial stupidity.
Anonymous No.106522431 [Report]
>>106522196
>What of the future? It is a matter of some concern to Real Programmers that the latest generation of computer programmers are not being brought up with the same outlook on life as their elders. Many of them have never seen a computer with a front panel. Hardly anyone graduating from school these days can do hex arithmetic without a calculator. College graduates these days are soft -- protected from the realities of programming by source level debuggers, text editors that count parentheses, and user friendly operating systems. Worst of all, some of these alleged computer scientists manage to get degrees without ever learning FORTRAN! Are we destined to become an industry of Unix hackers and PASCAL programmers?
This time for sure you're going to turn us all into quiche eating pascal programmers
Anonymous No.106522458 [Report]
>>106522417
this c ould be interpreteed as im the ai (the c-ultist)
or the crab is ai

lehrn to spekk, negroid
Anonymous No.106522484 [Report]
They designed him to be the Weathley for the C programming language.
Anonymous No.106522488 [Report]
>>106522121
Interesting.
Anonymous No.106522491 [Report] >>106522515
>>106522196
when I first started using Rust, my knees were shaking and I was forced to kneel.
cargo just works.
rust-analyzer literally, just works (unlike any other LSP I used)
rustup, just works.
probably the only thing that doesn't just work out of the box is cross compiling and cross-rs containers cover that usecase well enough I don't care so much.
Anonymous No.106522515 [Report] >>106522525
>>106522491
>when I first started using Rust, my knees were shaking and I was forced to kneel.
sounds like the intro to a perfectly average erotic fanfic
Anonymous No.106522525 [Report] >>106522546
>>106522515
all these things are true though. they're even true on Windows, not just Linux, which was mind blowing to me.
Anonymous No.106522546 [Report] >>106522560 >>106522684 >>106526231
>>106522525
anon
a language is supposed to be system agnostic

its like you were to give an ethnicity to producing fire
Anonymous No.106522560 [Report] >>106522572 >>106522588
>>106522546
ok, that's great, so why is Rust the only one that actually is in practice?
even go makes assumptions everything is POSIXy, even on Windows.
Anonymous No.106522562 [Report]
>>106519242
and its a royal pain in the ass to use, because the language isn't expressive
Anonymous No.106522572 [Report] >>106522580 >>106522588 >>106526231
>>106522560
nono
youre talking about
>system specificities being abstracted away
and, ackshually, vanilla c does that too
its just that m$ft doesnt play ball
Anonymous No.106522580 [Report] >>106522601 >>106522613 >>106522775
>>106522572
huh? show me installing a full blown IDE-like C experience that works on both Windows and Linux?
You literally can't.
Rust can.
rustup works on both Linux and Windows.
Anonymous No.106522588 [Report]
>>106522560
>>106522572
if we go into the autism of things this is a thing rust does right

instead of imposing interfaces to os makers
just fucking shim em
everything works on the same principles anyways
Anonymous No.106522601 [Report] >>106522641 >>106526231
>>106522580
>IDE-like C experience that works on both Windows and Linux?
thats an ide problem
and i dont give a fuck abt corpotrash jeet nigger cocksuckers

all i care about is whats written on the bawx
and whats in said bawx

idiomatic c and rust are equal on that point
thats what the whole """"impredictability"""" of ubs on c is abooot
not so unpredictable when you understand that the nr 1 logic behind that is portability
Anonymous No.106522612 [Report] >>106522620
>not so unpredictable when you understand that the nr 1 logic behind that is portability
just fukken hyperspace your brain dood
how so youre limited to 3d or even 2d thinking?
you cant consider teh thesis and antithesis at onece?
get the fuck outta here even 60 iq niggers from africa can do that
Anonymous No.106522613 [Report] >>106522641
>>106522580
i use vscode + clangd on linux and windows and it just works
pretty much anything that uses llvm as a backend just works
Anonymous No.106522620 [Report]
>>106522612
cont
this is a priori thinking
even fucking animals can do that
Anonymous No.106522641 [Report] >>106522655 >>106522698 >>106522775
>>106522601
ok, so you can't. got it.
>>106522613
clangd requires you use a build system that can generate compile_commands.json and can't even expand cpp correctly sometimes.
plus you don't have a package manager or formatter either. you're being disingenuous
Anonymous No.106522655 [Report] >>106522684 >>106522690 >>106526231
>>106522641
>ok, so you can't. got it.
my c is not portable in the slightest
keep fishing, faggot
Anonymous No.106522684 [Report] >>106522699
>>106522655
what is this avatar faggot even saying? see >>106522546
specifically:
>a language is supposed to be system agnostic

and yet you contradict yourself like a dumb nigger.
Anonymous No.106522688 [Report] >>106529922
>>106519752
define guarantee memory safe
https://youtu.be/jIZpKpLCOiU?feature=shared&t=1058
Anonymous No.106522690 [Report] >>106522709 >>106524048
>>106522655
(cont)
(just to wave muh humongous dick around...)
(also bc i dont remember whats the idiomatic way of saying to the compiler i want that, C mastering, anon, i summon thy)
Anonymous No.106522698 [Report] >>106522719 >>106522730
>>106522641
>clangd requires you use a build system that can generate compile_commands.json
doesn't have to come from your build system at all. also you don't even need it, just configure your fallback flags.
>and can't even expand cpp correctly sometimes.
you said c, now you're going to move the goal posts?
>plus you don't have a package manager
i don't care
>formatter
one came with the plugin i use. i don't use it though.
>you're being disingenuous
yeah, i'm the one being disingenuous kek
Anonymous No.106522699 [Report] >>106522755 >>106522780
>>106522684
not avatarfag
just oc
and you cant even look into the brightness of my radiance
and t hats why you want to talk in shadows

perish, skom
becausetyhereforehencesomething
thou art inferior
Anonymous No.106522709 [Report] >>106522725 >>106522742
>>106522690
>fast_double_generalized_get_period
in rust, this is just:
muh_str.find('.')
Anonymous No.106522719 [Report]
>>106522698
>doesn't have to come from your build system at all
unless you have like 3 source files, it most certainly does.
>inb4 just use bear
didn't bother reading the rest. you're lying to people.
Anonymous No.106522725 [Report] >>106522742
>>106522709
no, it isnt
im 3x faster than the the libc equivalent when benchmarking against atoi
but also thats bc this code assumes string are terminated with 8 0's

>myh rust is 5% faster
nice
you only have 295% to go
Anonymous No.106522730 [Report] >>106522752 >>106522839
>>106522698
>>>and can't even expand cpp correctly sometimes.
>>you said c, now you're going to move the goal posts?
>he doesn't know what cpp is.
power of C amateurs.
Anonymous No.106522742 [Report]
>>106522709
>>106522725
>295
195
bc im the unit, BITCH
Anonymous No.106522752 [Report] >>106522764
>>106522730
>sade homonem in lieu of technical argumentation
such is the power of rust

keep seething
this pleases me. this is suitable.
Anonymous No.106522755 [Report] >>106522774
>>106522699
actual schizo retard. wtf kek?
Anonymous No.106522764 [Report]
>>106522752
if you don't know what "cpp" means in relation to C, you literally do not know C. it's that simple. there is zero reason to even talk to anyone about anything C related who doesn't know this.

kys amateur.
Anonymous No.106522774 [Report]
>>106522755
no, its just that youre too slow when compared to me, only drunk
frensly advice: just go back to r*ddit
youre too slow
Anonymous No.106522775 [Report] >>106522787 >>106522789
>>106522580
clion

>>106522641
>clangd requires you use a build system that can generate compile_commands.json
and rust analyzer requires you to generate rust-project.json if you're not using cargo. god forbid.
Anonymous No.106522780 [Report] >>106522804
>>106522699
>not avatarfag
>13. Do not use avatars or attach signatures to your posts.
https://www.4chan.org/rules

avatarfag doesn't mean it can't be OC, your statement is illogical
Anonymous No.106522787 [Report] >>106522807
>>106522775
>clangd requires you use a build system that can generate compile_commands.json
>and rust analyzer requires you to generate rust-project.json if you're not using cargo. god forbid.
gcc c doesnt have this problem

why do programmers constantly try to make their lives harder than they need to be?
Anonymous No.106522789 [Report] >>106522918
>>106522775
>clion
depends on clangd or using a build system that generates compile_commands.json
it doesn't install a toolchain for you other than the related tools it ships with.
Anonymous No.106522796 [Report] >>106530871
>>106522400
No, its different.
I had some experience with the Rapier physics engine, which suffered from perf issues, physics stability issues, random crashes, despite it being shilled everywhere as being better than (Bullet/Jolt) because it's written in Rust(TM) and so the compiler ensures it cannot possibly have bugs
Anonymous No.106522804 [Report] >>106522822
>>106522780
>avatarfag doesn't mean it can't be OC, your statement is illogical
its true
but these picrel appear on something on the order of 0.1% of my posts

therefore its hardely avatarfagging
and youre now liable for bad report classification
AND
announcing a report

do you wanna go that way?
yes or no?
Anonymous No.106522807 [Report] >>106522818
>>106522787
>gcc c doesnt have this problem
gcc ecosystem doesn't even have a workable LSP or basic libraries like libclang to generate and manipulate C ASTs.
Anonymous No.106522818 [Report]
>>106522807
i dont know what any of that means
all i know is that gcc gives me actual zero cost abstractions with force inlines
and thats all i fukken need bc i want my code to fukken do what its told to
Anonymous No.106522822 [Report] >>106522835
>>106522804
I did not report
I did not announce report, I reminded you it is against the rules
stop making shit up

>>106522321
this you?
The rule doesn't "make sure your avatarfagging is less than some arbitrary % of your post" or "hardly avatar posting is ok"
Stop making shit up
Anonymous No.106522835 [Report]
>>106522822
>stop making shit up
that was a question wasnt it?
and you answered, and as such, i didnt escalate things further

bc i hate being a snitch, too
Anonymous No.106522839 [Report]
>>106522730
yes i know that's the name of c's preprocessor. why would you assume otherwise?
you should know that it's obviously ambiguous, and if we're at the point to where you're intentionally laying semantic ambiguities in lieu of substance, then i think we're done here.
Anonymous No.106522918 [Report]
>>106522789
>depends on clangd or using a build system that generates compile_commands.json
Rust analyzer requires rust-project.json
>it doesn't install a toolchain for you other than the related tools it ships with.
Because it's the IDE. What IDE does rustup install? For me, I just typed clang in the start menu and clicked install and it just worked.
Anonymous No.106523236 [Report] >>106523625
is there enough memory locket to unlock every slot for every crest?
Anonymous No.106523625 [Report] >>106523643
>>106523236
idk but i like women with with ass and big tits
especially when they wear bunny ears accessories
Anonymous No.106523643 [Report]
>>106523625
cont
also thread theme
https://www.youtube.com/watch?v=y85SnFs4LqQ
Anonymous No.106523668 [Report] >>106523710
This fucking gay thread is still going?

What is it now, the most autistic c guy vs the least passing rust transexxual battling like karate fighters about something unrelated to the original timesink fight?
Anonymous No.106523710 [Report]
>>106523668
yes, but only to t he untrained eye
were actually testing the limits of our knowledge
feel free to hide this thread
Anonymous No.106523895 [Report]
we were supposed to do a code duel btw
CRABS, post subject
then we post code, each

im dronk now but if crabs dont show skill
then they should shut the fuck up forevermore
>inb4 dats not canonical c
fuck you
my code will be gcc based
if you dont have it... youre running m$ft
Anonymous No.106523925 [Report]
fukken crabs
all talk,
no code
fukken farm animals from r*ddit
Anonymous No.106523956 [Report]
>what if a drunken boi, but passionate about what he does beats rust
thats what prevents oldcrabs from posting btw
theres 25% chance but apparently what we say- matters
lamao
BRING IT ONNN
give subject faggots
lets code it out
Anonymous No.106523959 [Report] >>106523973 >>106524582
>>106522362
>I go on some programming Discord
>three digit IQ
mutex lock
Anonymous No.106523973 [Report]
>>106523959
mutex = giving up on things
and thats a pro tip
Anonymous No.106524005 [Report]
(yeah in 99% of cases you can reformulate the problem to be thread count agnostic)
Anonymous No.106524048 [Report] >>106524075 >>106524113
>>106522690
what does that function do?
Anonymous No.106524067 [Report] >>106524612 >>106524738
>>106518844 (OP)
I will just post this again.
https://www.youtube.com/watch?v=B2BFbs0DJzw
Anonymous No.106524075 [Report] >>106524109
>>106524048
find any char that isnt conformant with expectations, just in an asynchronous manner
so as to make it easier for the cpu to maximize ILP
bc its async hronous with a couple fences (aka plces where computation synchronizes. gpgpu term, but its the best one i know)
Anonymous No.106524109 [Report] >>106524131
>>106524075
what expectations?
Anonymous No.106524113 [Report]
>>106524048
>find any char that isnt conformant with expectations, just in an asynchronous manner
it takes chars 8 by 8
it maximizes the throughput up to 64 bit architecture without calling on arch intrinsics
theres alot of thought that wend into it
kinda redundant bc theres an idiomatic way to force the same
its just that i say that in an explicit manner
Anonymous No.106524131 [Report]
>>106524109
any pattern of 8 chars
the unit that data gets parsed based on
im drunk, going to sleep
dont expect swift replies
Anonymous No.106524174 [Report] >>106524313
btw
strictly inferior to doing that with avx tier intrinsics
its just that it maximizes bus width based in the architecture
liken portably
and without ifdefs and other, related shit
Anonymous No.106524313 [Report]
>>106524174
https://docs.rs/memchr/latest/memchr/memmem/struct.Finder.html

spend your time doing actually useful stuff (doesn't matter in what language), then learn optimizations later. ^ this ^ is readily available and widely used where it matters in the rust ecosystem. you are only winning games you're playing with yourself.. which is fine, as long as you're fully self-aware.
Anonymous No.106524582 [Report] >>106525065
>>106523959
As opposed to /g/ well known gathering place of intelligent, productive and successful programmers.
Anonymous No.106524612 [Report] >>106524738 >>106525020
>>106524067
Daily reminder that this is how his game looked after approximately 300 hours of full time-programming streams.
Anonymous No.106524657 [Report]
Left is perfectly readable.
The benefits of functional languages aren't short map reduces like that, it's not having global state or state that's shared by multiple objects at least.
People always focus on the syntax of those toy examples, just use imperative code inside a function and make the function itself pure if you can.
Anonymous No.106524738 [Report] >>106525048
>>106524067
>>106524612
Why is he micro optimizing so early in development kek
Just make the game first. You can find hot loops later.
Anonymous No.106524891 [Report]
>>106518844 (OP)
Rust syntax is disgusting so I’ll never use it
Anonymous No.106525020 [Report]
>>106524612
>300 hours of full time-programming
In the early episodes he spends most of his time explaining things and going on educational tangents. If you want to make game fast just use Unity or whatever. Everyone knows making your own engine with 0 libraries is not the way to do that.
Anonymous No.106525048 [Report]
>>106524738
Because it's an educational stream about low level programming. It's not really about making a game, that's just dressing on top. Casey refuses to do any real game design because he's still traumatized from that one time he spent 3 years making a game before realizing it's not fun.
Anonymous No.106525065 [Report]
>>106524582
>false dilemma
that's a lot of locking
Anonymous No.106526231 [Report]
>>106522655
>>106522601
>>106522572
>>106522546
avatarfagging is against the rules. pls cease and desist immediately.
Anonymous No.106526495 [Report]
>>106522121
Interesting, thanks for the information.
Anonymous No.106527181 [Report]
>>106518844 (OP)
rust is for troons and faggots
Anonymous No.106527391 [Report] >>106527764
I would be fine with the right version of it literally did what it said and just performed multiple loops, without any hidden optimization. I'd pay the small price for readibility.
Anonymous No.106527764 [Report] >>106529007
>>106527391
>it literally did what it said and just performed multiple loops,
The right one does not imply eager evaluation. Lazy evaluation is completely fine and often preferred approach.
Instead of thinking about this as discrete array operations like in JavaScript, think about this as constructing an iterator. These functions do not modify data, they just describe how you are going to access it. Until you reach function like sum that consumes that iterator in order to produce some value.
Anonymous No.106528976 [Report]
>>106518844 (OP)
Nim
https://github.com/zero-functional/zero-functional
Anonymous No.106528991 [Report]
>>106519752
Neither do Rust
https://github.com/rust-lang/rust/issues/25860
https://github.com/Artisan-Lab/Rust-memory-safety-bugs
Anonymous No.106529007 [Report] >>106529132
>>106527764
>Lazy evaluation is completely fine
not in a systems language
Anonymous No.106529099 [Report]
>>106521184
All those replies and they’re all wrong.
Anonymous No.106529132 [Report] >>106529397
>>106529007
Even in systems language, lazy evaluation happens to be faster. The code in OP would not perform as good if it was eagerly evaluated.
Anonymous No.106529294 [Report]
>>106518844 (OP)
on the left you can just immediately follow the logic and understand the developer's intent

on the right it's literally "just trust me bro"
Anonymous No.106529397 [Report]
>>106529132
when is it not eslfag hours around here?
Anonymous No.106529453 [Report]
>>106521483
NTA and also never used Rust, but I assume you could just... do that? Like
>.filter(|&&x| x % 2 == 0 || x % 3 == 0)
If Rust makes any sense as a language then this ought to work
Anonymous No.106529497 [Report] >>106529527 >>106530888
>>106518998
It's not that the code on the right is impossible or even difficult to understand. Even if you're not familiar with Rust, it's pretty easy to intuit what it's doing, like >>106519184 said.
But it's not as easy to read as the code on the left. The code on the left is more similar to how humans think syntactically and linguistically, therefore it will always be more readable and intuitive for a human. "If X, then do Y." Even a drunk woman could follow that logic. You need to activate more brain cells to parse the functional programming syntax
Anonymous No.106529527 [Report]
>>106529497
>even a woman
ask anna the data scientist how well she got her loops.
Anonymous No.106529559 [Report] >>106529933 >>106529963 >>106530342
>>106518844 (OP)
in JQ this is
def solve: map(select(.%2 == 0 and . < 100) | .*.) | add

much more intuitive than whatever that crap on the right is
with a low-level functional language that doesn't suck the world would be a much better place
Anonymous No.106529767 [Report] >>106529874
>>106518844 (OP)
>do rust
>optimize the shit out of everything
>need money
>try to get job with rust
>they are interested in me
>yes
>130k
>get onboarded
>"This is our Java spring boot application..."
>"this is our react frontend"
>ask: "where do you use rust?"
>turns out they have ONE one rust app
>binary shipped with spring boot in a container
>IPC socket to just convert some data, and fileformats, which would take 20 times longer with Java.
>is finished, nothing to be done anymore
>get task to migrate several Java spring boot microservices to kotlin once familiar with them
>ask again:"when rust?"
>"somewhere later on the roadmap"
>refuse to show me the roadmap
>am java dev now
>develop interest in curry and fear of toilets
Anonymous No.106529796 [Report] >>106529818
>>106519858
>replacing simple short clear words with longer ones and replace descriptive labels with x
>I am le smart!
Anonymous No.106529818 [Report] >>106530601
>>106529796
This must be a reply to the wrong post.
Anonymous No.106529874 [Report]
>>106529767
Rust was just another word for code rot.
Anonymous No.106529922 [Report]
>>106522688
highly pertinent video
Anonymous No.106529933 [Report] >>106529963 >>106530008
>>106529559
>much more intuitive than whatever that crap on the right is
No, it's really not. It's actually way less intuitive, because it abbreviates a lot, so you have a lot less context to work with when it comes to intuiting what it does. Who the fuck names their variable "."? That's like you're intentionally trying to obfuscate the code and make it harder to read (i.e. less intuitive). You have to be genuinely autistic to think that this makes more sense than the original Rust code
Anonymous No.106529963 [Report]
>>106529559
>>106529933
All of this just shows why the code on the left is and always will be superior.
>it just makes sense
>it's easy to read, even if you have little/no background in code
>it just works
>it has exactly the same efficiency as the FP garbage
Functional programming is mental masturbation for codecels and nothing more
Anonymous No.106529969 [Report]
>>106518844 (OP)
Those 'higher order functions' are objectively worse.
Anonymous No.106530008 [Report] >>106530097
>>106529933
>Who the fuck names their variable "."?
yup, |&&x| makes much more sense lol
Anonymous No.106530097 [Report] >>106530303
>>106530008
It actually does. If you've used C or C++ then it should kind of make sense. ".*."??? Show me one other language that uses crap syntax like that, so that I know what to avoid for the rest of my life
Anonymous No.106530123 [Report]
>>106518844 (OP)
i can smell the crust on your axe wound from behind the screen
Anonymous No.106530232 [Report]
>>106518844 (OP)
In Mathematica, it's just
Select[nums, EvenQ[#] && # < 100 &] // # . # &


But if you weren't trying to be gay,
Total[Select[nums, EvenQ[#] && # < 100 &]^2]
Anonymous No.106530303 [Report] >>106530342 >>106530376
>>106530097
It only makes sense if you think of && as ** but why is that there to begin with, then you have those || because of some god forsaken reason and doesn't even match what you'd expect to see if you've used other languages that support lambdas
Anonymous No.106530308 [Report]
>>106518844 (OP)
nim
k
Anonymous No.106530342 [Report] >>106530419
>>106530303
Yeah, I agree that the code on the right is not completely intuitive.
The code on the left? Sure. I think you could intuit the code on the left side of the OP image, even if you're not a seasoned programmer.
The code on the right? Yeah, you could maybe intuit that if you're familiar with other languages like C/C++ like anon said.
The JQ code in >>106529559?
Yeah, no. You had to go specifically out of your way to learn that syntax. Don't bullshit us by acting like that's "intuitive".
Anonymous No.106530376 [Report]
>>106530303
>It only makes sense if you think of && as ** but why is that there to begin with
&& is not **.
It's there because <[T]>::iter produces an iterator yielding &T and filter gets references to the items the iterator produces, so &&T.
>then you have those ||
that's the syntax for closures in Rust
>but in other languages the syntax is different
amazing insight
Anonymous No.106530419 [Report] >>106530426 >>106530532
>>106530342
>You had to go specifically out of your way to learn that syntax
it'd be easier than learning bullshit rust syntax
Anonymous No.106530426 [Report] >>106530435
>>106530419
><[T]>::iter
look at this shit for example
absolutely no idea what's going on there
Anonymous No.106530435 [Report] >>106530449
>>106530426
it's a qualified path.
<[T]> is a qualified path type and iter is a path expression segment.
Anonymous No.106530449 [Report] >>106530456
>>106530435
>qualified path
>path expression segment
and then there's this bullshit terminology
learning rust is a huge investment and all you get in return is a shitty, incomplete frontend to C
Anonymous No.106530456 [Report]
>>106530449
dumb retard
Anonymous No.106530466 [Report] >>106530488 >>106530588
>muh new blazingly fast ooga bogga "systems" programming language
>not a single widely used systems program written in it
kek
>we will le rewrite
Nope you won't nobody has time or money for that.
Systems programming is a solved problem, C solved it before you were born, Rust, Zig etc are nothing but piles of shit built upon actually useful C code.
Anonymous No.106530488 [Report]
>>106530466
no one wants a powerful and expressive low-level language with little/no runtime more than I do but I'm afraid this is the case... C just isn't meant to be surpassed
Anonymous No.106530532 [Report]
>>106530419
It's not harder than learning the code on the left.
Nobody should go out of their way to learn your bullshit as long as the option on the left side of the OP pic exists.
I'm sorry if you happen to be autistic and disagree with that but it's not my problem
Anonymous No.106530567 [Report] >>106530597 >>106530625 >>106530903
>>106518998
I know you're joking, but my problem with functional programming shit like that is that it puts the burden on me to know what each and every one of these functions (iter, filter, map, sum) does and their internal implementation and quirks.

The code on the left, while also ugly in its own way, I can understand from the primitives it's composed of and can know what it'll do and how without needing to peek at other functions.
Anonymous No.106530588 [Report]
>>106530466
Retarded take, Zig provide its own OS implementations and abstraction layer (with optional libc linking which isn’t the default anymore), at least look at your meme before posting it
Anonymous No.106530597 [Report] >>106530600 >>106530708
>>106530567
>it puts the burden on me to know what each and every one of these functions (iter, filter, map, sum) does
it's english
>their internal implementation
why would you need to know that?
>quirks
there are no quirks
Anonymous No.106530600 [Report] >>106530604
>>106530597
>>their internal implementation
>why would you need to know that?
>>quirks
>there are no quirks
Cultist.

Why do you need to know what’s in the vaccine, it’s SCIENCE!
Anonymous No.106530601 [Report]
>>106529818
Yes, it was
Anonymous No.106530604 [Report]
>>106530600
>poltard immediately spergs out once he gets asked a question
nocoder spotted
Anonymous No.106530625 [Report]
>>106530567
>puts the burden on me to know what each and every one of these functions (iter, filter, map, sum) does
Indeed. And going across languages they're all a little different(at least in syntax) and there's tons of them. 10 functions just to do what you can easily do with a for loop, often faster too.

Right is a red flag though, In real-life problems you'll rarely have a problem like this, though. All it takes is you needing to do something if the number is not even, and the "nice" function chain is broken and you have a mess. More realistically you'll want to call your logger in X case and maybe get user input in Y case etc. Or it's a single operation where a single .map() or .sort() is fine.
Anonymous No.106530697 [Report]
I would like to interject for a moment. What you are referring to as a "performant language" is actually an emergent property of the compiler and its optimizer, or as I've recently taken to calling it, the performant compiler. A language like C, C++, or Rust is not, by itself, performant, but rather a set of rules and syntax that the compiler translates. While a language's design can aid the compiler—for example, Rust's ownership model allows for optimizations that prevent data races—it is the compiler itself that determines the final performance of the machine code. The language provides the blueprint, but the compiler builds the house. Many of the perceived speed differences are due to superior optimization passes, more intelligent code generation, or better handling of a specific architecture by a particular compiler. So, while you're praising the language, what you're really doing is praising the compiler's ability to translate that language into highly efficient machine code.
Anonymous No.106530708 [Report]
>>106530597
exactly, which is why C sucks so much because I need to remember what "open" does, it's internal implementation and quirks. While I was reading the entirety of libc I noticed C's open does the linux syscall for open, so now I have to memorize the entirety of kernel
Anonymous No.106530871 [Report]
>>106522796
>shilled everywhere as being better than (Bullet/Jolt)
[citation needed]
Anonymous No.106530888 [Report]
>>106529497
if you know what iter and map mean (many normalfags I would presume simply do not know the meaning of those words) then right is arguably more intuitive.
Anonymous No.106530903 [Report] >>106530920
>>106530567
I was, but to take your point in fairness: you suffer that (and many others) because there was never a point in the beginning of your education where you were taught funcional programming, or even a course where your were exposed to paradigms. Academia shunning SICP and company for more "grok your codebase and make up as you go" was a disaster for the profession. If there was ever was a chance to teach sound design in the industry, it's down in the gutter now.
Anonymous No.106530904 [Report] >>106530914 >>106531129 >>106531229
>>106518844 (OP)
Why does rust look to keep character counts down using truncated/abbreviated identifiers like fn and iter when autocomplete is so good? But then it adds verbosity with its right sided colon typing, let, fn, -> for function return types, and more, just to claim easier parsing? But save that one character by omitting a final semicolon. Oh and no need for return, we’ll just return the final statement
Anonymous No.106530914 [Report]
>>106530904
brainlet, there are good reasons for all of this.
Anonymous No.106530920 [Report] >>106530947 >>106531185 >>106532856
>>106530903
that's because in real life you need to tinker and change with code with a huge number of edge cases. procedural code is messy but it's also infinitely finetunable to meet schizophrenic business needs. functional code requires you to redesign shit every time
Anonymous No.106530947 [Report]
>>106530920
Good point and I wasn't denying that. I still contend that functional has more to offer when it comes to approaching problems instead of cowboy coding your way to "shareholder happiness". It's true that the latter still generated lots of wealth, regardless of the intricacies, so yeah, at the end of the day, make the programmers suffer all you can: no rest for the wicked.
Anonymous No.106531129 [Report] >>106531144
>>106530904
Why does C uses int instead of integer? Why use float instead of floatingPoint? Why use * instead of just writing "pointer" or "access"? Why even use {} and not go full Ada with every keyword being replaced with full English word?

Because the more longer words you put in your code the harder it will be to parse it by looking at it. It takes a while to get used to symbols and abbreviations but they save you tons of time on the long run.
Anonymous No.106531144 [Report] >>106531158
>>106531129
Just like mathematics. Terse as fuck, hard to get the masses to enjoy it, but once you get the gist of it it's quite powerful.
Anonymous No.106531158 [Report]
>>106531144
I enjoy it, many people enjoy it. This is not an APL level of abbreviations. Anyone can enjoy it with a little effort put into it.
Anonymous No.106531185 [Report] >>106531193
>>106530920
Doing unexpected changes to any code without refactoring is a recipe for disaster. Especially with imperative code that was altered multiple times beyond what it was originally supposed to do.
This is a technical debt in any case and will lead to problems in the long run.
Anonymous No.106531193 [Report]
>>106531185
As long as the Spice is flowing, most don't care
Anonymous No.106531204 [Report] >>106531212 >>106531237 >>106531250
ADA+SPARK > Rust
Anonymous No.106531212 [Report] >>106531293
>>106531204
What was the last ADA+Spark project you did?
Care to talk about it a bit and explain why does this language choice was a good idea for that project?
Anonymous No.106531229 [Report]
>>106530904
>But then it adds verbosity with its right sided colon typing
This is some of the stupidest shit I read in some time.
HM inference means it can be completely unspecified so it is by definition less verbose than even C++ auto.
>just to claim easier parsing?
Every modern grammar is synthesized this way because it's plainly less ambiguous. Even languages without static typing were able to use similar grammars because they were less disruptive (Typescript, python).
Anonymous No.106531237 [Report] >>106531315
>>106531204
Good luck putting bread on the table with that. It's already bad enough with Rust, imagine those fossils
Anonymous No.106531250 [Report] >>106531293 >>106531295
>>106531204
Delusional cope. Ada was forced onto people because of insane contract requirements. F-35 software was heavily done in C++ and it's the safest plane by flight hours / incident.
Ada doesn't actually solve anything, but Rust has measurable improvements that both M$ and Google have published.
Anonymous No.106531293 [Report] >>106531313
>>106531250
>>106531212
Kek, the troons circle the sight waiting to pounce on anyone who mentions the unmentionable Ada. This thread is even about to die, but they still parachute in to misdirect.
Anonymous No.106531295 [Report] >>106531317
>>106531250
>F-35 software was heavily done in C++ and it's the safest plane by flight hours / incident.
You are being disingenuous. It's a gargantuan taxpayer sinkhole full of maintenance nightmare that elevated the US defensive capabilities against an invisible enemy that the US got baited into trying to counter.
Anonymous No.106531313 [Report] >>106531324
>>106531293
Is there any reason you can't say anything about your most recent Ada+Spark project?
Anonymous No.106531315 [Report] >>106531322 >>106531346
>>106531237
Ada is still being developed. Ada 2022 is the latest language spec.
Anonymous No.106531317 [Report]
>>106531295
Given it buck broke Iran without any airframes lost, sounds like it's very effective.
Anonymous No.106531322 [Report] >>106531335
>>106531315
Have they added the limited lifetimes support to it already or is it like an optional extension?
Anonymous No.106531324 [Report] >>106531337 >>106531364
>>106531313
What's the point? You'll just recommend Rust instead and I'll have waisted my time. It's like trying to convince a Muslim he's reading the wrong holy books. He either won't listen or detonates.
Anonymous No.106531335 [Report]
>>106531322
There's always been lifetimes on the scope of the pointers (access in Ada lingo) but if you mean a borrow checker, that's only in spark. With the gnatprov tool.
Anonymous No.106531337 [Report] >>106531356
>>106531324
>What's the point?
Proving that you are not just shilling random language without using it.
There is quite a lot of people doing this with Ada currently. I even had this pointed out by a person who actually uses Ada, that there is a lot of artificial support for it from people who never use it for anything.

I am not going to recommend you to use Rust, what's the point. I just want to hear what you were working on and how did Ada+Spark choice benefited you in that project. I used Ada myself too, but honestly I find it hard to find it useful for anything but basic academia assignments I have done in it due to lack of libraries and tools.
Anonymous No.106531346 [Report] >>106531356
>>106531315
Just because it's still being developed doesn't mean it isn't dead end trash.
Anonymous No.106531356 [Report] >>106531375 >>106531386
>>106531337
If you actually want to learn why it can be useful, check the Ada Core website. Honestly it's not worth the effort to explain only to receive low calibre comments like this retard >>106531346
Anonymous No.106531364 [Report]
>>106531324
>Ada
>named after a woman "coder who didn't actually code
>anons shilling it doesn't actually use it
Pottery.
Anonymous No.106531375 [Report] >>106531435
>>106531356
Only one shitting out low quality trash is (You).
COBOL is still being developed by your retarded metric (newer spec releases) and yet it's still dead trash.
Anonymous No.106531386 [Report] >>106531451
>>106531356
>If you actually want to learn why it can be useful, check the Ada Core website.
I have already been there as I worked with Ada like I said.
I am just curious what kind of advantage did you got from using ada spark in your project.
Anonymous No.106531435 [Report] >>106531461
>>106531375
If COBOL is still being developed, then by definition it’s not dead. If this comes down to a popularity contest, then Linux itself is dead because of it’s small market share.
Anonymous No.106531451 [Report] >>106531471
>>106531386
You’re not curious at all, you’re just trying to support a claim that anyone who mentions Ada doesn’t use it. Whereas I of course do not care to convince you one way or another.
Anonymous No.106531461 [Report] >>106531565
>>106531435
>small market share
I honestly don't understand how you manage to make yourself look stupider and stupider with every single post.
Anonymous No.106531471 [Report]
>>106531451
>you’re just trying to support a claim that anyone who mentions Ada doesn’t use it
There is a very simple way of proving that prejudice wrong.
Anonymous No.106531565 [Report]
>>106531461
I get the feeling there’s a lot you don’t understand, frog poster.
Anonymous No.106532100 [Report] >>106532130
>>106521155
>if you squint a little it looks like a crustacean
Kek it really does, you might be right
I love crustaceans and phishes so much :D
Anonymous No.106532130 [Report]
>>106532100
I can't believe we cooked some of them still alive. Consider the Lobster, motherfuckers
Anonymous No.106532448 [Report]
>>106518844 (OP)
>expressive
elixir, dylan, commercial lisps (like Allegro, LispWorks)
Also APLs if it that's your cup of tea
> safe
Vale, hylo, austral, mojo

> overall winner
mojo

>>106518964
Also these are good
Anonymous No.106532856 [Report]
>>106530920
>no you don't understand in real world doing random unexpected shitty changes is MANDATORY and definitely not the result of poor tool choices, poor planning, or poor education