|
Mr Dog posted:programming in the 80s and early 90s was about cleverness because you had to fit an elephant of functionality into a thimble of hardware. discipline is the order of the day, not cleverness. but that's not very appealing to "rock stars" you are being nostalgic for a time you never experienced and at the same time claiming seniority over the youth of today. i find this amusing.
|
# ? Feb 8, 2014 21:22 |
|
|
# ? Jun 6, 2024 18:46 |
|
Mr Dog posted:like i've dealt with way too many precious snowflake .~*code poets*~. writing illegible poo poo to consider anything but the most mundane language "power" features to be worth having around. Unfortunately at the same time you're embracing weird performance driven features. Why can't we all just use a bignum type and stop it with these fixed width integers and floating point. Those hardware types are a premature optimization which leads to complexity. quote:programming in the 80s and early 90s was about cleverness because you had to fit an elephant of functionality into a thimble of hardware. Somewhat, but a lot of the programming was just dumb batch scripts and payroll. You're thinking of games. The same is often true today of games. quote:these days we have ample compute power, although it's often distributed, unreliable, and nondeterministic. discipline is the order of the day, not cleverness. all of those things were true back then, and so was your conclusion. quote:but that's not very appealing to "rock stars" born 20 years too late to claim a massive chunk of the new frontier of computing from their garage, now is it. rock stars are somewhat a modern phenomenon but there has always been programmers showing off.
|
# ? Feb 8, 2014 21:26 |
|
AlsoD posted:i genuinely have no idea what that does so i'm going to find out and demonstrate the process. my first port of call is the docs. christ all that for fmap (sum . zipWith (*) [0..]) get (or get <$> sum .zipWith (*) [0..] for the cool kids) i mean i get why generalized indexed generalized traversals inside a generalized MonadState that preserve state are cool but gently caress if that requires 10 type parameters Malcolm XML fucked around with this message at 21:32 on Feb 8, 2014 |
# ? Feb 8, 2014 21:29 |
|
Notorious b.s.d. posted:in lisp it's not the norm at all to abuse operators lmao "I don't like syntax foolery so i will advocate for the language that has the most powerful syntax fooling system known: macros" ever stared at the loop macro? i will take %%@= over that any day of the week
|
# ? Feb 8, 2014 21:34 |
|
you know chat complaining about math notation is usually reserved for dimwit hners in the hn thread, but what do you guys actually think is better? long names almost certainly isn't the answer. typing math is really bad as it is now. i'd be interested to see one of you solve a longish somewhat difficult problem that required a knowledge level of like diff eq to solve. i mean, what do you do when your proof is actually about generic numbers? write "real1" instead of "a"?
|
# ? Feb 8, 2014 21:41 |
|
Malcolm XML posted:lmao look it's bad when we use punctuation to introduce syntax, but it's ok when we implement our own evaluation order if it has a alphanumeric name
|
# ? Feb 8, 2014 21:41 |
|
funroll loops posted:you know chat complaining about math notation is usually reserved for dimwit hners in the hn thread, but what do you guys actually think is better? long names almost certainly isn't the answer. typing math is really bad as it is now. i'd be interested to see one of you solve a longish somewhat difficult problem that required a knowledge level of like diff eq to solve. uhhh you don't write your types? F : ℝ -> ℝ
|
# ? Feb 8, 2014 21:46 |
|
funroll loops posted:you know chat complaining about math notation is usually reserved for dimwit hners in the hn thread, but what do you guys actually think is better? long names almost certainly isn't the answer. typing math is really bad as it is now. i'd be interested to see one of you solve a longish somewhat difficult problem that required a knowledge level of like diff eq to solve. mathematical ideas are best communicated with prose. the notation's just there to a) provide rigour where plain english can't and b) so the reader doesn't have to invent their own notation when they themselves want to manipulate the ideas at hand. coffeetable fucked around with this message at 21:55 on Feb 8, 2014 |
# ? Feb 8, 2014 21:52 |
|
FamDav posted:uhhh you don't write your types? right, but people are mad about that i guess? people are mad about that being unclear. honestly the example im thinking of is solving some sort of classical mechanics problem involving a lagrangian except with whatever notation people think is better subbed in. long descriptive names all along the way seem like a nightmare for even a fairly simple problem (ie, something someone with a bs in physics could solve). and then even when you have descriptive names you're still hosed because actual pure math might have no physical analogs to name variables after
|
# ? Feb 8, 2014 21:52 |
|
coffeetable posted:mathematical ideas are best communicated with prose. that's what they used to do back thru like the 17th century and: that poo poo sucked
|
# ? Feb 8, 2014 21:59 |
|
computer parts posted:why yes, let's use a mixture of latin letters and the letters of a language that directly preceded and influenced latin, nothing can go wrong here there's like no overlap in the lower case letters except in maybe omicron and the only time that ever gets used is in little-o notation (i guess nu kind of looks like a scripty v) tbh id like to see more hebrew and cyrillic letters getting used, only ones that show up are aleph (and sometimes beth) and once in a while sha
|
# ? Feb 8, 2014 22:05 |
|
sometimes π is neither π nor π
|
# ? Feb 8, 2014 22:18 |
|
Notorious b.s.d. posted:incidentally, the classic example of "good" operator overloading, math, sucks poo poo. mathematical notation is a crime against sentience. it's a jungle of bad loving ideas that we were all trained on as children, so now it is familiar. you're totally free to make up your own notation, crazy people do it all the time
|
# ? Feb 8, 2014 22:24 |
|
FamDav posted:sometimes π is neither π nor π it used to bug me a little when people would use π to mean a permutation or probability distribution but now i just deal with it
|
# ? Feb 8, 2014 22:26 |
|
it's up to you when you write your maths thing to choose symbols and define them properly when you are describing what is happening. normally this works pretty well
|
# ? Feb 8, 2014 22:28 |
|
the worst abuse of notation i've ever seen is when talking about n-spheres. so a sphere in n+1 dimensions is called sn i.e. a normal sphere is S2. the function to turn a sphere into its higher dimension (there's various ways including projection or suspension or whatever) was labelled S. therefore, Sn+1 := SSn gonadic io fucked around with this message at 22:45 on Feb 8, 2014 |
# ? Feb 8, 2014 22:31 |
|
well the dimension of a sphere being one less is because the sphere is a particular n-dimensional object embedded in an n+1 space. a ball is a n dimensional object in an n dimensional space.
|
# ? Feb 8, 2014 22:43 |
|
AlsoD posted:the worst abuse of notation i've ever seen is when talking about n-spheres. 88^n hitler sphere, zeigheil
|
# ? Feb 8, 2014 23:48 |
|
Malcolm XML posted:lmao the implementation of the loop macro will make you cry blood consumption of the loop macro in your own code is really pretty ok to both read and write. (edit: i say this but i have literally never found myself wanting to use 'loop' in code i wrote myself)
|
# ? Feb 9, 2014 00:44 |
|
(loop repeat 5 for x = 0 then y for y = 1 then (+ x y) collect y)
|
# ? Feb 9, 2014 00:46 |
|
how is that any more readable than cencenpattis
|
# ? Feb 9, 2014 00:46 |
|
Suspicious Dish posted:how is that any more readable than cencenpattis really? if you have to ask, you don't deserve an answer
|
# ? Feb 9, 2014 00:49 |
|
AlsoD posted:VVVV: ok i'll concede % being "cen" but = is "eek" so ~ can be "is" jesus if you want to say something please post, don't make me look for random replies you made the answer is it was a joke on hoon http://www.urbit.org/doc/2013/11/18/ch7/ heres a json parser in hoon code:
|
# ? Feb 9, 2014 00:49 |
|
Notorious b.s.d. posted:really? its english words but it still doesnt make any sense. tell me what that does without running it.
|
# ? Feb 9, 2014 00:49 |
|
or, even, let's try easy mode: tell what it outputs without running it
|
# ? Feb 9, 2014 00:50 |
|
Suspicious Dish posted:its english words but it still doesnt make any sense. tell me what that does without running it. i have no idea but by virtue of it being english words, i'm gonna have a lot easier time looking for the documentation, discussing the problem with others, and explaining the solution when/if i find it it's possible to write hideous code with sane syntax, no one is debating that
|
# ? Feb 9, 2014 00:53 |
|
reminder: defending operator overloading is defending thiscode:
|
# ? Feb 9, 2014 00:58 |
|
Suspicious Dish posted:jesus if you want to say something please post, don't make me look for random replies you made eheheh hoon. fun fact: hoon/urbit/nock are all written by mencius moldbug, the self-described "reactionary" and "jacobite" who believes that all political power should be surrendered to a corporation whose shareholders are the landed gentry the libertarian nutjobs out there suspect that the purpose of the project is to escape un-trustworthy compute platforms touched by the evil government: http://www.popehat.com/2013/12/06/nock-hoon-etc-for-non-vulcans-why-urbit-matters/
|
# ? Feb 9, 2014 01:00 |
|
the first neoreactionary functional programming language to enjoin jacobite politics as-a-platform in urbit, hoon virtualizes you nock your way to will to power
|
# ? Feb 9, 2014 01:07 |
|
Notorious b.s.d. posted:i have no idea I don't take such an extremist attitude. I think the loop syntax is insane, whereas I don't think anybody has trouble explaining "a + b" to a friend. Yes, it's a bit silly you can't use English words for operators, but I don't think (loop repeat 5 for x = 0 then y for y = 1 then (+ x y) collect y) should be held up as an example of something you want to emulate. Even knowing that macro, I'm wondering to myself, is the "x" loop the outer one or is the "y" loop the outer one? Is "repeat 5" for x or y? Without the breaks in the syntax, it's hard to parse.
|
# ? Feb 9, 2014 01:10 |
|
Suspicious Dish posted:I don't take such an extremist attitude. I think the loop syntax is insane, whereas I don't think anybody has trouble explaining "a + b" to a friend. Yes, it's a bit silly you can't use English words for operators, but I don't think let me turn this around for you. leaving the 'loop' implementation exactly the same, do you consider this an improvement? code:
did moving to arbitrary non-words improve or hurt the readability of a perverse mis-use of a macro that neither of us likes?
|
# ? Feb 9, 2014 01:13 |
|
Notorious b.s.d. posted:reminder: defending operator overloading is defending this reminder: 90% of these are a normal haskell function with: - possibly '<' in front of it (returns the value before applying the function) - the infix function name itself - possibly '@' (indexed) - then either ~ (is a normal function lens) or = (is a lens affecting the state) after it sure <<>~ looks like a tampon but <> is great. how is this really that different from all of printf's operators? "%+-6.6f\n" is fine right you just have to know the spec or have it in front of you
|
# ? Feb 9, 2014 01:13 |
|
AlsoD posted:how is this really that different from all of printf's operators? "%+-6.6f\n" is fine right you just have to know the spec or have it in front of you printf is also eye-blisteringly awful before you ask, i think it should be replaced with a builder pattern that uses english words
|
# ? Feb 9, 2014 01:14 |
|
AlsoD posted:reminder: 90% of these are a normal haskell function with: so because the rest of haskell is loving terrible, the abortions in the lens library are supposed to get a free pass?
|
# ? Feb 9, 2014 01:15 |
|
Notorious b.s.d. posted:printf is also eye-blisteringly awful oh, nice, like the horror that is trying to write formatted strings to C++ streams
|
# ? Feb 9, 2014 01:17 |
|
oh i get it, < on front returns the new value while << on front returns the old one so <<<>~ exists too. lol.code:
gonadic io fucked around with this message at 01:28 on Feb 9, 2014 |
# ? Feb 9, 2014 01:22 |
|
Deus Rex posted:oh, nice, like the horror that is trying to write formatted strings to C++ streams iostreams has a lot of problems but the builder pattern isn't the root of them in fact operator overloading is one of the problems with iostreams too. they had a shiny new toy and they were gonna use it, no matter how poorly it fit
|
# ? Feb 9, 2014 01:23 |
|
Suspicious Dish posted:I don't take such an extremist attitude. I think the loop syntax is insane, whereas I don't think anybody has trouble explaining "a + b" to a friend. Yes, it's a bit silly you can't use English words for operators, but I don't think if you write it how a normal person would write it: code:
code:
|
# ? Feb 9, 2014 01:25 |
|
VanillaKid posted:if you write it how a normal person would write it: the goodness or badness of the loop macro is not the issue at hand anyway. you can gently caress anything up if you try hard enough, but i still strongly prefer "loop repeat..." to "8==D #%%~..."
|
# ? Feb 9, 2014 01:27 |
|
|
# ? Jun 6, 2024 18:46 |
|
let's look at some real code, some of the worst examples from my game (well i call it that, it's barely at the stage where it's interactive)code:
code:
code:
|
# ? Feb 9, 2014 01:35 |