This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
@placeboza: perhaps you should be the boss so you can not employ people who don't care ?
@mccraigmccraig: lol, true, but that brings me to another reason I'm not the boss: I'm a techie with very poor business skills - and very little passion in that direction. TL;DR: Lots of crazy ideas, but no business skill.
I do want to put more effort into hobby projects though, I've been stagnating for years now
@placeboza: ha, then you should go work for a company where the boss cares that everyone cares, or you should start such a company with such a person
i/you/we are fortunate to be in a career/industry/century where this is possible !
true, and I wouldn't change my line of work for the world. Been a coder since I was 12, and never doubted it.
I find it fascinating that more than half the population is incapable of coding at a decent level
you have a source for that stat ?
i've always assumed that a large part of it is lack of interest in learning... much as i will never play golf well because i have a total lack of interest in putting in the time and effort to learn how
Ah I see I got it via Jeff Atwood here: http://blog.codinghorror.com/separating-programming-sheep-from-non-programming-goats/
but in some cases, it looks the same. cos when someone struggles with it, and gives up, it may appear to be just a lack of interesting
Btw, I used to have the simple aptitude test similar to what Jeff is talking about .. his one there looks a bit different to me
Interesting! As a tutor, I read these studies trying to figure out learning pitfalls, to somehow negate them so learners can indeed learn.
I used to think anybody could learn to code. and I still think it might be technically possible, but now I accept that the gap might be too large
thinking now of Chris Granger's latest post about coding vs comprehension & composition
Like... in:
int a = 10;
int b = 20;
a = b;
what does =
mean? It's not mathematical equality. It means assignment, in a peculiar programming notation. One reason I try to justify teaching with a Lisp.Yeah, it's really hard. I tried teaching two coworkers how SQL worked. That first class failed. - Turns out one of them really wants to know the fundamentals, because she hates swiss-cheese knowledge. So since Feb, we fought our way up from NAND gates... to machine-language... to how Unix processes & inodes work... to TCP/IP stack. It will be about two weeks before we start performing programming in a high-level language. - Turns out both people have veerrrry different interests. Had to split the class. Because the other one really just wanted to make a fancy HTML signature and that's it! š
And so I look at traditional ways of learning, and can't see how they work. It's so one-size-fits-all... and they filter out those who don't learn that way.
yah... I remember reading something else about that you might like, just need to remember where
Ah cool, was it maybe a Bret Victor talk, or one of the Alan Kay ones? The Humane Representation of Thought was hugely influential to us.
To use more of the brain's resources, we gave personalities to logic gates. (`and` is kind of a jerk. or
is a hippie. not
likes to disagree. or
can often be so love & peace but it often relies on and
to do its dirty work.)
Then we talked about some meetings, where I'd be like xor
-- I'd be really suspicious if she and someone else agreed. So I'm only happy if they disagreed.
Meetings actually kinda work as another example of logic gates, because we're so used to human interactions... š
seems nuts that you have to go to that level before people can understand it though, but I never cease to be amazed at that gap
Yeah, after building our dinky little CPU (using http://www.nand2tetris.org/ book), she simulated the control unit, so she turned assembly statements into machine language, then she fed it to the ALU (if it was an ALU thing)...
And since it gets boring having long trips to RAM, she figured out little ways to save time, like post-it notes (caches).
After networking, we'll do paradigms. Then hopefully something like Clojure, or whatever language she's interested in using.
BTW, ASM notations are kinda horrible. We played a bit with different notations. One was EDN. That seemed to work, even though I expected it to be confusing.
And BTW, she knows way more about this low-level stuff than I did before the classes. Teaching really boosted me as a programmer. Like, I'm incomparably better now. (Not that I'm necessarily particularly good, just better. ) It's like, I was such a superficial programmer who didn't understand my own mind's resources.
placeboza: thanks : i hadn't seen that before... would love to see something about what other aspects of life the inability to form consistent models does/doesn't affect, and whether the inability observed relates only to models of syntax or spreads wider too, to models of the physical world
mccraigmccraig: Yup that also crossed my mind yesterday when I read Chris Grangers post about comprehension/composition vs coding (about other fields that require the skill of modelling things in your mind)
@tjg Very cool that you're succeeding at teaching people this stuff, when they probably wouldn't have succeeded in a traditional course
are there colleges teaching in clojure that anyone knows about? Other interesting functional languages?
Specifically ones that teach many of of them, or some in depth/
There was a professor who wanted to test out teaching intro CS in clojure. University of MN Morris, I think.
Uh, I only took this on Coursera, but Dan Grossman from the University of Washington teaches a Programming Languages class that does SML, Racket, and Ruby with a functional bent. Idk how representative of the rest of their curriculum that is, or if the actual PLT classes they have there use the same langs...
I know penn has a longstanding haskell one
I don't know about any courses in Clojure, but I can recommend Dan Grossman course on Coursera. Ruby part isn't that interesting (at least it wasn't to me). SML and Racket parts are pretty good. There is also Eric Meier's course, that teaches FP with Haskell https://www.edx.org/course/introduction-functional-programming-delftx-fp101x
Iām asking because a sibling is intrested in going to universities with relevant programs, and is looking to transfer now
Iāll check out him for real world stuff
Thatās the one in Austin?
Do they have more than just 1?
Nope. Prof cook does Haskell for his Pl theory class and that's all the fp we have afaik
+1 for the Coursera FP course by Dan Grossman.
The SML and Racket portions are great to learn FP concepts. Agree 100% with @iref regarding the Ruby part. Luckily, that part was last
I mean, the Ruby part sorta tied some stuff together. I think the Racket portion of the course is what really shines (and is why I'm doing Clojure today), but the Ruby stuff was illustrative...I think maybe it just shouldn't have been the last language he did?
And, like, for a programmer coming into the industry...like, they're probably not gonna have an FP job so understanding how to apply FP principles in more imperative languages is maybe helpful? I dunno.
Maybe. Itās all subjective, of course. For me, I just wanted to learn FP concepts and work in FP. So the ML and Racket portions really held my interest.
I struggled with the Ruby because it just wasntā something that I was interested in.
I know a lot of places do the āscheme/scip as class 1ā trick
Yeah, it all depends on person previous experience and expectations. Also I think prof. Grossman assume that most people know Java/C++ or other OO language, so he didn't introduce that many new concepts and as @mystery said, he mostly used to show some advantages/disadvantages of OOP vs FP.
Also writing your own interpreter of small arithmetic language in Racket was super fun. I finally got some details behind closures.
@placeboza: Actually it's me who wouldn't have succeeded in a traditional course.
For example, I would've dropped Cornell CS 2110: https://gist.github.com/tjg/e3f053b1522e5b4c0c85 [Warning: probably boring read.]
The people I tutor were excluded... for more/less the same reason why we have the Clojurians Slack Code of Conduct.
@annapawlicka: would a meta channel for talking about culture stuff be off color?
@arrdem: what do you mean by culture stuff?
Iām already slightly concerned about the proliferation of specialty channels. Iām curious, for example, as to why we have an #C03RZGPG3 and #C03RZGPG1. Seems they serve the same purpose really.
We already have a number of channels popping up covering specific libraries which I think are causing a famine of chatter in #C03S1KBA2 itself.
@annapawlicka: in this particular instance Iām just fishing for a less hostile environment than twitter to try and get other peoples opinions on the strangeloop/urbit drama. maybe just not worth it to talk about due to being contentious (apparently). idk.
If folks want to discuss the strangeloop/urbit "drama", I strongly suggest it be done either in a private group with just those parties who are interested in it or in a specific channel that has no @logbot in it.
I honestly donāt think it needs to be discussed at all in any of the Clojure slack channels.
That would be my preference too. Itās just not relevant to Clojure.