Meanwhile Nim:
echo "I am still worthy"
let a = r"I hate the ugly '\' at the end of " &
"multiline statements"
for x in 0..9:
if x == 6: echo x
echo x # this is error in Nim, but not in python. Insane!
assert false + 1 # this is an error (python devs in shambles)
assert true - 1 # see above
Thanks for coming to my Ted-talk.
More here: Nim for Python Programmers
Well, then you have to find another name for that kind of software and define it that way. I certainly would support such an effort, i.e. to make software available to everyone at no cost.
There’s no need to come up with new terms or change the existing ones. Free software is inherently free in price. And you can’t enforce paying for software without the restrictions put in place (e.g. drm). Here’s a quote from https://www.gnu.org/philosophy/selling.en.html :
With free software, users don’t have to pay the distribution fee in order to use the software. They can copy the program from a friend who has a copy, or with the help of a friend who has network access. Or several users can join together, split the price of one CD-ROM, then each in turn can install the software. A high CD-ROM price is not a major obstacle when the software is free.
Free software can have a price, but paying it is optional.
I meant that free software is inherently can’t have a price. Even if you provide source code only to your users, they are free to share that source code for free.
Thus there can’t be piracy because piracy of free software is inherently allowed.
And if you try to prevent your users from sharing the source either legally or with drm - you add restrictions to software, making it less free for your users.
The recent situation with RedHat provides good demonstration and example of this.
It’s free as in freedom, not as in free beer.
But you can’t have one without the other. Putting a cost on software is adding a restriction, thus making it less free (as in freedom).
Free software should be available to everyone, even to people who don’t have money to pay for it (poor third world countries, students, kids).
I personally believe, that you should pay for software that helps you earn money. For everything else - it’s everyone’s own decision to donate or not, based on a financial situation, beliefs, political position and what not.
There’s a separate syntax for quotes in markdown:
> This is a quote.
whole paragraph is still a quote with a single '>'
and even newlines are preserved and long lines are perfectly soft-wrapped, isn't it useful?
>
> empty lines should have '>' if they're part of quote
> this is a separate quote, because line above doesn't have '>'
This is a quote. whole paragraph is still a quote with a single ‘>’ and even newlines are preserved and long lines are perfectly soft-wrapped, isn’t it useful?
empty lines should have ‘>’ if they’re part of quote
this is a separate quote, because line above doesn’t have ‘>’
Not a language per se, but subsets of languages used for fantasy consoles usually do not implement import functionality. TIC-80, PICO-8, etc. etc. WIKI I wouldn’t call that a feature, but it drives you to write less and more space-optimized code.
Now that I think about it, source code size could be a feature in itself, look at codeGolf-oriented esolangs:
While most of the time, I remember my password, I know I could just snap and forget it right there at any point. Happened to me not once. And I’m in my 20s. Sometimes when I forget a password, I just start typing and muscle memory kicks in, sometimes it doesn’t. I guess our brains are not optimized to store long random strings of characters. You could use a long sentence as your master password or do as I do:
Come up with a way to make up a long seemingly random password from a couple words. Then if/when you forget a password, just remember those words and reconstruct password from them.
First time hearing about Nuitka and it sounds promising for Python devs. But from a quick glance it is merely an AOT compiled Python.
For me, Nim has big advantage over Python: types that are statically checked at compile time.
Types make you reason about your code more. Good LSP uses types to suggest you code without any AI and shows you errors before you have to run your script/programm.
Nim is cool. Easy to read python-like syntax, strongly typed, compiles (not transpiles) to C, so you can use common C tools like valgrind, gdb, musl, etc.
Small footprint, devel version supports deterministic gc (arc/orc).
One of the greatest interops with C, C++ or JS (C and JS are not mixable, obviously)
I’ve only used Nim in hobby/toy projects, but it was very pleasant experience.
Good resources about Nim, I’ve collected for past month while learning and falling in love with it:
Nim-Lang.org - Tutorials on the official website is one of the best ways to learn syntax.
Nim is one of supported languages on Exercism - free and open source platform for coding exercises.
A brief introduction to Nim by Exercism
Nim in 100 seconds by Fireship
Computer Programming with the Nim Programming Language - One of 3 books about Nim and the only free one.
Summary of Nim features and resources. Warning! AI-generated, so don’t rely on it too much.
Nim by Example. - Useful for quick syntax overview
Official Curated List of useful packages
Example of making a real program in Nim (brainfuck interpreter)
How to build and deploy static binaries with musl
Nim is not a transpiler
Oh, and GBA rom is included with game files.