Re: What are the important features that are missing in Nim?
> | Ideally, I'd like to get a REPL based on Jupyter (formerly known as > ipython). > > That would mean Python becomes an essential dependency for Nim development. > I'm sure Nim can come up with a stand-alone feature-rich REPL, and optional > Jupyter integration. Actually it doesn´t mean that. Jupyter _started_ as a Python tool, but it has since been heavily refactored so that it is completely language agnostic. It provides a REPL that can be used with any language. There are Jupyter-based REPLs for Haskell, Ruby, Julia, Javascript, Csharp, and so on ([https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages)](https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages\)). Having a Jupyter-based nim environment would be wonderful.
Re: What are the important features that are missing in Nim?
IMHO Nim doesn't need any new features to move to 1.0. Just general tidying and bug fixing. Maybe moving some features to __future__. A little off topic but I've tried Nim in a lot of different editors. I tried Visual Studio Code for the first time as an editor to see what the Nim experience was like. For me Visual Studio Code provides the best Nim code editing experience.
Re: What are the important features that are missing in Nim?
> I also think that the killer feature would be a python2Nim converter which > works right out of the box. That's a two-edged sword... I've been pitching a closer Nim-Python relationship for a while now, but it's also important to maintain some boundaries. We want to attract Python developers into Nim's ecosystem, but Python should never become a dependency for normal Nim development. > While this may be true for Go I think this is not true with Rust. Yes, I didn't want to tweak the quote too much. I find Rust repulsive just from its syntax. > Ideally, I'd like to get a REPL based on Jupyter (formerly known as ipython). That would mean Python becomes an essential dependency for Nim development. I'm sure Nim can come up with a stand-alone feature-rich REPL, and **_optional_** Jupyter integration. > In particular I find the Aporia editor really easy on the eyes, makes it fun > to get coding and tinkering and learning. I like Atom's Nim package. I think it offers everything Aporia does (someone correct me if I'm wrong), plus all the hackability and package ecosystem of Atom.
Re: What are the important features that are missing in Nim?
I'm not a particularly good programmer, but I'm loving Nim for how easy it is to get started working with it. In particular I find the Aporia editor really easy on the eyes, makes it fun to get coding and tinkering and learning. That said, one thing I am missing (and I do recognize I may have simply not noticed something key) as a result of my tinkering is the ability to get information about your own procs from within code... information such as number and type of arguments a proc requires. I ran into this while tinkering, creating a string caching system for data that gets pulled out of a Windows OS using either slmgr or wmic, since both of those can sometimes take a second or two to execute. Not being able to dynamically handle procs with different arguments has kind of hamstrung that (though for now I have settled on a version that works on procs that require no arguments).
Re: What are the important features that are missing in Nim?
@vega Yes, I did. Unfortunately, it's not feature-rich enough to become the official Nim REPL. It's rudimentary by definition.
Re: What are the important features that are missing in Nim?
moigagoo, did you try this? [https://github.com/vegansk/nrpl](https://github.com/vegansk/nrpl)
Re: What are the important features that are missing in Nim?
@Libman: You quote this "...Go and Rust are easier to get started with because they are simpler languages. ..." While this may be true for Go I think this is not true with Rust. Rust with its ownership concept is much harder to learn, IMHO.
Re: What are the important features that are missing in Nim?
I also think that the killer feature would be a python2Nim converter which works right out of the box. Something like this would help to pull in any number of developers and presumably sponsors: import nimNumpy as np import nimMatplotlib.pyplot as plt from nimSklearn.linear_model import perceptron import nimPandas as pd ...
Re: What are the important features that are missing in Nim?
For someone used to languages like Python and Go, Nim's kitchen sink approach can be a bit intimidating. Quoting [someone's comment from YComb News](https://news.ycombinator.com/item?id=11959437): > Nim is great, and I use it (in production), but I know exactly why it isn't > as popular: **_Nim is Æ*ÆÆÈÅÄ huge_**. > > Most other very complete languages are not compiled so you can kinda muck > around in a repl and use introspection to figure out whats going on. Nim > isn't like that. You need to think and figure things out when you're first > learning it. Furthermore Nim isn't yet at 1.0 and lacks its killer library. > Go and Rust are easier to get started with because they are simpler > languages. They are easier to teach and easier to write documentation for. As I keep emphasizing, Nim needs to break out of obscurity in order to be a great language, and marketing matters. Pardon my philistinism, but a third kitchen sink will not make Nim better as far as most programmers are concerned. I think making Nim more appealing to Python programmers is the best way forward.