Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Mikera
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
1.
▲
by
Mikera
11y ago
Absolutely happy with my choice of Clojure as a startup (doing data science, analytics, some front-end work). Biggest wins for us are: - ClojureScript / figwheel as an awesome front end development combination. - The combination of fun
2.
▲
by
Mikera
11y ago
Clojure on the back end and ClojureScript on the front end. Some reasons: 1. It's a proper full-stack solution. You can share code between client and server if you need to. 2. There is some amazing front end technology (Om, figwheel et
3.
▲
by
Mikera
11y ago
Note: you don't need to commit to Emacs to get the productivity benefits of Clojure. Eclipse with the Counterclockwise plugin (and I believe IntelliJ with Cursive too) also give you comprehensive REPL, s-expr manipulation and paredit f
4.
▲
by
Mikera
11y ago
This is great stuff, but it should really be designed as a core.matrix implementation rather than providing it's own API. The last thing the Clojure community needs is fragmentation with more incompatible libraries.
5.
▲
by
Mikera
12y ago
Clojure has all of this in core.async - which is just a library, it doesn't need special support from the underlying language. goroutines are certainly nice and CSP is a good mental model for solving many problems, but I don't thi
6.
▲
by
Mikera
12y ago
Silverline Mobile ( http://silverline.mobi/ ) uses Clojure in production - managing data from sensors installed in the homes of senior citizens in Singapore.
7.
▲
by
Mikera
12y ago
We're using Clojure in production at Datacraft ( http://www.datacraft.sg ). Main usage is on the server side: for web applications, APIs and data analytics back ends.
8.
▲
by
Mikera
12y ago
I'm actually trying to address this in my current language experiment: https://github.com/mikera/kiss The idea: add static types to Clojure without compromising on the dynamism / flexibility / convenienc
9.
▲
by
Mikera
13y ago
IMHO Clojure's omission of reader macros is sensible: it prevents proliferation of custom syntax , which makes it harder for a human to read code and reason about reader behaviour. The Clojure reader also already has its own literal s
10.
▲
by
Mikera
13y ago
FWIW, I've been in the Clojure community for a few years and see almost zero FUD about Common Lisp. The atmosphere in the Clojure community is much more about pragmatism than zealotry. Mostly, I see a healthy respect for other Lisps an
11.
▲
by
Mikera
13y ago
There's a pretty good argument that taking away features is what makes programming paradigms effective. You create restrictions (invariants, if you like) that enable the paradigm. Consider: - Structured programming takes away GOTO - O
12.
▲
by
Mikera
13y ago
One of the reasons that Clojure has so many libraries is that most things didn't have to be implemented from scratch. Building Clojure on the JVM was a genius move by Rich Hickey - it meant that an advanced runtime platform (the JVM)
13.
▲
by
Mikera
13y ago
I don't think you can credibly describe Java/JVM as a small ecosystem.... there's nothing else remotely close in terms of the combination of runtime platform capabilities and the number of available open source libraries.
14.
▲
by
Mikera
13y ago
I'm actually trying to prototype a language that gets you the best of both: * Clojure style dynamic development * A Lisp (with proper macros, homoiconicity etc.) * Runs on JVM * Can use Clojure libraries unmodified * Static type system
15.
▲
by
Mikera
13y ago
Also I would guess that people who like Clojure's philosophy are much more likely to build simple / loosely coupled / composable services than a big monolithic project.
16.
▲
by
Mikera
13y ago
Agree with everything you say, but it is worth noting that the insights you get from static analysis on desugared forms (which can be very large and complex!) is much harder to interpret than static analysis on the original forms. So to mak
17.
▲
by
Mikera
13y ago
It makes a lot of sense in the context of programming when you look at the big picture. I think Rich Hickey articulates it best: http://www.infoq.com/presentations/Value-Identity-State-Rich...
18.
▲
by
Mikera
13y ago
The problem is the design paradigm where you enforce an arbitrary fixed hierarchy on real-world data. This doesn't work for several reasons: * In the real world there are multiple overlapping hierarchies, which have different uses. Hum
19.
▲
by
Mikera
13y ago
It concerns me when people confuse the idea of gender equality and rights (which I think most reasonable people agree is a good thing) with the idea that men and women's lives have to be the same in all aspects. I think it is much more
20.
▲
by
Mikera
13y ago
Erlang has a very nice concurrency approach, particularly if you are into distributed and fault tolerant systems. But it's ridiculous to say that "only Erlang can do concurrency". Many other languages do concurrency very well
21.
▲
by
Mikera
13y ago
The point about complexity is probably fair from the perspective of someone just getting started with Clojure. Sure, the syntax itself is very simple and regular (like any Lisp). The complexity is in all the other stuff - macros, code-as-da
22.
▲
by
Mikera
13y ago
vectorz-clj has sparse vector support.... it's bit of an hidden feature at the moment (you'll have to use Java interop to instantiate a SparseIndexedVector) but it works and is pretty fast for many operations.
23.
▲
by
Mikera
13y ago
You've just pretty much described the motivation for core.matrix: it's an API that wraps various other back end vector/matrix libraries (including JBlas etc.) with a nice, standard Clojure API.
24.
▲
by
Mikera
13y ago
core.matrix developer here :-) we're definitely looking at expression compilation. Also hiphip could be very useful for writing fast core.matrix implementations for the standard API. So definitely good room for collaboration.
25.
▲
by
Mikera
13y ago
I've been thinking about adding some IO features to core.matrix. Haven't got round to it yet, but linking this with hdf5 format could be very useful.
26.
▲
by
Mikera
13y ago
Refcounting?? I thought that idea died years ago. Refcounting is an extremely poor choice for memory management on modern machines. Even putting aside the issue that it can't handle cycles: constantly writing to memory to modify reference c
27.
▲
by
Mikera
13y ago
The JVM isn't even that slow to start nowadays: a simple hello world app runs in about 0.1sec on my machine.
28.
▲
by
Mikera
13y ago
I'm the author. Yes I find it useful in various ways. If the learning rate is too high, you can visibly see see weights flicker between different colours. In simple nets you can use it to identify the "meaning" of feature detectors by obser
29.
▲
by
Mikera
14y ago
That chart is statistically meaningless. It just shows % change since an arbitrary date in the past. Obviously, since different languages are on different parts of the growth curve, it results in a pretty unfair comparison. In particular, i
30.
▲
by
Mikera
14y ago
Java is a great platform to build on - and the sweet spot is definitely for server side applications like this. You can safely ignore the people who bash Java - they are generally clueless. The Java language is perfectly fine: high performa
More ›