|
crazypenguin posted:Sure, your eye reads left to right, which is nice, but on the other hand the math style makes order equivalent between "f(g(x))" and "f . g $ x", which is also nice. if you prefer math style to something easily readable idk wtf is wrong with you
|
# ? Feb 20, 2017 19:32 |
|
|
# ? Jun 3, 2024 17:07 |
|
crazypenguin posted:going back a bit the totality of your analysis of the obvious answer is "Ew!", fwiw i have yet to find a programming language that makes all code equally beautiful. probably you could get closer with insane whitespace sensitivity, i.e. effectively treating absence of whitespace as parentheses. in the absence of perfection we are left with trade-offs. the key questions for resolving this specific trade-off in my mind are whether functions that return functions which get immediately called are actually important outside of currying, and then whether currying is actually important outside of the pipeline idiom i will confess that another consideration i have in mind is the use of parameter labels, because i've come to really appreciate those, and the f(x) syntax very neatly generalizes to parameter labels while the juxtaposition syntax really, really does not
|
# ? Feb 20, 2017 19:42 |
|
rjmccall posted:abstract types were first studied in functional languages more than thirty years ago, and letting programmers invoke the operations with dot-syntax is just taking namespacing seriously as a language problem instead of hiding your head in the sand. it's even trivial to allow higher-order uses with Type.operation rjmccall posted:all are welcome in glorious pl thread I like ocaml modules they are great I just don't like the builder style even if it ends up being sugar over immutable data becasur some rear end in a top hat will inevitably add something mutable andnfuck your day
|
# ? Feb 20, 2017 19:53 |
|
well your language doesn't actually have to allow that. that's a reference-type problem, if you were using value types or just plain fp-style guaranteed-immutable types it wouldn't be a concern
|
# ? Feb 20, 2017 19:57 |
|
rjmccall posted:the totality of your analysis of the obvious answer is "Ew!", fwiw keyword args and juxtaposition calling works if u put parent around the whole thing or special case : in the grammar or use ruby style commas I like juxt style if u got a lot of little composable functions which is coincidentally what fp has in abundance....
|
# ? Feb 20, 2017 19:57 |
|
Blinkz0rz posted:if you prefer math style to something easily readable idk wtf is wrong with you the problem here is that "readability" is trained. that's part of the trouble: is there a right-er enough answer that we should re-train people's expectations? I don't think that's completely obvious? (I mean, I'm partial to your answer but now we're headed towards "pontificating while actually knowing nothing" territory here) rjmccall posted:the key questions for resolving this specific trade-off in my mind are whether functions that return functions which get immediately called are actually important outside of currying, and then whether currying is actually important outside of the pipeline idiom I agree with this, I just want actual answers to those two questions, because I share your wish that the answers are "no", but wishes not being fishes has burned me a lot
|
# ? Feb 20, 2017 20:09 |
|
rjmccall posted:i will confess that another consideration i have in mind is the use of parameter labels, because i've come to really appreciate those, and the f(x) syntax very neatly generalizes to parameter labels while the juxtaposition syntax really, really does not OCaml has labelled parameters; it looks OK: f ~butts: poop.
|
# ? Feb 20, 2017 20:10 |
|
rjmccall posted:i will confess that another consideration i have in mind is the use of parameter labels, because i've come to really appreciate those, and the f(x) syntax very neatly generalizes to parameter labels while the juxtaposition syntax really, really does not smalltalk does juxtaposition with argument labels, but maybe that's an argument against it (foo bar: a b c baz: d e is foo.bar(a.b().c(), baz: d.e()))
|
# ? Feb 20, 2017 20:11 |
|
Bloody posted:math style is wrong. math is a syntactic tragedy, and its mistakes should be avoided wherever possible
|
# ? Feb 20, 2017 20:11 |
|
the entire point of programming languages is to provide a human readable syntax for telling the computer what to do which makes math-based syntax very bad.
|
# ? Feb 20, 2017 20:12 |
|
Plorkyeran posted:smalltalk does juxtaposition with argument labels, but maybe that's an argument against it (foo bar: a b c baz: d e is foo.bar(a.b().c(), baz: d.e())) i hate it, but that's probably not a good enough reason i'd forgotten that ruby does it too
|
# ? Feb 20, 2017 20:15 |
|
crazypenguin posted:the problem here is that "readability" is trained. that's part of the trouble: is there a right-er enough answer that we should re-train people's expectations? lol there's no benefit whatsoever to making code read like math or training anyone to read it that way it's a pointless academic exercise that has no value in the real world please repeat after me "computer science is not software development"
|
# ? Feb 20, 2017 20:41 |
|
Shaggar posted:the entire point of programming languages is to provide a human readable syntax for telling the computer what to do which makes math-based syntax very bad. yet again shaggar was right
|
# ? Feb 20, 2017 20:42 |
|
academic computing is a cancer and undergrad cs programs should be entirely eradicated in favor of trade schools that teach programming
|
# ? Feb 20, 2017 20:43 |
|
capitalism destroys yet another beautiful thing
|
# ? Feb 20, 2017 20:46 |
|
Asymmetrikon posted:capitalism destroys yet another beautiful thing lol if you think a thing people gently caress and cum in is beautiful just lol
|
# ? Feb 20, 2017 20:49 |
|
Blinkz0rz posted:academic computing is a cancer and undergrad cs programs should be entirely eradicated in favor of trade schools that teach programming your code is a piece of poo poo
|
# ? Feb 20, 2017 20:59 |
|
not that I don't like the current bike shed, but if we have to pick a color for the shed why not use actual color? Go boldly into the cold hard nights of Forth and use semantic coloring for your source code. Ambiguous syntax for function arguments? Define ownership and preference through coloring of terms! Chuck Moore the hell out of this
|
# ? Feb 20, 2017 21:11 |
|
carry on then posted:your code is a piece of poo poo sure is!
|
# ? Feb 20, 2017 21:43 |
|
MononcQc posted:not that I don't like the current bike shed, but if we have to pick a color for the shed why not use actual color? bold means copy-on-write reftype params, italic means box primitive type params and then mutate their state on return.
|
# ? Feb 20, 2017 22:12 |
|
lisp is a piece of poo poo L.P.O.S.
|
# ? Feb 20, 2017 23:37 |
|
I just applied for a county government job that appears to use ABAP and me maybe? I mean, I'd never heard of this thing.
|
# ? Feb 21, 2017 06:10 |
|
CPColin posted:I just applied for a county government job that appears to use ABAP and me maybe? I mean, I'd never heard of this thing. i'm the Allgemeiner Berichts-Aufbereitungs-Prozessor also whyyyyyy?
|
# ? Feb 21, 2017 06:20 |
|
On the Talk page for that article, somebody suggests the direct English translation would be Common Report Analysis Processor, which is much better.
|
# ? Feb 21, 2017 06:22 |
|
how very german
|
# ? Feb 21, 2017 06:23 |
|
CPColin posted:I just applied for a county government job that appears to use ABAP and me maybe? I mean, I'd never heard of this thing. lol rip
|
# ? Feb 21, 2017 06:30 |
|
why buy a product if your gonna be coding its functionality?? why not just program the whole thing in house? this SAP thing looks a hell lot like a scam
|
# ? Feb 21, 2017 08:16 |
|
Shinku ABOOKEN posted:why buy a product if your gonna be coding its functionality?? why not just program the whole thing in house? this SAP thing looks a hell lot like a scam same but buying food
|
# ? Feb 21, 2017 08:22 |
|
CPColin posted:I just applied for a county government job that appears to use ABAP and me maybe? I mean, I'd never heard of this thing. you indeed, I stopped listing my ABAP job on resume the second I had something else to fill the place with.
|
# ? Feb 21, 2017 16:22 |
|
Bloody posted:math style is wrong. math is a syntactic tragedy, and its mistakes should be avoided wherever possible since everyone can do (some) math and math has no hard requirement for a good standardized notation so that everyone has to invent their own, a syntactic tragedy of commons is all but guaranteed my latest annoyance: someone decided sometime ago that the mantissa bits of a floating-point should now be called the "significand" as they are so significant and they wanted to use the word mantissa for something else so rather than thinking of float as SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM you should think of float as SignEEEEEEE ESignificandSignificandSignificandSignificandSignificandSignificandSignificand SignificandSignificandSignificandSignificandSignificandSignificandSignificandSignificand SignificandSignificandSignificandSignificandSignificandSignificandSignificandSignificand you can see halfhearted attempts to placate this idiocy all over the place
|
# ? Feb 22, 2017 09:14 |
|
you may be in a minority on preferring mantissa though https://en.wikipedia.org/wiki/Significand#Use_of_.22mantissa.22
|
# ? Feb 22, 2017 09:43 |
|
but wait, we can do better than a single made up word! from now on, the sign bit is the signifer(1) bit. the exponent is to be called the signifier(2). and the significand is replaced with the more descriptive word signiorizee(3). (1) as it comes "bearing signs" (2) as in "signifying the magnitude" (3) meaning literally "that which gets it lorded over them"
|
# ? Feb 22, 2017 09:54 |
|
to bring this little digression to a conclusion, here is Wikipedia so characteristically demonstrating the difference of mantissa and significand:Wikipedia posted:Many logarithm tables give logarithms by separately providing the characteristic and mantissa of x, that is to say, the integer part and the fractional part of log10(x). The characteristic of 10 ∙ x is one plus the characteristic of x, and their significands are the same. conversely, the characteristic of (10 ∙ x) ÷ 10 is one plus the characteristic of x minus one, and their significands are again the same. thus, knowing the characteristic and mantissa of x and having a logarithm table at hand, and because (10∙x)÷10 ≝ x, ∴ the significand of x ≡ the mantissa of x. ∎
|
# ? Feb 22, 2017 13:45 |
|
mantissa sounds like mantis making it 1000% cooler than significand which isn't even recognized by iOS
|
# ? Feb 22, 2017 13:52 |
|
comedyblissoption posted:the following are superior and have way less superfluous noise: real chat: readable things have redundancy in them to aid meaning I mn, y cn tk t th vwls, lv th cnsnts n, nd ts stll rdbl orifyoulikeyoucanjustwritewithoutspaces
|
# ? Feb 22, 2017 13:59 |
|
i had no problems reading that, tef
|
# ? Feb 22, 2017 14:19 |
|
tef posted:real chat: readable things have redundancy in them to aid meaning yes and how much redundancy ought to depend on the error rate for instance, when typing messages for a computer we shouldn't be restricted to what works for handwriting
|
# ? Feb 22, 2017 14:59 |
|
Brain Candy posted:yes and programming languages are for humans, not computers
|
# ? Feb 22, 2017 15:44 |
|
there are real world languages where you only write what you say. hangul and arabic come to mind
|
# ? Feb 22, 2017 15:50 |
|
|
# ? Jun 3, 2024 17:07 |
|
Shinku ABOOKEN posted:there are real world languages where you only write what you say. hangul and arabic come to mind Both Korean and Arabic still have redundancy in written form, though, even if written without additional redundancy. https://www.mdpi.com/1099-4300/18/10/364/pdf
|
# ? Feb 22, 2017 16:48 |