Fork me on GitHub
#clojure-nl
<
2019-05-30
>
Mno08:05:32

mornin’

Mno08:05:24

I’m doing a scala-based assignment for a job interview. It’s not going great. 😅

gklijs09:05:11

That's to bad. Yesterday I think I had the most fun intake I've had so far. They came up with some design problem, and I could sketch an architecture. I just found out the lead developer liked Clojure. So I go full clojure mentioning nginx-clojure and lucinia. Who knows I might actually get to write some Clojure during office hours some day.

👍 1
lmergen09:05:14

@hobosarefriends what's the assignment?

Mno09:05:02

process an imdb dataset and make some endpoints to do a rough search on certain things

lmergen09:05:23

oof that's quite an assignment

lmergen09:05:29

a lot of work

Mno09:05:54

The work doesn’t bother me as much as the frustration of how incompetent I seem to be in scala.

Mno09:05:16

I’m fairly certain I could do it in ruby/clojure in a day or 2

Mno09:05:44

on the brightside I am learning from this.. so challenge accepted i suppose.

Mno09:05:24

If anyone has a tsv parsing script, I’d love that.

lmergen09:05:55

it's a popular language -- i still don't quite understand why, but it's useful to know it a bit

Mno09:05:43

anything in the jvm is useful for the other jvm languages I believe.

lmergen09:05:52

mostly java though 🙂

gklijs09:05:38

I read some of the Kafka source code, but find it hard to read. And I keep hearing there like many different things to do things. And cats seems a nice library to do typed functional programming.

Mno09:05:26

I guess it really embraced the whole “multi-paradigm language” thing

gklijs09:05:36

You can always combine them, but it become complex easily.

gklijs09:05:02

Clojure and Rust also have that, in different degrees. Both not as OOP as Java, or as functional as Haskell.

borkdude09:05:10

There’s a Scala course on Coursera

Mno09:05:48

Yeah I’ve done the first part (the Odersky one)

lmergen10:05:11

i appreciated Scala until i found out about implicit parameters, then i completely bailed out of the language -- i could not accept such atrocities

borkdude10:05:27

it’s their only way to enable something like type classes afaik. but I don’t like how cluttered that looks in Scala anyway

borkdude10:05:49

in dotty they have some nicer sugar for it, but still

Mno10:05:28

Well.. I need to move towards the jvm somehow, and I didn’t really find clojure jobs, so scala/java/kotlin are my temporary alternatives.

borkdude10:05:50

Kotlin seems a great language. Scala has good parts too, but the community seems a bit divided over what exactly those are 🙂

borkdude10:05:10

case classes are really nice

Mno10:05:09

I don’t think I know enough to have an opinion on the good parts of any of these languages 😅

borkdude10:05:32

I’m also by no means an expert 😉

borkdude10:05:05

when I did the Scala Coursera course, I solved some parts in Clojure, because that seemed easier than to fight the type system 😉

Mno10:05:46

Me and the Options/Some classes are not friends. 😓

Mno10:05:56

but I am fond of pattern matching

Mno10:05:40

Anyway I’ll stop the scala talk/complaining in a clojure space.

borkdude10:05:31

@hobosarefriends There’s also #other-languages for more complaining 🙂

Mno10:05:02

Oh lord yes. ❤️

helios11:05:28

@gklijs if you are using lacinia and you like spec you might be interested in our library to create automatically graphql schema from spec https://github.com/WorksHub/leona

gklijs11:05:38

Looks interesting, in my case most are subscriptions however, and I did not use spec and lacinia together (yet).

helios12:05:58

Okay 🙂 no problem it was just a tip

gklijs12:05:37

Does it handle nesting, like if you spec :transactions is a list of transactions? Also how do you now if a field is required, is that based on either being a req or opt in a map?

helios14:05:49

Yes and yes

helios14:05:18

It will recursively expand all the specs and get to the bottom of it 😉

gklijs14:05:05

Nice, i did a simular thing but then in order to generate the HTML to edit the document. I now use a custom way to talk to the backend serializing to a string. It might become GraphQL, not sure yet.