|
Internet Janitor posted:what i find most annoying on the rare occasions i need to write a python script is that the stdlib, while reasonably comprehensive, is completely scattershot in its approach to everything. it's even odds that a given module will expect an imperative style (bang on these magic functions and mutable values in sequence), a functional style (everything makes new copies of stuff), or a pointlessly object-oriented style (instantiate a parser whatzit, set fields to configure it, call a method and get back some other inscrutable piece of crap instead of just giving me the data)
|
# ? Jan 12, 2024 17:28 |
|
|
# ? May 27, 2024 02:00 |
|
yeah there isn't a consistent style on everything (logging really bothers me as a "magic" imperative state thing) , most stuff seems to have static methods or generators to accomodate imperative or functional stuff p easily though theres prob a more specific example that demonstrates the dysfunction
|
# ? Jan 12, 2024 17:32 |
|
a matter of age though. not too hard to roll with it, especially considering how rich the overall ecosystem is. and hats off to the dev team learning a lesson from the idiotic 2to3 debacle now not loving old code over much.
|
# ? Jan 12, 2024 17:35 |
|
pathlib is so much better than os.path but iirc theres still a couple things you need the latter for lol
|
# ? Jan 12, 2024 17:36 |
|
Zlodo posted:I'm working on a small python script (not by choice, its a photoshop script part of a tool we're making and the people who will end.l up maintaining it wanted it to be in python ) and I disagree, it's complete crap if you wanna snack overflow this into the everyday programming thread id be glad to attempt to help
|
# ? Jan 12, 2024 17:47 |
|
rjmccall posted:what a weird way of putting this from someone who iirc actually works on compilers. you might as well be asking why apple disabled fortran for aarch64. like there’s a turnkey perfect openmp implementation that we just spitefully set on fire If I do 'brew install clang' I get a clang with OpenMP that works fine. Is there a ton of subtle bugs I'm not noticing, and which motivates Apple to turn off the upstream support in the clang shipped with macOS? I'm not talking about supporting all the fancy new accelerator offload features, but just the old-school core features - presumably that's what's supported upstream anyway. This isn't related to the ARM switchover btw; I recall colleagues with x86 macbooks complaining about this ten years ago. I didn't pay much attention myself until I had to help students get OpenMP working on their macOS machines. One additional wrinkle is also that if they do 'brew install gcc', running 'gcc' is still probably still going to actually run Apple's clang wearing a fake moustache, rather than GCC. I can deal with it, but I really see people who are less used to compiler bullshit struggle.
|
# ? Jan 12, 2024 17:52 |
|
Actually beyond just cathartic ranting, I was curious about whether it's because Apple has some kind of bizarre beef with whoever stewards OpenMP, like I heard they have with Khronos.
|
# ? Jan 12, 2024 17:57 |
|
Share Bear posted:yeah there isn't a consistent style on everything (logging really bothers me as a "magic" imperative state thing) , most stuff seems to have static methods or generators to accomodate imperative or functional stuff p easily though matplotlib from their docs: code:
distortion park fucked around with this message at 18:00 on Jan 12, 2024 |
# ? Jan 12, 2024 17:58 |
|
that particular insanity has leaked out from somewhere entirely different though
|
# ? Jan 12, 2024 18:00 |
|
yeah thats not stdlib, i make no excuses for every python scientific library being the ways they are
|
# ? Jan 12, 2024 18:08 |
|
if apple includes a feature in a toolchain we distribute, it becomes a supported apple product. that puts us on the hook to maintain it and presumably make a ton of stuff better. we currently do not want to do that with openmp because it seems like a lot of work. similarly, if someone wrote a fortran compiler, and we started shipping it, it would become our fortran compiler, and we do not currently want to maintain a fortran compiler if there’s an open source compiler for openmp that meets your goals of “literally just accept the code so that my students stop annoying me, i don’t give a gently caress about quality, performance, or even completeness”, then great, go use that. again, i don’t see the difference between this and fortran. but that is not the standard we would hold ourselves to for an actual product, so we don’t ship it ourselves
|
# ? Jan 12, 2024 18:23 |
|
rjmccall posted:we currently do not want to do that with openmp because it seems like a lot of work
|
# ? Jan 12, 2024 18:30 |
|
Arcteryx Anarchist posted:julia just isn’t going to happen julia has a lot of interesting ideas but it seems like “unit tests”, “correctness”, and “stable behavior” are extremely low priority compared to all the fun neat stuff. there was a “why I’m not going to do julia any more” blogpost that got some reach and even that writer, talking about inconsistency/bugginess/etc, didn’t reach for what seems to me the most obvious form of constructive criticism: many of these are things that test suites would let you catch
|
# ? Jan 12, 2024 18:54 |
|
tldr "we don't wanna and your can't make us" which is fair enough but that sure is a wordy paint
|
# ? Jan 12, 2024 18:57 |
|
Athas posted:If I do 'brew install clang' I get a clang with OpenMP that works fine. Is there a ton of subtle bugs I'm not noticing, and which motivates Apple to turn off the upstream support in the clang shipped with macOS? now use spack
|
# ? Jan 12, 2024 19:00 |
|
you can also just install libomp with brew and build with clang -Xclang -fopenmp rather than building your own copy of clang
|
# ? Jan 12, 2024 19:03 |
|
quote:My experience with the language and community over the past ten years strongly suggests that, at least in terms of basic correctness, Julia is not currently reliable or on the path to becoming reliable. For the majority of use cases the Julia team wants to service, the risks are simply not worth the rewards. he also gives literally 10 years of julia community posts going “ah, we’ve solved the problems that people have been complaining about, clear sailing from here on out”, lmao
|
# ? Jan 12, 2024 19:03 |
|
I'm not convinced that julia has a good reason to exist
|
# ? Jan 12, 2024 19:04 |
|
Cybernetic Vermin posted:tldr "we don't wanna and your can't make us" which is fair enough but that sure is a wordy paint well the words you didn't read are explaining why we don't want to which is the point of answering the question but go off
|
# ? Jan 12, 2024 19:06 |
|
mystes posted:I'm not convinced that julia has a good reason to exist tons of good design decisions underlying it, i would challenge most to use it and not find it 90% excellent. issue is that it is not making any progress on the 10% that is garbage and at this rate the ecosystem is rotting and community getting weird as a result. bdid warned me early, i did not listen, and now i have a deeply regrettable julia codebase
|
# ? Jan 12, 2024 19:08 |
|
Cybernetic Vermin posted:tldr "we don't wanna and your can't make us" which is fair enough but that sure is a wordy paint ?? someone asked about the reason, and your distilled quote is hardly “a reason” that someone would be looking for
|
# ? Jan 12, 2024 19:09 |
|
rjmccall posted:well the words you didn't read are explaining why we don't want to which is the point of answering the question but go off i did absolutely read it, but chose not to in detail comment on the overarching implication about the comprehensive support apple offers for their carefully curated dev tools
|
# ? Jan 12, 2024 19:11 |
|
ooooo
|
# ? Jan 12, 2024 19:17 |
|
Apple can ship something and if it is broken or users ask for more features, Apple can just ignore them. That's how it always works, and it is super befuddling that OpenMP is a special case that must be left out, because otherwise Apple is honour bound to maintain it perfectly. I seriously don't get it. macOS had tons of old and unmaintained things (like OpenCL or OpenGL or the entire loving shell after FSF switched to GPL3 until maybe recently) and that's... fine? They still worked better than if they weren't there, and clearly Apple is able to just tell people who complain about the broken CPU OpenCL device to gently caress off (or rather, not say anything at all).
|
# ? Jan 12, 2024 19:21 |
|
my apple compiler toolchain experience: "we disabled some features and added some new ones, but you'll never know about any of it because you don't work for apple. ignore the built in stuff and install the open source version with homebrew if you want it to work like stackoverflow says it does"
|
# ? Jan 12, 2024 19:22 |
|
but also: nah, just loving around, i wouldn't want to take on the extra support either. it is *hardly* a reveal as a reason though.
|
# ? Jan 12, 2024 19:23 |
|
alright, well, i guess i'll answer questions here less
|
# ? Jan 12, 2024 19:23 |
|
Well, thanks for letting me know it's at least a technical decision (which I may not agree with), rather than OpenMP being ideologically haram in some obscure way. I couldn't find any official Apple documentation on this.
|
# ? Jan 12, 2024 19:26 |
|
obviously this is not that, but, man, remember your own personal encounter with the random "vendor" gcc 2.95? that was a long-running blight, gcc dev had fully stagnated and everyone had their own snowflake random assortment of patches
|
# ? Jan 12, 2024 19:30 |
|
egcs will save us again
|
# ? Jan 12, 2024 19:32 |
|
rjmccall posted:alright, well, i guess i'll answer questions here less pls dont make important decisions on a friday imo
|
# ? Jan 12, 2024 19:41 |
|
feel like i'm reading the steam forums and it's a thread about lazy entitled devs who could just simply ship a product
|
# ? Jan 12, 2024 19:45 |
|
Carthag Tuek posted:pls dont make important decisions on a friday imo
|
# ? Jan 12, 2024 19:51 |
|
Rust if you need a compiled binary. Python if you want to get work done quickly.
|
# ? Jan 12, 2024 19:51 |
|
Cybernetic Vermin posted:obviously this is not that, but, man, remember your own personal encounter with the random "vendor" gcc 2.95? that was a long-running blight, gcc dev had fully stagnated and everyone had their own snowflake random assortment of patches that was a p. dire time
|
# ? Jan 12, 2024 20:20 |
|
there but for the grace of god go I, forums poster dijkstracula, the compiler dev working on a language that mercifully nobody cares about additionally: Carthag Tuek posted:pls dont make important decisions on a friday imo
|
# ? Jan 12, 2024 20:25 |
|
how do you even become a compiler developer? i dont even know what skills you need to have to be one
|
# ? Jan 12, 2024 20:34 |
|
in my particular case I owe it all to having once been able to hyperfocus on the minutiae of x86 SIB offsets, and years later parlaying that into one (1) conversation about instruction selection to a real compiler dev who had headcount nowadays I'm working far enough up the stack that none of those things have any bearing on what I currently do
|
# ? Jan 12, 2024 20:39 |
|
2Fast2Nutricious posted:how do you even become a compiler developer? i dont even know what skills you need to have to be one You take a standard compiler course (or don't) and then you get hired to work on one, and have to spend a while learning how the local compiler is structured. They're just programs like any other. In many ways they are probably easier to work on than large enterprise programs, because at least they solve pretty well-defined problems, and there's some pretty good foundational theory for how they're supposed to work.
|
# ? Jan 12, 2024 20:44 |
|
|
# ? May 27, 2024 02:00 |
|
it’s just software, you can get entry level positions in the field. there aren’t as many compilers being built as there are fart apps, though, so there’s some scarcity writing a basic compiler isn’t that hard, and there are good books/courses/guides on it. there’s also a program to help newbies start to work on rustc, specifically a bit of self-loathing helps too
|
# ? Jan 12, 2024 20:48 |