Fork me on GitHub
#off-topic
<
2021-01-14
>
Idan Melamed06:01:10

About the whole thing niche language debate... 5 years ago when I wanted a career change, I registered to Treehouse, tried a few languages and stuck to Python because the instructor, Kenneth Love, was the one I felt more connected to than the rest of the other language instructors. Now I'm learning Clojure because people I respect from other circles swear by it (Gene Kim, Michael Nygard...), because of Rich Hickey's presentations, because I hope taking the time and effort in learning it might make me a better programmer. I don't mind that it might be a niche language.

👍 9
sP0re07:01:04

@idanmel I agree. I think that this is the main goal when we study a new language. Personally If I have the opportunity to use it at work or if I know that It grows constantly in terms of usage, community, popularity, I would be happier obviously.

👍 6
solf08:01:05

Ah! Not for me. I study clojure so I have more fun at work. Becoming a better programmer is a side-effect

sP0re08:01:00

So do you use it in your company?

solf08:01:54

I'll precise that I started learning clojure before I found a clojure job. The starting reason was that I had fun with it, and because I love emacs which is kinda related

solf08:01:59

But if I couldn't find a job in clojure, then I'm not sure I would have keep using it. Let's say I get a job in python, then even for personal projects I'd start using python more and more

sP0re08:01:39

So it's possible today to find a Clojure job

solf08:01:55

I might be in the minority with this. I just have more motivation to improve in a language if it's also useful for my work

solf08:01:35

Yeah of course, I don't know how easy though 😅

solf08:01:47

I was ready to move anywhere in the world for a job though

solf08:01:51

and I actually did (france to singapore)

sP0re08:01:16

Ok, this is a positive news. I'm like you. If I study a language and I know that in the future it will be possible to use it in some company I will be more motivated

Idan Melamed08:01:43

@U01J8BEDW0J, for me in Israel, there's Appsflyer which has a couple hundred Clojure developers.

Idan Melamed08:01:42

I don't work there, but who knows 🙂

🙂 3
sP0re08:01:07

Probably it's not the only one but there are other companies

sP0re08:01:37

Anyway.. we have a new clojurian 😑

sP0re08:01:46

nyantocat 18
😾 15
😻 24
👍 3
Asier09:01:16

Makes total sense to me. Cats have free minds!

🙂 6
Stuart09:01:45

I wish I wasn't allergic to cats 😞 I'd love a cat.

😔 3
Mno11:01:11

That might be one of my favorite off topic comments 🐈

🙂 3
dgb2313:01:06

The Clojure adoption and utility discussion is interesting to me. Clojure has superior qualities over many other languages and an impressive community. I often have the luxury of being able to decide on tech choices and I’m using more and more Clojure (slowly but steadily). I don’t need to enumerate the reasons here, except maybe this: It’s a language that respects me as a programmer more than any other I know. Both my time and my capability (to learn). And the community is stable but small in comparison to main-stream languages, but at the same time I’m continuously impressed by it. Clojure is a “better” language, not simply in terms of its technical qualities. It is “better than X” where X is something you already know well and have mastered. It seems to me that this is the reason for why the Clojure community is what it is: small, stable and impressive. One big downside from my perspective is this: I teach programming part-time and I’m mentoring a designer (friend and collaborator) who is learning to code. For them, learning Clojure as a first or even second language is simply not feasible and it would be irresponsible of me to teach them Clojure before they know a main-stream language. This is a serious hindrance for wider adoption. I would love to try to solve this or help to solve this in the mid/long term but I don’t see a clear way of doing that.

👍 3
borkdude13:01:25

@denis.baudinot I think Clojure as a language can be taught relatively well. I've done so as a lecturer a few years in a row. My course material is still online (albeit in Dutch). I didn't teach it as a first programming language though.

borkdude13:01:42

SICP was taught at MIT, but I'm not sure if it was done as a first language. Python might be a popular "first language" nowadays.

dgb2313:01:23

@borkdude I don’t question that. It is even very suitable to teach some practical CS concepts. But I teach programming to UI and UX designers. In that area it is both “too much” and not enough “resume-helpful”.

borkdude13:01:42

Just teach 'em JS or TypeScript I'd say then, yeah.

borkdude13:01:14

SICP is going to be ported to JS as well btw

borkdude13:01:22

by the authors

Gleb Posobin04:01:26

It's not by the original authors it looks like: "The JavaScript adaptation of SICP is an open-source community effort." https://source-academy.github.io/sicp/chapters/making-of.html

Stuart13:01:24

> “resume-helpful” Yeah, this is a problem if I try to introduce Clojure at work, no one is interested as they dont see the point in learning something that doesnt have a lot of jobs for them

borkdude13:01:59

Clojure is resume-helpful if you are prioritising Clojure work on your resume ;)

dgb2313:01:19

Aside: I’m a fan of SICP but don’t see a point in translating it from Scheme. Scheme is kind of the right tool for what it is used there. But I will check this out, thanks.

Stuart13:01:43

Yeah, SICP in JS seems pointless to me. There are better books to learn JS if you want to learn JS

Gleb Posobin04:01:09

Well SICP is not a book for learning lisp.

Gleb Posobin04:01:56

Or put differently, there are better books to learn scheme if you want to learn scheme.

Gleb Posobin04:01:02

It uses the simplest language needed to get its lessons across, and the lessons are about programming itself.

borkdude13:01:26

I guess they are trying to fix the exact same problem you are trying to solve: how do I sell "lisp" to people who don't know anything yet

cdpjenkins13:01:13

The important thing for me when choosing a first language to learn is to have as few concepts to learn as possible. I learned to program in the late 80s and learned BASIC. You could literally start with 10 print "Hello world" and then work your way up to 10 print "Hello world": 20 goto 10 and so on. For me, the modern language that is closest to that is Python. I love Clojure but I feel like if I was learning Clojure then it would force me to learn too many concepts at once, esp JVM concepts. (I think Java is not a great first language for similar reasons.) Though of course, Clojure is different from what it was like when I first learned it so maybe there’s an easier way in these days.

borkdude13:01:49

> We sincerely hope that readers for whom this book is their first encounter with programming will use their newly gained understanding of the structure and interpretation of computer programs to study more programming languages, including Scheme and the full JavaScript language.

borkdude13:01:13

They use only a small subset of JS / Scheme, and you learn as you go

borkdude13:01:10

There is also a book "Grokking Simplicity" which explains FP concepts (the Clojure way) using JS

🙏 3
clyfe14:01:56

Clojure is the easiest language to learn: https://clojure.org/guides/learn/syntax. Should work well for beginners, better than C, JS, or Scheme. It breaks down a bit when moving to algorithms and data structures, because there you want plain mutable vectors and records to start. Clojure gives those to you with a bit of extra ceremony; but with a bit of diligence and function picking it can work (limit to some fns like: int-array, aget, aset; dont show full blown interop immediately).

👍 3
Isaac Marks14:01:33

Hello clojurians

👋 30
Chase16:01:18

I tried to make Clojure my first real language but struggled. Bounced around other languages, kept trying to come back to Clojure, still struggled. I finally completed Harvard's CS50 course and I feel my foundation is so much stronger. And yes, I came right back to Clojure. hahaha

clyfe18:01:09

There aren't beginner books with Clojure, but there could be.