[1]: http://www.wilfred.me.uk/blog/2016/07/30/example-driven-deve...
303 karma · joined January 15, 2011
[1]: http://www.wilfred.me.uk/blog/2016/07/30/example-driven-deve...
- hiccup syntax / sexps are trees analogous to the HTML you're constantly generating, and first-class supported data structures supported by the language which need no pre-compilation/transformation step, unlike JSX
- syntax is a good 20-30% less verbose than JS (yes, even ES6), especially when the core lib is taken into account (things like partition, zipmap, threading macros)
- one extremely battle-tested dependency resolution story, not named NPM - it just works
- incredible development tooling innovation, best of class for frontend web development
- the sequence abstraction and dozens of functions that operate on it, rather than Object.assign, Array.map, etc
- best-of-breed dead code elimination via Google Closure Compiler, meaning much of third party libraries and development-specific code ends up weighing less / nothing in production builds
- sets and set operations built in, along with tree walking, diffing and string utility libraries, included with the distribution
- no more defensive copying, thanks to immutability everywhere
I'll use a hackneyed sports metaphor b/c my creativity has atrophied over years of nothing but coding: on a basketball team, the shooting guard should definitely be taking a good percentage of jumpers and concentrate on delivering a high percentage of buckets, but they may also be a great passer, a leader in the locker room, mentor for younger players, etc (up to and including weighing in on personnel matters), if they have those capabilities and trust. Probably better than just shooting baskets in a gym their entire career, right?
Never truer than in 2016.
Hope there's more on the way.
Obviously a 128GB SSD would've been preferable, but I think this strategy will work out.
Is there really nobody that went for the 16GB RAM version who can speak about the experience?
[1]: A simple example: https://github.com/pandeiro/jamal/blob/master/build.boot
But I think it's approaching a consensus already within the CLJS community that, on API alone, reagent is the React interface you want.
It's extremely elegant and performant; probably the best frontend library I've ever used in close to a decade of web development.
Instead it was just another riff on "we're doing it wrong"...
From what I understood on the video, this is going to be distributed via a repo that is essentially already an iOS or Android template?
There wasn't much talk about the compilation process. Maybe the details (for the open source version) haven't been ironed out?
git clone git://github.com/feature-expressions/clojurescript
cd clojurescript/feature-macros-demo
make deps
make demoText reflow was/is a killer feature of the original Android browser (which cyanogenmod still uses, fortunately).
Reading the HN front page is a PITA without it.
The main criticism I'd make, and this is something the boot (http://boot-clj.com) guys have mentioned (http://c2.com/cgi/wiki?CodeGenerationIsaDesignSmell), is that we are getting pretty dependent on code generation with lein templates, and they are getting increasingly larger and more complex just to handle our base scenarios (dev/prod builds, REPL, live reload). Maybe this is unavoidable, or not really an issue... I don't know.
Besides being a prolific coder, he's a great writer with a knack for bridging the academic and the practical.
What's more, the Clojure community has a great number of similarly education-minded and highly talented and effective programmers.