<alexgordon>
does chellio have control? ELLIOTTCABLE never says "LOL"
<alexgordon>
*never*
<prophile>
IMPOSTOR
BrockBoland has joined #elliottcable
BrockBoland is now known as BrockBoland-afk
<ELLIOTTCABLE>
alexgordon: I'm sleepy, okay? Gimmie a break.
<ELLIOTTCABLE>
omnivector: coming at you with scissors before we jet for the Apple Store, tonight.
<ELLIOTTCABLE>
omnivector: GOOD LUCK. *dun dun dunn*
BrockBoland-afk is now known as BrockBoland
BrockBoland is now known as BrockBoland-afk
<alexgordon>
ELLIOTTCABLE: sleepy? wait what time is it
<alexgordon>
13:18 in san francisco, 16:18 in new york
<joelteon>
yea wtf mate
<ELLIOTTCABLE>
I didn't sleep much last night.
<alexgordon>
I can hear
BrockBoland-afk is now known as BrockBoland
BrockBoland is now known as BrockBoland-afk
BrockBoland-afk is now known as BrockBoland
BrockBoland is now known as BrockBoland-afk
<alexgordon>
BrockBoland?
<alexgordon>
cuttle: present?
<ELLIOTTCABLE>
alexgordon: everybody who matters, is afk.
<ELLIOTTCABLE>
alexgordon: it's kind of dicks.
<alexgordon>
ELLIOTTCABLE: just me an you then
<alexgordon>
and
<alexgordon>
damn
<alexgordon>
keyboard
<alexgordon>
all my keys are falling off
omnivector has quit [Quit: omnivector]
<ELLIOTTCABLE>
hi, alexgordon
<alexgordon>
rust is so nice
<alexgordon>
but strange
* ELLIOTTCABLE
nods
<ELLIOTTCABLE>
so I hear.
<alexgordon>
I feel like, there's a set limit to how complex a language can be
<alexgordon>
before it becomes a real chore to learn
<alexgordon>
with simpler languages like lua I can fit it in my head, and even though I only write lua code once in a blue moon, I never feel like I need to relearn it
<alexgordon>
but rust, scala, to a lesser extent go... they're too big for that
<alexgordon>
I did some scala a few months ago, I'd have to start from scratch learning it now
<alexgordon>
this is a problem because people primarily learn new languages in their spare time, over a long period of time
<alexgordon>
until they become established enough that they can use them in their day job
<ELLIOTTCABLE>
I talked to, uhhh, @bradlarson about this for a while.
<ELLIOTTCABLE>
It was *very* informative.
<alexgordon>
mm?
<ELLIOTTCABLE>
he's, basically, an enterprise-style programmer (except ObjC instead of, say, Java or .NET)
<ELLIOTTCABLE>
but in that, I mean, for *our* purposes in this channel, he's an enterprise programmer.
<alexgordon>
lol enterprise objc, I never thought I'd hear that one
<purr>
lol
<ELLIOTTCABLE>
he has little, to no, interest in going out, finding new languages, and learning them.
<alexgordon>
dayjob programmer?
<alexgordon>
9-5er
<alexgordon>
yeah go on
<ELLIOTTCABLE>
(yeah, his company, since they're shipping their own black-box hardware, decided to make that hardware be Macs, because ObjC was the most productive out of the tools they'd looked at to power their industrial robots.)
<ELLIOTTCABLE>
(nah, C++ industrial robotics company that had been shipping with integrated black-box Linux boxes in their $50,000 machines … and now ship Macs inside there, simply because that superpowers the company's devs.)
<ELLIOTTCABLE>
anyway
<alexgordon>
industrial robots *drools*
<ELLIOTTCABLE>
*even when understanding* that learning new languages would expand his horizons, and make him a better programmer.
<ELLIOTTCABLE>
er, we haven't talked about this in a while, sooooo, just a refresher:
<ELLIOTTCABLE>
the Thing Elliott Cares About, more than anything else, is teaching linguistics.
<ELLIOTTCABLE>
making more people, know how to program.
<ELLIOTTCABLE>
and making more people who already know how to program, know more than one language.
<ELLIOTTCABLE>
and making more people who already know how to program in more than one language, know more than one *paradigm*.
<ELLIOTTCABLE>
anyway.
<ELLIOTTCABLE>
so I talked to him about this topic. talked him into acting as a guinea pig for my ideas … because I never *meet* anybody who isn't already into self-improvement before productivity.
<ELLIOTTCABLE>
anyway.
<alexgordon>
lol
<purr>
lol
<alexgordon>
AYWAY
<alexgordon>
ANY
<alexgordon>
god
<ELLIOTTCABLE>
takeaways boiled down to somethings that *sound* obvious, but really aren't:
<ELLIOTTCABLE>
first off, languages with interesting features/paradigms/life-expanding-awesomeness, will *never* actually change the world, or improve devs' lives, if those mainstream-devs can't *see, easily* what it's *for*. That is, it has to have a focused goal, something it's Good At.
<ELLIOTTCABLE>
and more specifically, it has to have something it's **Better** At, than whatever they're already using.
<ELLIOTTCABLE>
this guy, as a really perfect generic example, sure, was *mildly* interested in Haskell or Prolog or whatever, had heard things … but isn't going to go spend his off-work time learning it, weeks and weeks of time to learn it well and actually benefit in any way from that knowledge, when there's literally no obvious useful application of Haskell. (sorry,
<ELLIOTTCABLE>
guys. all the Normals agree with me, here. Haskell's fucking useless.)
<ELLIOTTCABLE>
(especially when the bosses aren't going to give him a reason/directive to do so on company time.)
<alexgordon>
haha
<alexgordon>
(reading)
<ELLIOTTCABLE>
all that, DESPITE how much understanding Haskell might benefit him, overall, as an Objective-C programmer. (my premise here, is that it will, and I want him to do so.)
<ELLIOTTCABLE>
that's #1.
<ELLIOTTCABLE>
so, #2:
<ELLIOTTCABLE>
not only does it have to have a specific target-task/target-audience … but there has to be a *short path* (and this is the real insight, for me) from that audience *not* knowing about it, to *knowing* about it.
<alexgordon>
ELLIOTTCABLE: yes this is why I think small language + big stdlib is WAY better than big language + big stdlib
<ELLIOTTCABLE>
nonono
<alexgordon>
once you learn a small language, you have all the batteries included at your disposal
<ELLIOTTCABLE>
the next thing we'd talked about, after Haskell and Prolog and Lisp, was frameworks. Specifically, I learned about his introduction to GCD, and it's a pattern I realize I've seen before.
<ELLIOTTCABLE>
GCD, unlike Haskell, is directly applicable to what he does. So it satisfies #1, up there. It's *clearly* an improvement, everybody knows that, for lots of tasks you might undertake as an ObjC dev.
<ELLIOTTCABLE>
but (again, assuming it wasn't dictated by his bosses), he *still* didn't learn it, for quite a while,
<ELLIOTTCABLE>
until.
<alexgordon>
GCD also has the advantage of being The Fastest Thing Ever
<alexgordon>
unlike haskell
<ELLIOTTCABLE>
he saw a short, simple demonstration at a conference, where *a single slide's worth* of example code, added GCD to a simple app, and showed huge improvements for that example.
<alexgordon>
when I use GCD I know there's nothing better
<ELLIOTTCABLE>
that example, is what sold him
<ELLIOTTCABLE>
and the existence of such short-path examples, for non-initiates, is what *really* sells a new learning-experience to people.
<alexgordon>
ELLIOTTCABLE: yeah actually I remember when I first saw GCD (when 10.6 came out). Within an hour I was saying "lets convert everything to 10.6+"
<alexgordon>
that's what you want: people to drop everything to use your tech based on an hour of reading about it
<alexgordon>
I don't feel that way towards haskell AT ALL
<ELLIOTTCABLE>
hm?
<ELLIOTTCABLE>
I don't want people to drop everything to use my tech based on an hour of reading.
<ELLIOTTCABLE>
Incase it was unclear, I wasn't speaking of Paws or anything here, *at all*.
<ELLIOTTCABLE>
I'm trying to distill down innovations.
<ELLIOTTCABLE>
that we can apply to *the field*.
<alexgordon>
you want people to be able to see that your tech is better without much effort on their part
<ELLIOTTCABLE>
Haskell, straight up, is fucking useless if it doesn't help @bradlarson become a better programmer.
<ELLIOTTCABLE>
Lisp is, straight up, fucking useless if it doesn't make @bradlarson become a better programmer.
<ELLIOTTCABLE>
A tool that 0.01% of the populace can use to do Awesome Stuff, because they're super-powered rockstar awesome-face sexydevs,
<ELLIOTTCABLE>
is great, and all. But doesn't matter. Not really.
<ELLIOTTCABLE>
A tool that makes the 99.99% of the populace writing Java, or C++, or whatever the next mainstream bullshit language that will inevitably take over the industry is, … a tool that makes those people *better programmers*,
<ELLIOTTCABLE>
will change the world.
<ELLIOTTCABLE>
will matter.
<ELLIOTTCABLE>
Haskell is not that tool until that 99.99% improves, somehow, because of its existence.
<ELLIOTTCABLE>
Lisp is not that tool until that 99.99% improves, somehow, because of its existence.
<alexgordon>
ELLIOTTCABLE: there's a compounding effect as well, because the more people can't or don't want it, the less people are writing libraries that other people can use, and the less useful the language is
<alexgordon>
lisp is a better language if brad uses it and contributes a good library or two
* ELLIOTTCABLE
nods
<ELLIOTTCABLE>
anyway
<ELLIOTTCABLE>
more to say on the matter, I'm sure
<ELLIOTTCABLE>
just having interesting thoughts here
<alexgordon>
I guess that's another way of saying that the Network Effect applies
<alexgordon>
this is an interesting way of looking at things though
<ELLIOTTCABLE>
My goal isn't to make Paws a popular language, or make Paws change the world.
<ELLIOTTCABLE>
My goal is to change the world *by Paws existing*.
<ELLIOTTCABLE>
My goal is to make programmers better at programming, because they think more asynchronously after learning and using it, and because that asynchronous thinking is superior for *some tasks they will later undertake* than the way they thought before knowing Paws.
<ELLIOTTCABLE>
I truly believe that anybody developing a tool for any reason other than that, is fundamentally deluded and silly.
<alexgordon>
lol
<purr>
lol
<alexgordon>
I just want to get shit done!
<ELLIOTTCABLE>
Your tool, whatever it is, will be out of date within five years. That's less than the time it probably took you to write it, if it's a programming language.
<ELLIOTTCABLE>
If you're lucky, that'll be ten.
<ELLIOTTCABLE>
In any case, it'll be unheard-of twenty years later.
<alexgordon>
I dunno, languages tend to take at least 10 years to gain serious traction
<ELLIOTTCABLE>
alexgordon: and so does @bradlarson!
<ELLIOTTCABLE>
alexgordon: that's my point.
<ELLIOTTCABLE>
Being good at getting things done is the wrong end-goal. It's a means to an end.
<ELLIOTTCABLE>
The *end*, is *making the user better at getting things done*.
<ELLIOTTCABLE>
You should realize your product is a stepping-stone for the user, and will *always* be that way, no matter what you do.
<ELLIOTTCABLE>
alexgordon: yes, but from the point of traction to the point of the *next* big traction in the area, is five years. maybe ten.
<ELLIOTTCABLE>
then something else comes along and dethrones it. After that, it doesn't matter, except for the legacy developers and companies who pivot too slowly to move on to the next King.
<alexgordon>
this is why I say: extremely simple language, put everything in the standard library
<ELLIOTTCABLE>
C. Java. Ruby. Node.
<alexgordon>
standard libraries are easier to change than languages
<ELLIOTTCABLE>
wrong goal. why try to change the 5-year number, when you can do *just as much good* for the world, by working within that number?
<ELLIOTTCABLE>
although I agree to quite a bit of an extent
<ELLIOTTCABLE>
anoooooother long discussion I had here about exactly that.
<ELLIOTTCABLE>
with, uhhhh, @bilm.
<ELLIOTTCABLE>
he's a linguistics guy. (human, not computer.)
<ELLIOTTCABLE>
and we talked for a long time about what it would take to build a computer-language that's as enduring and flexible as most natlangs.
<alexgordon>
natlangs are not really flexible, they change extremely slowly
<ELLIOTTCABLE>
given that all current computer languages are more similar to conlangs; and every firm-structured language like that that has ever existed (sanskrit, latin) has *failed* as a medium for communication, the moment it became strongly-structured
<ELLIOTTCABLE>
yes but they do change.
<alexgordon>
well you know my position on that
<alexgordon>
the answer is simplicity
<alexgordon>
the reason languages HAVE to change is because they're overdesigned
<alexgordon>
too much shit in there
<alexgordon>
so programmers twiddle with the knobs to try to make it better
<ELLIOTTCABLE>
I don't think simplicity *alone* is the solution.
<alexgordon>
it's a necessary, not sufficient condition
<ELLIOTTCABLE>
then again, you know *my* solution to that particular problem … it's rolled into Paws.
<ELLIOTTCABLE>
simplicitly, and abstraction.
<ELLIOTTCABLE>
the only *simple* thing, is the bits you can't change.
<ELLIOTTCABLE>
trying to reduce the constants, make everything nominally variable.
<ELLIOTTCABLE>
meh, not as important a discussion. gonna pop in and out some more.
* ELLIOTTCABLE
injects himself into somebody else's table at random
<ELLIOTTCABLE>
bbl <3
<alexgordon>
look at C. it's enduring and flexible in its domain
yorick has quit [Remote host closed the connection]