Hi guys, I am aware that this question is a hard one. Don't say Nim to begin with. I want to know the rationale behind it ;-)
I want to limit the choice between Nim, Clojure and Python. The "other first class" languages are --in my opinion-- Go, and after that Rust. The second class is PHP.
I can't say anything about the nature of the website. The only thing that I know is that it has great opportunities and can be used by lots of people and because of that there are lots of guys looking, modifying and editing the things in there, so connectivity, up-time and speed are all vital.
TBH I like Clojure a lot. I don't think that there is anything wrong with it. I don't like Java at all but Clojure I like. I compare Python with a rose that has its thorns and we all know that these thorns can hurt. Nim on the other hand has a lot less thorns (in my opinion), with the exception of that no-one that I know is aware of Nim, and also that maybe Nim is too low level for a website.
Btw, I am using QML a lot ;-)
I am aware that this place probably isn't the right one but can you please give me more info about which PL I should use?
Grt, Gerard
100% agree.
After Nim, even reading Python's docs feels weird: the only way to know what kind of value can be passed to a function is to actually read the human-written prose in the docs. How crazy is that?
With Nim, I just type the first chars and Vim shows me the signature, which completely describes the proc's interface. No need to run stuff on the REPL all the time, you just _know things work.
To give a counterpoint, if you want to do a pre-canned site then something like Python + Django would likely be quicker to spin up due to pre-existing modules, docs, etc.
However Nim gives an advantage of not just being typed but useable as both the front end and backend. Meaning for a small team you could do an SPA type website with less cognitive overhead. Clojure has this benefit as well.
Personally I'd use Nim despite the lack of some pre-built modules because I'd be more confident I could write it and let it run for years with minimal upkeep. That's become valuable to me. Python seems to break language stuff regularly, it's hard to deploy, etc. Then to boot it doesn't scale well.
I can't say anything about the nature of the website. The only thing that I know is that it has great opportunities and can be used by lots of people and because of that there are lots of guys looking, modifying and editing the things in there, so connectivity, up-time and speed are all vital.
the practical answer is golang b/c you will simply find more resources and more people willing to develop on golang. nim is better designed contra golang's mistaken ultra-"less is more" approach which has resulted in a miserable experience for that language (case in point: it took thirteen years for them to finally cave to the fact that a modern programming language should have some form of generic metaprogramming) but the real world dictates that golang is the more sensible option
the practical answer is golang b/c you will simply find more resources and more people willing to develop on golang.
I agree with that but I also said that I use QML a lot. The QML bindings are all abandoned so I have to use Flutter or something else.
I am aware that this question is a hard one
It isn't, but you need to clarify what your requirements are, otherwise you only get replies based on personal preferences.
It's 2023, you can do web site in pretty much any language.
Nim is too low level for a website
Nim is not low level. It's a bias present in Nim community, that most of discussions and docs heavily tilted on low level things and performance, but Nim as a language itself, while way more complicated and harder to use than Ruby or Python or I guess Closure, but language itself is not low-level.
Nim is not low-level, it's a high-level language, although, more complicated than Ruby or Python.
What you trade in complexity for development you gain in simplicity for maintenance. Working on a shared, production codebase in dynamic languages is painful especially when you have the habit to have the compiler backing you up.