Explore Courses Blog Tutorials Interview Questions
0 votes
in AI and Deep Learning by (50.2k points)

I was recently diagnosed with a cascading dissociative disorder that causes retrograde amnesia in addition to an existing case of possible anterograde amnesia. Many people have tried to remind me of how great a programmer I was before -- Right now I get the concepts and idioms, but I want to teach myself whether I know or not. I think I can overcome the amnesia problems in part with it.

My question is this: I recently found Clojure and it... it feels good to use, even in just copying down the examples from whatever webpage I can find. My goals in learning a functional programming language are to create a simple web server, an IRC AI bot of some variety, and a couchdb-like database system, all of which lightweight and specifically for education. What flaws does Clojure have? Is there a better functional programming language to use right now for education /and/ application?

1 Answer

0 votes
by (108k points)

There are many cons in Conjure programming language:

  • It is not memory efficient, increasing the cost of hardware by requiring high memory servers.

  • It has a steep learning curve, but it’s just an initial hump, that said, the hump can discourage developers and make finding low-cost developers harder. 

  • It can not be used for real-time or soft real-time services, preventing it from being useful for some use cases which cannot compromise on responsiveness.

  • Its error messages require a little bit of deciphering to pinpoint exactly where and what is causing the error.

  • It cannot be used for highly performant low-level code, the likes which would need C, C++, Rust or Assembly to achieve. That is, it’s capped at Java’s levels.

  • It cannot easily leverage low-level code and APIs, that is, it has no easy way to bind to C, or to inline Assembly, etc. It’s possible, but not easy.

  • Its artifacts are big in size. Newer JVM versions might remedy this by allowing modularized artifacts to exclude code that your service doesn’t use.

  • Its boot times are pretty slow. Preventing it from being a perfect choice for some use cases such as AWS Lambdas or other serverless scenarios. Though newer JVMs, such as GraalVM might remedy this. ClojureScript could also be used instead.

Coming to your second question, yes there are other programming languages that can replace Clojure- Haskell, Erlang are having a large following and a growing base of libraries and applications. It's also used for education and research.

If you wish to learn programming languages course and want to get certified, then have sign up for Intellipaat’s programming classes, which offers you a dedicated time frame for instructor-led training and guided projects and exercises to help you acquire the necessary practical skills.

Browse Categories