Live data from Hacker News

How much can a Clojure developer do alone?

yyhh.org

41–50 of 106 posts

Re: How much can a Clojure developer do alone?

#41
post #4

> There is no other language that places such an emphasis on programming directly with plain and naked data literals. Counterexamples: Erlang and Elixir. Arguably also Prolog. Also Lua. Many Schemes, and Racket. Of course, REBOL and Red. TCL probably, too. I can't help but think that people making claims of "no other language has X" are in most cases wrong, and should study a bit more before making them. There's a lo…

I haven’t written any Clojure for a few years now. So my knowledge and technique is out of date, but I have a contrary opinion on “repl driven” development vs many Clojure advocates. In short: your repl compiled code is state that you now have to track in your head. Yeah, great, you can compile a single function and it hot loads. It’s pretty awesome for experimenting and debug, but the longer your repl session is ope…

> but the longer your repl session is open and the more you change and compile, the more likely you are going to end up with a mixed state in memory that does not reflect how your program would behave if run from scratch.

I've seen this happen multiple times including during live Clojure talks at conferences. I also never found REPL driven development all that beneficial outside of quickly toying with trivial pure functions and that's possible in basically every popular language these days.

Re: How much can a Clojure developer do alone?

#42
post #4

> There is no other language that places such an emphasis on programming directly with plain and naked data literals. Counterexamples: Erlang and Elixir. Arguably also Prolog. Also Lua. Many Schemes, and Racket. Of course, REBOL and Red. TCL probably, too. I can't help but think that people making claims of "no other language has X" are in most cases wrong, and should study a bit more before making them. There's a lo…

> [1] Why aren't we all writing in APL/K/J if it matters that much?

Because most programmers aren't nearly as productive as we could be.

And because "concise" should be measure in the number of tokens needed to achieve certain functionality, not by excessive use of single character tokens.

Re: How much can a Clojure developer do alone?

#43
post #16

Earlier quoted context omitted.

If you write your code the correct way, there wouldn't be any states in your namespaces for you to keep track in your head. That only happens if your code is full of `(def some-state (atom {}))` or something like that. You are basically illustrating my point about "You probably cannot learn Clojure all by yourself". You need a mentor to show you how to do Clojure correctly, or you have the humility to learn the prope…

> If you write your code the correct way, Then you don't need a REPL. This is a very weak argument, overall: there are programming techniques to compensate for any deficiency in the environment. The fact that you need to use them is already worse than not having to worry about it at all. > Sadly, most people would rather just try something and jump onto conclusions immediately. Just a gentle reminder, you're not talk…

Nobody said you "need" REPL. Doing REPL driven programming is just more productive, hence it is considered the right way in the Clojure community. Heck, you don't even "need" any higher level languages, you can write code in machine code, but that's besides the point.

Your boast about your Lisp credentials is exactly the kind of things I caution against in the article. Your pride has prevented you from properly learning Clojure, which has a very different programming style from other Lisps.

You are basically illustrating my point live, again.

Re: How much can a Clojure developer do alone?

#44
post #4

> There is no other language that places such an emphasis on programming directly with plain and naked data literals. Counterexamples: Erlang and Elixir. Arguably also Prolog. Also Lua. Many Schemes, and Racket. Of course, REBOL and Red. TCL probably, too. I can't help but think that people making claims of "no other language has X" are in most cases wrong, and should study a bit more before making them. There's a lo…

I haven’t written any Clojure for a few years now. So my knowledge and technique is out of date, but I have a contrary opinion on “repl driven” development vs many Clojure advocates. In short: your repl compiled code is state that you now have to track in your head. Yeah, great, you can compile a single function and it hot loads. It’s pretty awesome for experimenting and debug, but the longer your repl session is ope…

To me, that's similar to waiting to save your Word document until you have finished editing your document.

REPL should be used for rapid experimentation, but then the code should be transferred to a source file and saved before moving on to the next thing.

Re: How much can a Clojure developer do alone?

#46

Earlier quoted context omitted.

