Developing on a modern Lisp language in back and front end avoiding JS: feels like heaven.
@domaincontroller5 жыл бұрын
07:00 Web Development Spectrum 09:25 new framework 14:55 tooling 16:35 interop 23:40 types ~ 26:00 editor 28:00 templates 29:33 workflow 31:43 shaky foundation, javascript, one-liner 33:09 code size
@valwaeselynck45299 жыл бұрын
Thank you! This is a great talk for everyone who wants to bridge the gap between ClojureScript programmers and JavaScript developers.
@craigfiebig83579 жыл бұрын
The only person on the planet who can make this topic interesting and useful for that 180 degree arc of intellect that spans marketing to SDE.
@KentOJohnson4 жыл бұрын
This is very helpful. Is there a recent update of this comprehensive nature for the current state of the ecosystem?
@ChadStovern9 жыл бұрын
Excellent talk, thank you for a great pitch for the javascript community!
@wheelindex89832 жыл бұрын
Really good talk. Experienced speaker, still relevant in 2022.
@orestismarkou5346 жыл бұрын
Revisiting the Objections* section today: First Run: New quickstart page is much better Types: Clojure.spec is available for ClojureScript Editors: Guides available on the site Java: Still here
@LucasWiener7 жыл бұрын
Really nice presentation!
@davidyanceyjr8 жыл бұрын
Enjoyed the video. I have watched several clojure videos in an attempt to answer one question. Is this relatively new eco system worth learning if your new to programming?
@androth15025 жыл бұрын
is closurescript doing anything to integrate with webasm?
@chrisvouga88324 жыл бұрын
Very good speaker!
@marcopompili37638 жыл бұрын
At 25:35: What about Light Table as a good starting editor for ClojureScript ? Based on electron (same as Atom) and written in ClojureScript.
@irandomedthisnick8 жыл бұрын
Agreed. I've started to learn Clojure with Light Table and it is a really cool editor (I am used to Sublime Text). The inline REPL is a great experience for a first run!!
@ashtonsix29809 жыл бұрын
Good talk & I defo want to start using ClojureScript. Examples of verbosity in JS are cherrypicked though and can all be done in one line: ISO date string: (new Date()).toString() Iterate w/ previous & next value (eh, could be better): const iterate = (a, f) => a.map((v, i) => f(v, a[i-1])) Trim: _.trim(str) Clone: _.cloneDeep(obj) Check for empty string: str === ''
@ashtonsix29809 жыл бұрын
+Ashton War I agree w/ the comments about templates, they suck. I wrote a library based on react-hyperscript that solves this in native JS. So I'd write something like: div([ span(`Hello ${name}`) ul( options.map((v, i) => li(`Option ${i}`)) ) ])
@ashtonsix29809 жыл бұрын
+Ashton War Immutability + hot reloading, yep JS sucks at this and we don't have good solutions. +2 for clojurescrupt here
@ashtonsix29809 жыл бұрын
+Ashton War Yeah, your right about Java, biggest thing making me want to stay away from Clojure
@ashtonsix29809 жыл бұрын
+Ashton War That async / callback hell problem you put up is a little tricky, the people working on RxJS have solved this in native JS but the ideas haven't spread to the wider JS community yet.
@ashtonsix29809 жыл бұрын
+Ashton War Though async / await in es7 could be seen as a step in that direction
@MrWholphin9 жыл бұрын
Impressive
@nielsvanklaveren33158 жыл бұрын
I get where you come from when starting up IntelliJ/Cursive and start New Project, but choose Leiningen and just ignore the first screen and you're golden.
@capability-snob8 ай бұрын
Tony Hoare had many brilliant ideas, but CSP really wasn't one of them. This is the one part of working in ClojureScript that I remain worried about: I don't want the components I'm using to make use of unsafe concurrency primitives. In javascript, I can be confident that my event runs to completion before the next microtask is executed, but in clojurescript afaict, any number of unrelated events may be processed before some library function resumes. This means the developer can no longer reason locally about effect order.
@wotwot68688 жыл бұрын
And here I am still using jQuery. Oh btw, also using JSPs. And best of all, we also don't use SCM/versioning.
@fabioramatis23734 жыл бұрын
Good luck
@uzaarnaam9 жыл бұрын
fwiw that ""javascript"" code example contains experimental ES7 features that are part of an early draft standard and require bleeding edge, experimental babel plugins: babeljs.io/blog/2015/05/14/function-bind/ It's misleading to say "this is javascript [right now in 2015]" :)
@uzaarnaam9 жыл бұрын
+S ཨཽཨཽཨཽ Once point you didn't make but could, however, is that "javascript runs in the browser" is no longer a valid argument. Modern javascript REQUIRES a compile step (babel), so clojurescript really is not at a disadvantage here.