Edit: Removed comment about Om, since I must be misremembering something. Om uses React and has since the first commit.
Om uses React, it didn't predate it or anything. Many of the things Om tried are more relevant to things like Redux, not React proper, so I'm not sure what your comment is referring to.
And as a counterpoint, React just introduced the State and Effect Hooks, but those are both things that Om and reagent (the most-used Cljs React lib) have been able to do for years.
Apparently I was remembering Pedestal. See my other comment.
> Many of the things Om tried are more relevant to things like Redux
> And as a counterpoint, React just introduced the State and Effect Hooks, but those are both things that Om and reagent (the most-used Cljs React lib) have been able to do for years.
These are great evidence for my point, that Clojure has worked as a testing ground for features which more mainstream languages and frameworks then adopted.
E.g., I used to do a lot of PHP, and my last PHP project was in Laravel, which is heavily influenced by Rails, and PHP 7. Many people touted "Modern PHP is just as good as Python/Ruby/Js!" but missed the point that they'd been using tools with inferior capabilities for years.
---
EDIT: Oh! Just figured it out: Pedastal. Yep, originally made by Relevance Inc.
Here's the link of its discontinuation which mentioned React as a big motivator: https://groups.google.com/d/msg/pedestal-users/jODwmJUIUcg/6...
> "But unlike in Pedestal App, you don't have to worry about how fine-grained changes to your App model map to the UI."
That's the part I was remembering.
> "So there is clearly conceptual overlap between Pedestal and ReactJS. Further, David Nolen's work on Om has shown that ReactJS and ClojureScript work very well together."
That's probably why I got this mixed up with Om. This all happened about 4 years ago so I guess my memory isn't as fresh.
is this in public? cursory search did not return any hits.
Some dynamic languages, worked around this issue in the 90's. Perl for example, if you use 'use strict; use warnings' will catch most of these misadventures.
Having said that, only the most novice programmers make these kind of mistakes. Like the absolute beginners, in the first day or two of exposure to programming.
As a rule almost any shop these days write unit test cases, so that should flush out these kind of bugs.
EDIT: Why the downvotes? People seriously work with programmers whose biggest incompetence at work is typos? Or you think writing unit test cases is bad?
It's useful for your tools to help you catch basic mistakes like that instead of just saying you should work with programmers who are competent enough to never write typos.
Sure every once in a while its possible for any one to drop in a spelling mistake, but those are rare situations in code. Mostly because code is often not a dead piece of documentation, which is read and auto corrected in the human brain. Code works on a computer with well defined interfaces and protocols.
Think of it this way, would you hire a programmer who often makes typos, to write shell scripts that have 'rm -rf'?
If you wouldn't, how often do you trust these people to execute DROP DATABASE <typo_database_name_which_happens_to_be_real>?
There is a big difference between programmers who can put in typos in a sentence in a code comment, and the kind of ones we are talking about.
Then you are having far bigger problems related to project management, hiring and overall direction in which you are running your team/company.
Clojure as a tool doesn't aim to fix these kind of problems. And it can be argued no tool will fix these problems.
Those are the kind of things that the computer is best suited to. It's better if the programmer's brain is left to other, more challenging tasks.
By the way indenting code happens to be the most basic of code review checks.
Vim, Emacs, Atom, Sublime Text, Visual Studio, Eclipse, IntelliJ, NetBeans can all auto-indent code for you. Combined with linters they can also automate stylistic checks and coding convention.
I don't know anyone who indents code themselves. The editor/IDE does it for them.
Indenting code is certainly not a code review check. No sane workplace should waste a senior developer's precious time commenting about indentation problems during code reviews. It is a tooling check that is part of CI/CD.
I used Clojure for a long time, professionally. Not much any more. Main issue is that the language is not very readable (a pain point mentioned in these slides) and very hard to find people to work in it. Also more than any other language Clojure is very sensitive to typos in your code. A misspelled keyword results in nil accidentally flowing through your app. It was frustrating to spend time on scaffolding everywhere to catch these things.