That sums it up. I think Clojure is the most data-oriented programming language there is, but it gains that title not through features which other languages have as well, but through its general developer culture. And also, I do feel that the Clojure community often takes data-oriented programming too far.

REBOL and TCL are languages which go at least as far as Clojure in data-centric programming. Both feature incredibly elegant DSL for a variety of tasks, like constructing parsers or defining GUIs. Personally, I don't have an opinion on whether they (including Clojure) take it too far, but it's true that even that culture is not unique to Clojure :)

I don't know about REBOL, but I did program TCL extensively in my graduate school years. I agree TCL has a lot of similarity in term of treating code as data like in Lisp, but I do not think it has such an emphasis on data oriented programming like in Clojure. That's just not true.

Re: How much can a Clojure developer do alone?

#47

Because Clojure is not terribly fashionable, I imagine the developer pool is much smaller but the candidates are higher quality, mostly due to self-selecting. I really like the sentiment of empowering individual developers to the max. It's funny, a lot of organizations want to beat the averages whilst engineering in an identical fashion to their competitors. You're not going to consistently get outstanding results if…

> I imagine the developer pool is much smaller but the candidates are higher quality

People always say this about their favorite niche language and it always feels a little too self serving with little evidence to back it up. Learning languages is relatively simple and enjoyable, especially when the overwhelming majority of those people never end up working on difficult problems in said language. I think it often gives a false sense of superiority as well.

Re: How much can a Clojure developer do alone?

#49
post #43

Earlier quoted context omitted.

> If you write your code the correct way, Then you don't need a REPL. This is a very weak argument, overall: there are programming techniques to compensate for any deficiency in the environment. The fact that you need to use them is already worse than not having to worry about it at all. > Sadly, most people would rather just try something and jump onto conclusions immediately. Just a gentle reminder, you're not talk…

Nobody said you "need" REPL. Doing REPL driven programming is just more productive, hence it is considered the right way in the Clojure community. Heck, you don't even "need" any higher level languages, you can write code in machine code, but that's besides the point. Your boast about your Lisp credentials is exactly the kind of things I caution against in the article. Your pride has prevented you from properly learn…

> Nobody said you "need" REPL.

Well, you did, quoting the article:

> Yes, if you are not using the REPL, you are not doing Clojure right.

or should I understand this another way?

> but that's besides the point.

True. I'm saying that if you need to code in a particular way to make good use of the REPL, then it's already worse than being able to use the REPL well without any special coding style. Erlang and Elixir are great examples of that.

I also have a problem with you believing there even is one correct way to use any language, but that's bearable. You being so sure that you're the only one qualified to know anything about that correct way is much worse.

EDIT: I just saw so many "revolutionary ways to write code" which were being pushed hard by people absolutely sure their methods are so much better, and which ultimately amounted to little more than a few percent improvement in productivity in the real world - in the best case. It makes me suspicious of any such claims.

> Your boast about your Lisp credentials

My? I said:

> Nevermind me, but [...]

So you're putting words in my mouth; further, I said nothing about my knowledge of Clojure, so this:

> Your pride has prevented you from properly learning Clojure

Is completely unwarranted. And offensive. Could you please stop?

Re: How much can a Clojure developer do alone?

#50
post #34

Earlier quoted context omitted.

I envy you :) I can't get my head out from the Javascript ecosystem ... and previously I've done PHP ... Those two made me think to quit programming, but lately I've found new ways like ClojureScript and ReScript. After 15 years I came to a conclusion: choose a smaller and better language vs a popular one with a huge ecosystem.

Nearly every compile-to-JS language is a better choice than JS unless you really, truly need something legacy. The exception might be Coffeescript, but even that's not bad , it just add a whole lot. Even then I'm certain you can find a modern language that can target, say, ES3. I've never needed that, so I won't claim to know any off the top of my head. But it doesn't matter, because you could simply pass the output…

Interesting mix :)

I wonder why CLJS / Reagent is not enough, and where the others step in...

I mean in my fantasy CLJS / Lisp is so powerful one never looks back to languages relying on commas and colons

Post reply on HN