3 ms·
I've tried Rust, Nim and Go and I prefer Nim. But this could also be because of my background as a C/C++ programmer, and my particular requirements (general pu
by ilitirit 11y ago
I've tried Rust, Nim and Go and I prefer Nim. But this could also be because of my background as a C/C++ programmer, and my particular requirements (general purpose programming language that doesn't try to hold my hand too much).
There are things I don't like about the language (eg. case-insensitivity), but overall if I had to choose a newish language for a new task, I'd choose Nim over Rust and Go. (However, if you threw D into the equation I'd probably go with D simply because I feel it's slightly more mature).
Incidentally, the way I tried to teach myself Nim (and to see if the language was usable for creating small Windows apps) was to write a WinApi program. It took about the same or less effort as what it would have taken me in C/C++, but it just felt much safer and more pleasant to work with.
- k__ 11y agoDo you have some directions on the WinAPI in Nim? I felt a bit overwhelmed with the whole wrapping thing.
- ilitirit 11y agoYou don't have to wrap anything. It's exactly like using it from C, except maybe a bit easier/safer. Just import windows. Then you can write code like this: hWndMain = CreateWindowEx( WS_EX_TOPMOST, # Optional window styles. CLASS_NAME, # Window class WINDOWNAME, # Window text windowStyles, # Window style # Size and position centerX, centerY, APP_WIDTH, APP_HEIGHT, cast[HWND](nil), # Parent window cast[HMENU](nil), # Menu hInstance, # Instance handle cast[LPVOID](nil) # Additional application data );