InfoQ Homepage JVM Languages Content on InfoQ
-
Homoiconicity: It Is What It Is
Stuart Sierra demonstrates the power that comes from having the same data representation at all layers: programming language, specification, database, inter-process communication, and user interface.
-
Clojure Spec: Expressing Data Constraints without Types
Alex Miller introduces Clojure Spec which can be used for program validation, documentation, destructuring, instrumentation, data generation, and automatic generative testing.
-
Parasitic Programming Languages
David Nolen examines the benefits and tradeoffs associated with creating a language based on an existing runtime, with a special focus on the Clojure and ClojureScript projects.
-
Why We Chose Erlang over Java, Scala, Go, C
Colin Hemmings discusses when and why one should choose Erlang over other options, but also when not to choose it.
-
Practical Data Synchronization Using CRDTs
Dmitry Ivanov discusses the basic CRDTs implementations in Scala, explaining the advantages of these data structures to solve many synchronization problems as well as their limitations.
-
Developing a Geospatial Webservice with Kotlin and Spring Boot
Sébastien Deleuze shows how to use a relational database without JPA in order to use advanced PostgreSQL functionalities wiht a lightweight stack, demonstrating Kotlin to JavaScript transpiler.
-
Using Clojure and Neo4j to Build a Meetup Recommendation Engine
Mark Needham shows how a meetup recommendation engine using Neo4j and Clojure can be built from scratch, combining content-based and collaborative filtering using Cypher and Clojure.
-
Scala, ECS, and Docker: Delayed Execution @Coursera
Brennan Saeta talks about aspects of Coursera’s architecture that enable them to rapidly build sophisticated features for their learning platform, the use of containers and security-related issues.
-
Compositional I/O Stream in Scala
Runar Bjarnason presents how to get started with the Scalaz-Stream library, shows some examples, and how we can combine functional streams into large distributed systems.
-
Types Working for You, Not against You
Richard Dallaway shows an example of what Scala looks like when using pattern matching over classes, how to encode an idea into types and use advanced features of Scala without complicating the code.
-
Understanding Core Clojure Functions
Jonathan Graham presents how to implement our own versions of the Clojure functions reduce, count, filter, map and pmap.
-
CIDER: Building a Clojure Interactive Development Environment that Rocks in Emacs
Bozhidar Batsov introduces CIDER, an interactive development environment for Clojure, discussing building dev tools on top of Emacs, the history of the project, current state and plans for its future.