After watching Uncle "Bob" Martin lectures for hours I was left with one 
nagging thought. If we would benefit from one programming language why do we 
have so many? AND where do we go from here? He does talk about different models 
like procedural, structured and functional programming languages and skirts the 
[a] syntax being special purpose; and [b] the syntax is about adding 
constraints or things you cannot do.

Reasons "we" write a lot of BASH scripts is because [a] the SAME syntax is 
available on most platforms [b] it just works [c] it's complete [d] it's simple 
... and so on. For example I have a bash script that I use to build and deploy 
a particular project. It does everything I need but it depends on a 'jot' 
function that is not available on all of the target operating systems. So I 
rewrote it in tcl and it works great. tcl, like bash, has not changed much even 
though there have been numerous releases. The best part is that, like lisp, the 
interpreter is simple to implement. (see golang 3rd party packages and "tcl in 
500 lines")

So what's interesting here, if I say this correctly, is that NIM has both a 
translated (meta) approach to convert nim to (js, c, c++) and can also run as 
an interpreted language. In the past few days I did some example/tutorials on 
ClearLinux (optimized for Intel and SUPER fast). I had a couple of failures 
because of the way ClearLinux handles the /etc folder and that the nim 
installer is only aware of /etc in it's config load path and the default 
nim.cfg.

Nim's syntax seems very reasonable. I would use it as-is if there were just a 
few more libraries like a SQL Server DB driver, XLSX file API. Maybe a few more 
but nothing off the top of my head.

If nim were to heed Uncle Bob... then nim could be the one DSL to rule them 
all. Consider writing your API in NIM and then converting them any other 
language. Client and server side. Right now I'm building some projects that 
would benefit from one language to rule them all. If I were a hiring manager I 
would be looking for devs who could pull that off.

Thanks for listening.

Reply via email to