Why do we choose Clojure

Clojure is a functional programming language, written for those who seek simplicity. The combination of a better way to build and hire top talent can help a company to move faster.

We started IPRally with Clojure because of my personal love story with the language. Before IPRally, I was working as a developer in Adtile, working with a globally distributed analytics pipeline. We had the code organized in Clojure microservices, and the crazy thing was that the code was easy to understand. Not only that, it was easy to modify. We had tests for the microservice functionalities, but not for the finer details. Then without changing the tests, you could fearlessly modify the solution, refactoring the code into something comprehensible. Because the language is so powerful, such high level tests can be enough.

Data is kept in simple format. When you can understand the data, the code makes more sense too.

What is this language

Clojure is a modern reincarnation of Lisp, an ancient language already specified in 1958. In fact, the original Lisp is the second oldest high level programming language after Fortran. It was favored especially among the artificial intelligence researchers. Clojure, the Lisp of today, is often used with web development, with integrations to both Java and JavaScript ecosystems. Lately there has been some movement towards the AI roots too with support for Python interop and Clojure data science libraries like Deep Diamond.

You don’t usually learn Clojure as your first language, nor do you accidentally end up writing Clojure in the industry. That’s why studying it tends to be a conscious choice, and that’s why the Clojurians tend to come with some seniority, and are among the highest paid programmers.

We use ! in the end of function name if running it may have side effects. In this case, you are the machine.

Simple > easy or safe

At the end of the day, programming is mostly about building. There certainly are difficult challenges, e.g. natural language understanding, but mostly we developers focus on building systems in a maintainable way. And it’s not just about technical debt. Systems can be built in endlessly different ways, which of most eventually slow you down and cause suffering. When you compromise your solution slightly with every decision, you cannot fix it with just some refactoring. Building in a maintainable way is crucial for a product company - it eventually leads to a faster development speed and allows scaling up the organization.

Clojure opts for simplicity. As a comparison, Ruby is a language that tries to make things easy. But the Clojure way is to care less about how fast you can code, and more about minimising magic. Rich Hickey's classic presentation on the subject comes recommended. Other languages like Java or Haskell choose safety, with type systems for data. With Clojure, the responsibility for creating safety nets is left for the developer. Advantage? In good hands, this can avoid complexity. Here is an example how 441 lines of idiomatic Java become 58 lines of Clojure.

The right thing to do, even if it’s hard

Aiming for simplicity makes one respect craftsmanship. No technology guarantees a simple solution. There are always more ways to create a mess than to find something elegant. Simple is hard, and we still choose simple. In the long run, a simple solution is more maintainable and safer than something more complex. 

You surely can create a good solution with any moderately sensible technology. In the end of the day, developers matter more than technology or the processes, and the main advantage of Clojure comes from this. The developers who love programming and go the extra mile for learning a rare language are often pretty good ones. We met with two of the earliest IPRally team members, Juho Sepänmaa and Sebastian Björkqvist, in the Helsinki Clojure meetups. Even though Sebastian ended up working with deep learning and Python, Clojure helped once again to spot a top talent.

The syntax for figuring out the good startups has never been simpler.

We are building a tech organization with foundations in Clojure philosophy. We have a position open for Clojure developers. You can also just send me an email at juho@iprally.com.

Read more

IPRally is SOC 2 Type II compliant

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

When systems start talking: IPRally's journey toward a virtual IP department

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Search, Intelligence, Protection: the three pillars of IPRally’s next chapter

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

IPRally and RPX Corporation announce strategic collaboration, cross-linking AI-powered patent search with RPX Empower

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Macro meets micro: IPRally's next chapter builds intelligence on search

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

What does quality actually mean for automated patent search?

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Webinar Q&A follow-up: Your questions about IPRally Agent answered

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Introducing Agent: Verified novelty intelligence — in minutes, not weeks

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Webinar Q&A follow-up: Your questions about Smart search answered

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Introducing Smart search: turn any material into an effective prior art search

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.