Fork me on GitHub
#off-topic
<
2022-09-04
>
Baye10:09:51

Clojure is touted to have a big comparative advantage for experienced programmers in big projects (big company): supposed to make life much easier, etc. But does Clojure lose edge for small projects (solo company) especially for a non-experience programmer (compared to say Javascript) ?

Omar10:09:11

not at all, I created https://sayartii.com/ completely by myself and about 97% of https://aceplace.com/

Baye10:09:16

Hi @U0175247L06, appreciate your response. Do you consider yourself a "non-experience programmer"?

Omar10:09:21

I'm a little confused about this question, anyone without experience in this field is not really going to get things done properly regardless of language. I would say I have a lot of experience, but I'm not a hobbyist programmer that spends any time doing open source projects or enjoys the work very much.

☝️ 1
Baye10:09:46

Sorry for not being clear. I mean by experience (5-10+ years) and non-experienced maybe less than 5 years. The premise of the question is that with experience you can build a small app easily with language. The same person (of course maye require a team)can build a large app relatively easier in Clojure than in other OOP languages. Whereas an inexperience programmer can build a small app relatively easier in Javascript than in Clojure. Anyway, Thanks again.

Omar10:09:57

My first foray into clojure/script or any lisp was that 4 years into my career as a programmer I integrated a non trivial reagent component into an existing rails application within a week having knowing no react at all.

Omar10:09:56

It's been a lot easier for me to deal with than Javascript since day one, just had a small amount of friction to wrap my head around functional programming.

Baye10:09:53

Wow. That is indeed impressive

Omar10:09:35

Also I just hired someone that has been primarily been doing typescript/javascript work and he's making enormous contributions to aceplace in his first two weeks with very minimal guidance.

lsenjov12:09:29

I built my first clojure project as a re-write of a php application - from 20kloc to around 6kloc. This was after about a year of hobby experience programming

lsenjov12:09:14

We've built a lot of our current stack on Clojure, and teaching it to both new and experienced programmers has been surprisingly easy

lsenjov12:09:33

We have data analysts who haven't coded before, using clojure to design metrics

Damian Koncewicz17:09:12

Do You guys have any good courses you can recommend?

quoll17:09:21

> Whereas an inexperience programmer can build a small app relatively easier in Javascript than in Clojure I think that this presumes that people learn Javascript before learning Clojure. That is often the case, yes, but not always. I know a few people who started on Clojure, and I think the reverse may be true for them (finding ClojureScript easier than Javascript)

quoll17:09:23

The main benefit of JS for a beginner is that there are a lot of tutorials out there, and native libraries to do everything. That's not necessary, but I suspect that it may help

slipset09:09:08

A thing that perhaps doesn’t often get talked about is that what works (and the features required of your tech environment) when you’re building your POC/startup idea, might not be sufficient when/if your thing takes off. Eg, there’s been quite a few rewrites from Rails to other things because of performance. So, choosing a tech that lets you do intrumentation, monitoring, profiling etc is important. The JVM has a fairly good track record here. Also, choosing a tech which has prebuilt libraries for your non core stuff is also important, as is writing code in such a way that it’s easier to move off, should your tech-choice be a bad one (Flex, JSF)

walterl18:09:07

> "I know a few people who started on Clojure, and I think the reverse may be true for them (finding ClojureScript easier than Javascript)" -- @quoll How would you say their more general dev experiences compare to people starting out with something more "mainstream" like JavaScript or Python? Is there a steeper learning curve with functional programming (and lisp) for those not yet "corrupted" by other styles? Do they reach productive levels of proficiency faster/slower? Is it easier/harder for them to formulate solutions? This is something I'm very curious about. If Clojure's strengths and features are as good as we think they are, we could expect it to reflected in the experiences of new, "untainted" devs, right?

seancorfield04:09:10

My experience, trying to help folks learn Clojure over the last decade, is that folks with less OOP experience did better than folks with more OOP experience. For complete beginners, the Clojure language was fairly easy to learn (the obstacles tended to be the tooling/editors and the JVM infrastructure/ecosystem).

👍 1
quoll18:09:39

I don't know too many people in this category, but it certainly seems easier for them when they didn't have to unlearn mutability

👆 2
quoll18:09:37

I didn't see a particular difference in speed to productivity, though I did see less struggling with bugs, since they weren't trying to make Clojure work like Python or JS

quoll18:09:13

You could ask someone who was in this situation. @lorilynjmiller has been open about taking a Clojure-first approach as she started programming

🙏 1