I may feel a bit guilty as I critisized the former Nim Homepage content... But sorry, the new draft is really not nice.
Page look is unfriendly, content is not great also. So here is my first content suggestion -- I just hacked it together in a few minutes. It would be easy to improve the text further, I guess I forgot some points, and we can steal some wording from pages of other languages. Of course I am not a native English speaker, and do not know well all Nim details. But it is so easy to make a better text, so I could not resists, of course knowing that my draft will newer make it to the Nim homepage. So I have not fixed spelling errors and I have not tuned the wording in any way. But you may get the feeling. I would maybe group the statements in boxes as it is done for Julia -- Julia in a nutshell. * * * Nim is a modern universal programming language suited for systems and application programming Nim combines successful concepts from mature language like Python, Ada and Modula with a few sounding concepts of latest research. It offers high performance while keeping the source code short and readable. Its clean Python like syntax makes programming easy and fun for beginners, without applying any restrictions to experienced systems programmers. Nim is efficient: * The generated native, dependency free executables are small and allow easy redistribution. * Nim supports various backends -- the C and LLVM based backends allow easy OS library calls without additional glue code, while the Javascript backends generates high quality code for web applications. More backends already exists or can be easily added. * The Compiler itself and the generated executables support all mayor plattforms like Windows, Linux, BSD and Mac OS X. Porting to other platforms is easy. * Modern concepts like Zero-overhead iterators, compile time evaluation of user-defined functions and Cross-module inlining in combination with the preference of value-based, stack located datatypes leads to extremly performant code. * Various memory management strategies exists: Selectable and tunable high performance Garbage Collectors are supported by manually and semi manually memory managent. This makes Nim a good choice for Application development and close to the hardware system programming at the same time. * The unrestricted hardware access, small executables and optional GC will make Nim a perfect solution for embedded systems, hardware driver and Operating Systems development Nim is Expressive * Nim supports the well know concepts like operator and function overloading and ... * While the traditional Object-Oriented Programming styles is supported, Nim does not enforce this programming paradigma and offers modern concepts like ... * The Powerful AST-based hygienic macro system offers nearly unlimited ... for the advanced programmer. Nim is Elegant * Modern type system with local type inference, tuples, variants, generics, etc. Nim is Open and Free. * The Nim compiler and all of the standard library are implemented in Nim. All source codes are available under the unrestricted MIT license. Nim has a friendly growing community * IRC * Forum (coded in Nim) * ... Nim has a bright future * Started 10 years ago as a small project of some bright CS students leaded by Mr A. Rumpf, it is now considered as one of the most promising programming languages supported by uncounted individuals and companies of leading computer industry, ie. from the area of game development, cryptology and bitcoin stuff.
