DEV Community

[Comment from a deleted post]
Collapse
 
ntrupin profile image
Noah Trupin

I've never used V before, but have been following its development on GitHub for quite some time.

I have used Nim frequently in the past, it's definitely a useful language.

 
deciduously profile image
Ben Lovy

I snooped, while ocelot is cool in and of itself and I'd need to spend some time researching, can you comment on pros and cons of Nim for the implementation? What might you have used if it didn't exist, and how did Nim address any shortcomings?

 
ntrupin profile image
Noah Trupin

The expressiveness and forced formatting (statements being grouped by indentation) allowed me to keep a clean, understandable code style while crafting the project.

However, modularity with a large struggle; if a file required another file, the required file could not require that file or any file that required the original file (I know -- confusing). It made splitting the compiler into components difficult, as strategic planning was required to know what to put where so that they could be brought together.

 
deciduously profile image
Ben Lovy • Edited

Interesting, thanks. That seems like a problem that small-to-medium programs can overcome, but it's a bit of a showstopper if you want to scale indefinitely. Is that accurate, or do you think this language could be used in the large?

 
ntrupin profile image
Noah Trupin

I do think the language could be used at large, because you combat the import struggles the creators of the language also added an include statement, which brings the code for another file into the file that calls it. This can lead to rather bulky statements at the top of files, but is rather powerful in splitting up modules without worrying about shared imports.