Re: Jester memory usage keep rising using sqlite

2019-11-18 Thread mindplay
Is this true with manual memory management as well, or just the built-in memory 
management and GC?

Like, if you were to, say, manually allocate space to load and copy/resize a 20 
megapixel photo, will the app continue to occupy 200 MB of RAM even after the 
memory is released by the app? 


DOM bindings

2017-09-19 Thread mindplay
Looks like there are no bindings for Canvas in the DOM package?

I take it the DOM package was hand-written by someone?

That's not the approach that most languages take - usually the (Interface 
Definition Language, IDL) specifications are parsed and compiled into interface 
specifications for another given language, e.g. Nim.

The DOM API is a moving target - and if you're going to write a full-stack 
web-application with Nim, having a complete, reliable and (especially) 
up-to-date DOM API seems kind of important.

Are there any practical reasons why IDL can't/shouldn't be parsed and 
translated to Nim, rather than (as I assume they were) hand-writing them? 


Re: Installation on 64-bit Windows

2017-01-14 Thread mindplay
> A Nim script to install Nim on a machine which doesn't have Nim on it?

Well, a Nim program then - compiled executables can stand alone, right? 


Re: Installation on 64-bit Windows

2017-01-10 Thread mindplay
> there was no offense implied

There was no offence taken really, I took it in good humor. I should have 
clarified "Ouch, thanks" with a 

> Any others?

Why not a Nim script? Tools etc. are installed with Nim scripts. Seems "at 
hand"? 


Re: Installation on 64-bit Windows

2017-01-09 Thread mindplay
> I have yet to find a single programmer on Windows that acts this way

Ouch, thanks.

For the record, I have been programming for 30 years, professionally since the 
mid-80s - I can program in around a dozen languages, and have built some fairly 
big and complex systems over the years, so I do consider myself a _programmer_.

But I grew up on languages like Pascal, Delphi, Modula-2, JavaScript, 
ActionScript and various Basic variants, and consequently learned from the 
start to count on languages and development-tools that work "out of the box", 
where you can focus on solving problems, rather than getting distracted by a 
lot of environment issues and manual setup.

Growing up on said languages, I also never had any love or interest for 
languages like C or C++, where you have to get distracted by things like memory 
management and other low-level cruft.

I think Nim holds a lot of promise for programmers like me - it appears to be a 
language with multiple "levels", kind of like Scala or Rust, where you can 
choose to program like I would program in Java or C#, where I don't have to get 
distracted by things like memory-management or threading issue, but where 
someone else who needs or wants to can go to more low-level features and manage 
memory etc. if they need to.

Anyhow, whether it's a "setup.exe" or step-by-step instructions, for "idiots" 
like me who just want to try out the language and use it to solve problems, 
things surely could be improved. It shouldn't take hours for someone like me to 
get a working language and editor installation set up.

Nim surely appeals to more "hardcore" programmers because of it's depth, but I 
think you have potentially a much larger audience among people who use more 
"humble" languages like PHP, JavaScript, Ruby, Go, etc. - all languages that 
even lazy Windows users can more or less click to install and dive in. I think 
Nim has the potential to compete with all of those. If we can figure out how to 
install it, haha 


Installation on 64-bit Windows

2017-01-08 Thread mindplay
On the download page, it says that the Windows installers "have some known 
issues and so will unlikely to be provided further in the future" \- and that 
"We now encourage you to install via the provided zipfiles", so I wanted to do 
that.

So I decided to start fresh and removed my previous installation.

There's a link to mingw-w64.org somewhere else on the page, but I could find no 
real instructions or recommendations on how or where to get a working GCC 
installation - especially not on their website, which lists dozens of 
distributions with different versions etc. and still no recommendation on which 
one to get.

Somewhere else on the page, it says "GCC is recommended on Linux and Clang on 
Mac. The Windows installers above already includes a C compiler" \- but the 
Windows installers aren't recommended, so that's not very helpful.

I finally decided on MSYS2, and found instructions on stackoverflow for 
installation:

[http://stackoverflow.com/a/30071634/283851](http://stackoverflow.com/a/30071634/283851)

I've never used MSYS2 - to be honest, I'm not completely sure I even understand 
what it is, or why I had to install it. It's like Bash for Windows, kind of 
like Git Bash?

I also had to figure out where it actually installs the GCC binary, because it 
doesn't add the folder to the system path, so the GCC command could not be run 
from a normal Windows shell.

Well, I finally have it working, I think - at least, typing "gcc -v" outputs 
"gcc version 6.2.0 (Rev2, Built by MSYS2 project)", so far so good, right?

Unzipped nim and ran "finish.exe", and this is where I'm stuck - it says "No 
compatible MingW candidates found in the standard locations".

However, if I try to compile something, it seems to work?? I type "nim c 
koch.nim" for example, it compiles, and emits a "koch.exe".

Both "install_tools.nims" and "install_nimble.nims" seemed to fully compile and 
execute with the "nim e" command, so I'm not sure what the error-message from 
"finish.exe" is even about.

Do I need to do anything else, or do I have a working setup now?

If you want more Windows users to try nim, I really think you need to provide 
more complete installation instructions - it took me hours to get a working 
setup. You seem to assume that most users have a working C compiler setup 
already, which most Windows users likely do not.

In fact, most Windows users will give up if you don't provide a working 
"setup.exe", because that's what we're used to. Most of us don't have or use 
(or want) command-line package managers - it's not really "a thing" on Windows.

And yes, we're pampered that way - but most successful languages do ship with a 
"setup.exe" for Windows users, so that's just what we're used to.

Either way, if you want us to install not only nim but it's dependencies 
manually, please do try to provide complete instructions. 


Re: Love nim but at the same time starting to hate it...

2016-07-26 Thread mindplay
FWIW, on our team, we ask developers to put as much documentation inline as 
possible - and only use external documents when absolutely necessary.

The reason being simply this: documentation needs updates. When the code 
changes, often the documentation should too - and it's really easy to forget 
that, if the documentation for the code is in an entirely different system. If 
you weren't the original author, you might not even realize that external 
documentation exists.

As part of our development process, during code review, we look for changes 
that require documentation updates - a pull request isn't merged until it's 
complete with documentation updates. It doesn't work 100% of the time, but it 
works pretty well - a lot better than the documentation for our old platform, 
which was located in an external system.

IMO, information overload in the source code is a problem that can be managed - 
either by folding in the editor (which may increase the risk of forgetting to 
update the documentation!) or by writing smaller files, e.g. fewer members per 
file, which is usually a good thing either way.

In my experience, external documentation always rots. Inline documentation has 
a better chance of actually receiving the maintenance it requires.

Just my two cents.