Comment on: How does your political philosophy affect your software choices?
0 14 Dec 2018 19:38 u/libman in v/programmingComment on: How does your political philosophy affect your software choices?
Thank you for your reply. :-)
Comment on: Learning to program to achieve something (Serious)
I recommend learning Python first. It is extremely popular, and you'll find lots of free learning resources of all kinds. If you want to later learn systems programming, I recommend the Nim programming language.
Comment on: How does your political philosophy affect your software choices?
There are other "smells" of left-wing ideological dominance than CoCs, which are fairly new.
For many years the best "tell" has been the project's choice of license. Projects that hated free market capitalism (or just fell for Stallman's ideological hijacking) used GPL. Projects that embraced genuine software freedom used copyfree licenses like BSD, MIT, WTFPL, etc.
Another correlation has been minimalism and modularity of design (see cat-v.org). And also applying the r/K selection theory to software (ex. Ruby or NodeJS vs BSD Ports or Haskell).
Comment on: Of course, I never do this...
Although I'm a batshit-individualist, it is in the company's best interest to have programmers collaborate and review each-other's code during the development process, rather than having one person pile up a mountain of crap code and then hand it over to another person.
Comment on: Microsoft All In On Open Source or Trojan EEE Horse?
It's public relations / advertising. They cannot sell you what you can now get for free, but they can join the parade and gain your trust to sell you something else...
Comment on: Contributing to voat
I included links for various kinds of benchmarks, including math, object serialization, binary search tree, etc, etc. But this thread is specifically about "contributing to voat", which implies mainly server-side Web dev.
One should first decide on one's values. To me freedom comes first, developer productivity and code beauty second, practical performance (hosting costs, battery life, etc) third. I do agree that C# is much more popular, more mature, has a bigger module ecosystem, and has better IDE / tooling than Nim - for now...
Comment on: Contributing to voat
.NET C# is the next best thing to C++.
And note that those benchmarks are under 32GB RAM, which benefits Java and .NET. RAM is usually the cost bottleneck of rented server resources, so you get better performance per dollar with Rust, D, or Nim.
Comment on: Contributing to voat
I'd only consider contributing to fully copyfree projects.
The .NET framework / Mono isn't entirely copyfree, because many important components are under the Apache license (rejected by the Copyfree Initiative, OpenBSD, etc). This is why I advocate Nim (which is also faster and more scalable, esp on memory-restricted VPS).
Voat itself started out as GPLv3 (as uncopyfree as any open source software gets), and now it's heck knows what...
Comment on: How does your political philosophy affect your software choices?
What happens when a virgin project you adopt succumbs to the CoC?
Since then a significant fraction of this project's contributors / users / patrons would be against it, then it's less likely to happen, and if it does we'll have more power to fork.
Comment on: How does your political philosophy affect your software choices?
I was obviously talking about "companies / online communities behind those 'tools, languages', etc". When dealing with proprietary software, like as an Oracle-certified consultant, yes, you can lose a lot. When dealing with FOSS, you can always fork, but it's hard to do it alone. There are lots of problems using a piece of software (especially one that's just being developed) while banned from its support forums, and you're only helping your enemies by contributing to such a project anyway.
This is why we need programming groups of like-minded people.
Comment on: How does your political philosophy affect your software choices?
This only supports what I'm proposing: picking out the least crazy options (OpenBSD?) and focusing on them. If they are less popular projects, that's actually an opportunity for non-crazy people to affect them and keep the crazies away in the future.
Comment on: How does your political philosophy affect your software choices?
OK, so you actually agree with me that some FOSS communities are better than others. What's wrong then with discussing which ones are better or worse, and then specializing on the best ones?
Comment on: How does your political philosophy affect your software choices?
Thank you for your feedback.
Your post skims over the benefits and ends up sounding like a sales pitch for Nim.
That's why I separated out the Nim pitch into a comment, and focused the topic post on the problems within the software industry. Reasonable people can disagree on how to tackle those problems.
Comment on: How does your political philosophy affect your software choices?
After thinking about software political philosophy for many years, I believe that Nim is now the strongest candidate for the best programming language to focus on. (Perhaps D is second.) I welcome a constructive debate on the question of which programming language is the most suited.
I recommend Nim because:
-
Nim is 100% grass-roots and independent. It was started as a hobby project by a brilliant German programmer, who remains the BDFL. This makes Nim much more suitable for freedom-loving projects than languages that are sophisticated advertising campaigns for left-wing government-loving companies and organizations: Google (Go, Dart, V8/NodeJS, etc), Microsoft (C#, .NET, TypeScript), Oracle (Java), Mozilla (Rust), Facebook (PHP, D), etc. Nim does have paying sponsors, especially in blockchain decentralized apps and gaming industries, but that is much better than the entities mentioned above.
-
The #1 way in which commies subvert open source projects is Stallmanism: they fool everyone into encumbering their code with restrictive anti-market commie legalese / automagical "contracts" that no one really understands, and then claim that freedom is only possible through socialism and government force. You can't write a decent app in many languages without pulling in tons of modules and supposedly becoming subject to a zillion pages of legalese! Please read copyFREE.org - our answer to copyLEFT for a non-communist perspective on software freedom. I've analyzed the software licenses used by various programming language ecosystems, and Nim is the most copyfree one I've found! All language components, compiler, tooling, standard library, IDE integration, and the vast majority of third party modules (currently 706 of 826) are copyfree. Also, by compiling to plain C (for which there are many compilers), Nim is less vulnerable to the possibility of LLVM stabbing us in the back than languages like Rust and Julia.
-
The #2 tool for commies is anti-merit "codes of conduct". Nim is one of very few significant programming languages that said no to SJWs pushing CoC!
-
Nim is a language that was designed for high-IQ programmers, not script-kiddies or easily-replaceable third-world diploma-mill drones. But that doesn't make it more difficult to use, just the opposite! Many things in languages like Java and C# are corporate group-think that intelligent programmers do better without. In this Nim takes the opposite approach from Go, which tries to dumb things down too much, resulting in soul-crushing repetitive and ugly code.
-
Nim is still little known, but is growing rapidly. I recently compared Nim's module count to one year ago, and there was 32% growth! Of all programming languages with a module system (NPM, NuGet, PyPI, Ruby Gems, Lua Rocks, CPAN, Maven Central, etc), Nim was the second fastest in growth (after Rust). Getting into the best programming language before it becomes really popular has many advantages, and gives you a chance to influence many things.
-
Nim has a really beautiful libertarian syntax (if you like Python, and you should). Take a look at this example comparing it to Rust, or more examples on Rosetta Code. It's the best looking almost-as-fast-as-C language out there! And it has shortcuts that even Python doesn't have, like a less annoying approach to object orientation, UFCS, case and underscore insensitivity, making unnecessary parenthesis optional, etc.
-
Nim is BS-free and thus easy to learn. If you understand Python (which is the best language for teaching kids, IMHO) and the basic concepts of data types, then you're ready to try Nim. Nim has very advanced features that you can learn along the way, but you can just ignore them to write what you could otherwise write in Python.
-
Nim is a very very fast systems language, about competitive with Rust and D, and consistently benchmarking ahead of Java, C#, Go, Haskell, and of course all scripting languages. It can become more competitive with C/C++ and Rust when more libraries support manual memory management. Nim is also starting to dominate Web framework benchmarks, although this work has not yet been completed. Nim also makes it very easy to make use of existing C/C++ libraries. So Nim could replace not only userland languages like Java and Python, but even C/C++ for kernel development as well.
-
Nim produces very lean binaries that are smaller than Rust, D, Crystal, and of course Go, Haskell, Mono, etc. This makes it second only to C/C++ for writing small commands (see Unix philosophy), and now for the WebAssembly target as well.
-
Despite being a high-productivity language, Nim is very type-safe, for conservative programmers who care about quality. It also has additional safety qualities: GC by default, pure functions, encourages static, easy concurrency, etc.) Nim has been described as Ada with a much better syntax.
-
Nim is extremely portable, and has been tested on many versions of Unix (including all BSDs, Linux, Solaris, AIX, plan9, etc), Windows / ReactOS / DOS, Apple, Haiku, Pi, old Nokia phones, etc, etc, etc. Because it can compile to C or JavaScript (and other targets), it can run on any device with a compiler / interpreter for those languages.
Please let me know what you think.
How does your political philosophy affect your software choices?
3 5 comments 15 Nov 2018 01:50 u/libman (self.programming) in v/programmingComment on: New updates to Apple products corrupt your boot process if you try to install Linux on them
No non-communist should ever own any Apple product. This is a great way to filter commies out of your life at first glance.
It'd ideal to avoid phones and only use a real Unix desktop computer / laptop / tablet, but some people can't do that. Ostracizing Windows and Android users might be too extreme, but there is never a good excuse to use Apple! They make inferior restrictive products that cost twice as much!
Most people cannot permit themselves this luxury. Programmable digital technology is everywhere, and staying productive, competitive, and even alive will depend on it more and more...
This is why software freedom matters a great deal, and letting commies like Stallman hijack and define this cause is absolutely horrible...