My interpretation... the author is arguing against creating a new Domain Specific Language when you could just use the host language.
HN user
ballpark
you prefer statically typed languages?
I like that the author points out that trying to write a new interpreter is not a good idea. However, to call that DDD, and then to say DDD is a lie is where I would disagree. I guess one could say that it's DDD taken to some extreme, but I would just call it a poor choice as the author points out.
Also I assume that the author is equating DDD with Data-Oriented Programming. Here's a good book on the topic: https://www.manning.com/books/data-oriented-programming?ar=t...
One thing I don't love about the book though is that it tries to demonstrate how to do DOP with Object-Oriented languages, which looks to be difficult to accomplish
It's definitely not over. I got into it professionally in 2018, and have remained employed with it at three different companies. There's turmoil around it because startups use it with great success, but then as they want to scale they have a hard time finding enough devs to throw at their new ideas.
I'm not sure about that. Python was a good 20 years old when it became mainstream
I see what you mean. Well answered. I think there needs to be a fix for this... like make Clojure first class for bits/bytes levels of programming. :)
[Clojure] is really optimized for [\snip] data centric stuff
Not sure what this means. Stu Halloway made a comment to the effect of "all programming is ultimately data transformations". Honest question here, what programming language is NOT for data-centric stuff?
I find that when I'm working in verbose programming languages: Java, C#, it doesn't feel like all programming is data transformations, when in reality it is.
Funnyduck99 is probably mocking all the people that go into HN posts about Clojure to complain about how their team of non-Clojure programmers went to work on a Clojure project and it was a bad experience.
too easy and too fun.
Also, to anyone interested in this problem, look for the Worse is Better paper
It's really not a language for big team.
Not my experience, but you do need senior devs who are good at Clojure to be reviewing and helping the juniors
if I had a tough day, my clj code will look like rubbish
This may not be a reflection of the language
Interesting point. I've recently taken on a client who insists on using C# with their cloud solution. It's killing me. Though you're calling Clojure "advanced", what I'm missing is its simplicity.
I used the Cider debugger with Clojure with some success, but as I got better at REPL-driven development I ultimately stopped firing up the debugger
What kind of differences/limitations are there when interpreting Clojurescript (nbb) as opposed to compiling it (shadow-cljs, lein, self-hosted?, other things?)?
I hope that you'll pay him. If you don't it will be an indication of lack of clues
I also choose to work for companies that use Clojure/Clojurescript. I'm not debating about languages that are better or not, but I get annoyed working in most others.
I've found this to be a non-issue in Clojure with specification validation. Some call this gradual typing
I'm not following, could you elaborate?
It can be indicative of the goodness of a language when you use it for 9 years and are still a huge fan. I'm in the same boat.
Yes, Clojure
Is it possible to build web apps in common lisp or any lisp? Any frameworks available?
Clojure would be good because it has lots of users. Many web apps in production. It might be good to start out with luminus for Clojure, but maybe even before that, try to get a simple Ring and Compojure thing going where you can send a request and get feedback.
Is it possible to build multithreaded apps that use multiple CPU cores for performance? What is used? POSIX threads?
Clojure is awesome for multi-threading. That's one reason Clojure is functional/immutable by default.
Also, you get access to many libraries in the language hosts (Java, Javascript). That could be a big reason for its success.
Good luck in your pursuit!
I think I would find it great fun to take a Clojure codebase like this one that you inherited and refactor it to something workable and maintainable! I agree it's probably not a job for a Clojure newbie.
A good post on the Expression Problem, and the benefits of Clojure's solution to it: https://eli.thegreenplace.net/2016/the-expression-problem-an...
Also, I agree, it's interesting to hear his experience report.
I've watched a number of Clojure centric talks from Nubank employees. Actually, I think it was one particular employee, but I don't remember his name. One was on how they do testing. The others were about Fulcro, which is a very interesting web frontend library/framework.
I get it. Also, the community is active in their Clojurians Slack channel #fulcro
I find myself going to the youtube videos a lot. There's a lot of new concepts in Fulcro. I'm surprised how long it's taking me to figure it out, but I haven't given up yet, and so far I'm liking it. I'm hoping that the investment proves worthwhile.
Clojure (not Common Lisp, but a lisp) is more prominent than many people think. I use it, and it's a primary language in a R&D area at the fortune 50 company where I work.
As a rule, I only read lisp books
- Practical Common Lisp
- Land of Lisp - http://landoflisp.com/ - watch the video, it's hilarious
- Build Your Own Lisp - http://www.buildyourownlisp.com/ - Learn C by creating a lisp in C
- In the spirit of making your own lisp, I would recommend https://github.com/kanaka/mal - learn any language, by making a lisp in that language
Based on Eric Normand's REPL Driven Development series, if I'm not mistaken, he considers evaling from the editor part of the REPL driven development flow, so it seems that evaling from the editor could also be considered "using the repl"
edit...
I think I'm seeing that your question is more of a point that you're making. Yes, it's nice to be able eval from the editor, but now being a professional Clojure developer after having been a Python developer for years, I would agree with the arguments that typing lisp (s-expression) code in a repl is much easier than Python, because you don't have to worry about indentation. This probably applies to other languages for different reasons. eg. Java... I can't even imagine what a REPL would be there. My repl usage in python was usually just calling a function I wrote in the editor. Same with my little experience in Ruby.
I stopped reading because the ads are obnoxious
Oh wow... not a chance