<whitequark>
>Ruby, on the other hand, is highly consistent, and follows a few simple (and intuitive) logical rules.
* whitequark
emits a quiet sound, something between laughing and violently choking
<alexgordon>
whitequark: "quarking"?
<whitequark>
alexgordon: perhaps
<whitequark>
gazoombo: wait, you've been here all the time! how could I not notice you
<alexgordon>
Nuck: did you write that JUST to troll whitequark?
<whitequark>
well, I guess that *when compared to PHP*, he's sorta right
<whitequark>
it sounds horrible nevertheless
<alexgordon>
I'm amazed that programming languages are essentially charity work
<alexgordon>
along with OSs they are the basis for the modern technological revolution
<alexgordon>
yet humanity trusts their creation to kids in basements
<whitequark>
75% of linux devs are currently on payroll of IBM, Oracle, RedHat, Microsoft, ...
<whitequark>
hardly kids in basements.
<whitequark>
though with PLs it's closer to truth. still, C, C++, FORTRAN, ALGOL, CommonLisp, Java, Go were created by professionals and/or evolved by a committee.
<whitequark>
Haskell *shrug*. You'd find that most of the TIOBE index does not belong to kids.
<micahjohnston>
“K code is very dense, and it is typical to see 100:1 code size reduction when migrating to from C to K. I have heard of almost a 1000:1 reduction when a project moved from Java and SQL to K and KSQL (KDB's query language).”
<micahjohnston>
so I want to make a non-imperative/reactive k
<micahjohnston>
with the same beautiful compact kind of syntax
<micahjohnston>
but better
<micahjohnston>
and more static
<whitequark>
er
<whitequark>
micahjohnston: please get off whichever drugs you are on
<jesusabdullah>
no
<micahjohnston>
whitequark: first of all,
<jesusabdullah>
micahjohnston
<micahjohnston>
whitequark: no
<jesusabdullah>
stahp
<micahjohnston>
second of all
<jesusabdullah>
STAHP
<micahjohnston>
give it an honest look
<jesusabdullah>
that is terrifying
<jesusabdullah>
as is almost anything in the apl family
<whitequark>
micahjohnston: how do I say
<whitequark>
I understand what array languages aim for, and what they achieve
<whitequark>
but no, that's not any more "beautiful", or sensible, than any traditional DSL
<whitequark>
it lets you look down on everyone else, though
<alexgordon>
I don't get the point, personally
<micahjohnston>
"dsl"?
<micahjohnston>
it's not a dsl
<micahjohnston>
anyway i don't look down on everyone else for not using it
<micahjohnston>
i like it a lot because it lets me hold it all in my head at once
<micahjohnston>
because you can see everything at once
<whitequark>
micahjohnston: it's a dsl, sort of by definition: a dsl for manipulating arrays
<micahjohnston>
uh not really
<whitequark>
what I meant is that concise syntax doesn't mean simple semantics
<micahjohnston>
that's like saying
<micahjohnston>
java and ruby are dsls for manipulating objects
<whitequark>
yes, I'd say that is also true.
<micahjohnston>
which makes the term dsl utterly useless
<micahjohnston>
because then every language on earth is a dsl
<micahjohnston>
in which case you can shorten that to
<micahjohnston>
l
<whitequark>
yes, the question is what's the domain.
<micahjohnston>
well, most languages can work in a lot of different domains
<micahjohnston>
haskell and java can both make complex mathy things and games
<whitequark>
I'd rather not discuss terminology
<whitequark>
it's pointless
<micahjohnston>
ok
<micahjohnston>
just seemed like you were dismissing it as a dsl when it's pretty general-purpose, to the point that people are making an os in it
<alexgordon>
micahjohnston: all functions have domains!
<micahjohnston>
and I mean
<micahjohnston>
"os"
<whitequark>
well, look at the javascript analogy then. is it possible? surely. is it a good idea? depends!
<micahjohnston>
sure
<micahjohnston>
you're missing the point
<whitequark>
you are :p
<micahjohnston>
i saw your use of the term dsl as a dismissal
<micahjohnston>
how did you intend it
<whitequark>
oh
<whitequark>
that is completely not what I intended to say
<alexgordon>
"<+whitequark> micahjohnston: please get off whichever drugs you are on"
<alexgordon>
lol'd
<purr>
lol
<whitequark>
I'm saying that there is array language semantics, and it's very interesting, and there's array language syntax, which is not interesting at all, except for its novelty and dubious virtue of space-saving
<alexgordon>
micahjohnston: languages like k miss the point
<micahjohnston>
whitequark: it's more than just space-saving
<alexgordon>
micahjohnston: when you are programming you are talking to a computer
<micahjohnston>
whitequark: like, the semantics that allows for concision are cool
<micahjohnston>
alexgordon: they don't "miss the point", they have a different point
<alexgordon>
if you want shorter code, use gzip
<micahjohnston>
lol the point is not to save hard drive space
<micahjohnston>
which is all gzip accomplishes
<whitequark>
micahjohnston: imagine I'm taking K semantics and implementing this as a ruby dsl
<micahjohnston>
the point is to reduce cognitive load
<micahjohnston>
you can see the shape of the code right there
<whitequark>
what would be the hardest to implement?
<alexgordon>
micahjohnston: right but surely the point is the harder and more subjective quality of being equally understandable to computers AND humans
<alexgordon>
micahjohnston: and having a representation that fits the human brain
<micahjohnston>
alexgordon: K and APL are like, context sensitive, so they're harder for computers to understand than humans
<alexgordon>
I'd argue that k's representation does not "fit" my brain
<micahjohnston>
alexgordon: like, parsing it is hard
<whitequark>
(reduce) nah, it increases my cognitive load
<whitequark>
which brings me to the rest of my point
<micahjohnston>
alexgordon: sure, not yours, but I'd argue that if you devote time to it
<micahjohnston>
and get familiar
<micahjohnston>
and I mean of course it depends on preference and style
<alexgordon>
micahjohnston: but I could devote time to exercise or listening to music
<micahjohnston>
alexgordon: well of fucking course you can choose what you devote your time to
<whitequark>
which is, it has a high entry barrier, *after passing which* it's as easy to understand as, say, Java code to a Java programmer
<micahjohnston>
alexgordon: tell me where I commanded you to spend time learning K
<alexgordon>
micahjohnston: well... if you want to devote time to it, surely you think it's a useful endeavour
<micahjohnston>
whitequark: I'd argue cognitive load is lower after that barrier than it is for java
<whitequark>
micahjohnston: do you have a metric for that?
<micahjohnston>
whitequark: no, but do you
<micahjohnston>
you can't really measure this shit very well
<whitequark>
and I don't mean even scientific metric, just any, except "I think so"
<whitequark>
yes exactly
<micahjohnston>
but based on my subjective experience
<micahjohnston>
java code has a lot of cognitive load from
<whitequark>
so it's your word against mine
<micahjohnston>
looking around and scrolling around and switching files and shit
<alexgordon>
micahjohnston: reminds me of a fact
<micahjohnston>
when everything is so verbose, it's exhausting to me to write and read
<micahjohnston>
so
<whitequark>
as I've been saying: the syntax should resemble the semantics
<whitequark>
everything on top of that means nothing
<whitequark>
well, it fuels internet flamewars, and that's about it.
<alexgordon>
micahjohnston: people who speak spanish talk faster than people who speak english, because each individual word has less entropy (i.e. you need more words in spanish to say the same thing)
<micahjohnston>
whitequark: iverson's book about apl and j is called "notation as a tool of thought"
<micahjohnston>
like, the notation is very carefully considered to resemble the semantics
<micahjohnston>
alexgordon: right
<alexgordon>
micahjohnston: but the consequence being that it takes the same amount of time to express a phrase or sentence
<micahjohnston>
alexgordon: right
<micahjohnston>
so yes, writing a line of k takes longer than writing a line of java
<micahjohnston>
no arguments there
<micahjohnston>
but what I would argue is that
<micahjohnston>
the corresponding increase does not cancel out the benefits
<whitequark>
writing? reading is all that matters
<micahjohnston>
ok
<micahjohnston>
reading
<micahjohnston>
alexgordon is talking about speaking out loud though
<alexgordon>
well both
<micahjohnston>
which is a very different process from writing *or* reading code in any case
<alexgordon>
the point is that the brain needs to do error correction
<micahjohnston>
done on an unconscious level
<alexgordon>
in english you need fewer words so you need to say them slower to ensure correctness
<micahjohnston>
alexgordon: irrelevant in the case of programming languages because they cannot be spoken natively
<micahjohnston>
anyway, in a somewhat related way though
<alexgordon>
in spanish you have more information so you can say it quicker
<micahjohnston>
I like K and its ilk because they allow you to use that part of your brain more
<alexgordon>
and ensure the same error rate
<micahjohnston>
the linguistic part rather than the slow highest level of consciousness part
<alexgordon>
since it's more redundant
<micahjohnston>
they let you see the shape of the code as a whole more easily
<micahjohnston>
just like reading a natural langauge
<micahjohnston>
that's why I like it
<alexgordon>
micahjohnston: but the idea generalizes. If there's less redundancy, you need more time to be more thorough
<micahjohnston>
alexgordon: but they don't cancel each other out
<alexgordon>
so it may indeed take the same time to read as a more redundant language like java
<micahjohnston>
alexgordon: writing and reading a line of k takes more time than a line of java
<micahjohnston>
but that's becasue
<micahjohnston>
java code will have like
<alexgordon>
not a line, an idea
<micahjohnston>
well I would say
<alexgordon>
I mean I agree in java's case, but that's more to do with the programming model
<micahjohnston>
the fact that an idea must be spread apart in java
<micahjohnston>
makes it harder to comprehend quickly and naturally
<alexgordon>
there's no easy way to do functional programming
<alexgordon>
a better comparison would be with haskell
<alexgordon>
which has the same functional tools available
<micahjohnston>
you have to explore around the page
<alexgordon>
but is more verbose than K
<micahjohnston>
and slowly build a model of it in your head
<micahjohnston>
like, I'm not arguing that K is better than Java etc.
<micahjohnston>
I'm saying it's better at a particular thing
<micahjohnston>
and it feels like you are arguing that it's entirely useless and has no benefits over say java
<alexgordon>
micahjohnston: yeah pretty much
<alexgordon>
but over haskell not java
<alexgordon>
since java has its own problems
<alexgordon>
micahjohnston: K is a bit like the freemasons
<micahjohnston>
…what
<alexgordon>
right
<alexgordon>
perhaps I should just leave that there
<micahjohnston>
there are literally zero similarities between K and the freemasons
<whitequark>
micahjohnston: why did you give your drugs to alexgordon
<alexgordon>
ketamine
<micahjohnston>
boys' club
<micahjohnston>
and
<whitequark>
alexgordon: get off
<micahjohnston>
programming language
<micahjohnston>
can't quite see it
<alexgordon>
micahjohnston: the freemasons is very secretive and obfuscatory, and as an outsider you'd be forgiven thinking it's some worldruling conspiracy
<alexgordon>
micahjohnston: but in reality it's just a more sophisticated equivalent to Bingo
<micahjohnston>
…dumb comparison
<alexgordon>
xD
<alexgordon>
I'm on drugs dammit
<micahjohnston>
the point of k is not to be secretive
<micahjohnston>
it's to achieve a certain ideal that some people including me care about
<whitequark>
but the result sort of is
<alexgordon>
micahjohnston: my point being that K looks strange, but I don't think it's actually any different to haskell, once you get over the crazy syntax
<micahjohnston>
whitequark: yeah but it's not the point of it
<whitequark>
micahjohnston: well, it depends on whether you actually want any recognition outside the tiny k circle
<micahjohnston>
alexgordon: there are significant differences
<micahjohnston>
but i'm getting tired of this conversation
<whitequark>
if not, you're totally ok
<whitequark>
if yes, you're doing it wrong
<alexgordon>
whitequark: *freemasons
<alexgordon>
micahjohnston: me too
<whitequark>
FREEMASONS
<alexgordon>
whitequark: FREEDOM
<alexgordon>
dammit where's jeannicolas when you need him