What is wrong with linux ?

astyle Syntax is still recursive, otherwise you had a limited amount of programms to be written. Proof is left as homework.

Functional programming has it's merits since it forces programs into a state that a machine can reason about. I have yet to see a LISP compiler with a -fstrict-aliasing switch...
Also it helps with garbage collection.
 
The only thing I see "wrong" with Linux is they force what 3rd party apps on me someone else thinks I need for my desktop. That and it's boring to me.

I'm perfectly comfortable with apt-get and can set up the programs I want and need, but it's not UNIX and can't trace roots back to it.

That was the main reason for me switching to a FreeBSD 5.x based OS and then on to FreeBSD 7 proper. Because it can and went on to learn and use OpenBSD and SysV, though I prefer FreeBSD as a desktop OS. Linux would have limited me in that regard had I stayed with it.

When I start a build and compile 3rd party programs from ports I already know what I'm going to get when I hit the desktop every time. A rock-solid general purpose Fluxbox desktop with only the programs I choose that meet my needs for that purpose that will be easy to maintain and run long after the EOL cycle a year or so later.

That without one System crash expected or experienced in the time I've used FreeBSD. The most usr friendly desktop oriented OS I have ever taught myself to use, and I taught myself to use them all.
 
I believe most if not all recursive algorithms have an iterative solution
"Most" is relative, might be true if you're talking about things actually used in practice.

A famous example for why "all" is not true is the Ackermann function. If you implement it without explicit recursion, it's fake because you instead implement your own stack ;)

I've never liked the functional stuff.
There are good reasons for a functional approach sometimes. Immutability of any data helps with a few things, like ease of testing and bug hunting, better possibilities for static code analysis, inherent thread-safety, etc; partial application and higher order functions give you simple and flexible alternatives to OOP patterns…
OTOH, side effects are very cumbersome to do in a functional way, so you probably won't use such an approach in pieces of code doing I/O.
 
Speaking of masochistic, I don't know if you've ever create a MS-DOS/Windows batch file? Now that's some seriously convoluted scripting.
Writing installation menu with some ASCII art for DOS <= 6.22 but not >= DOS7.0/9x/NT was fun, but that was end of it. The problem was, if you wanted to go further beyond some point, there was a wall and you were always banging your head against that wall! PowerShell doesn't have that wall, but let's face it, Microsoft is bad with shell/scripting. That's why they have VB6!

Some linux distro's have a freebsd feeling, notably void-linux and alpine-linux
>> If by that you're trying to find somthing minimal and still useable:
Sometimes I have to run GNU/Linux in VMS -- no bare-metal. I couldn't find somethings more minimal than Artix-base/runit.

>> But if it's all about compiling base (kernel and userland):

I run GENERIC on nearly all my machines -- both VMS and bare-metal, and I use pkg(8) to install program. I rarely go through compilation process -- both base and ports.
There's nothing wrong with running GENERIC and using binary packages in BSD world. At least it's true for both FreeBSD and OpenBSD.

Exceptions:
1. Bad default options.
2. I want to strip out stuff to fit it on some embed project.
 
This has led to the invention of "proper tail recursion" which I still struggle to comprehend.
Tail recursion is intrinsic to Lisp and Scheme. But I find all these ")))))))" in Lispy code results in syntatic overload. Then there Lisp macros which extend the language with new features that support your project. More strange syntax.
 
What's wrong with freebsd.
The config of local_unbound is in /var . Why ? What's wrong with /etc or /usr/local/etc.
All that scripting in an old shell sh without type verification. Error-prone. Doing shift to manage parameters. Lisp car & cdr are newer.
Forget an " in rc.conf sourced 1000 times.
You get an old mailserver sendmail for free.
Long boot-times to detect usb.
Wifi for the happy few.
 
Linux doesn't help one practice one's speed-reading skills during the boot process. Not at all. They're so shy! That whole long boot process, with nothing interesting to read.

So, one wonders, what might they be up to, during all that time? Why aren't they telling me about the problems they're having, if any, while they're setting up my hardwares? 'Cause I'd like to know.

I feel like it's my responsibility to know who the problem hardwares are, what their names are, and even what the nicknames are, that they're using around this computer neighborhood. But those Linux people won't tell me anything. They won't even talk to me.
 
[...]

* they did and still are trying to be King. RH now wants $350/mo for use, and also demands to run "a license manager" to have rights to steal any work any file you make (although, any cloud enabled app like MS development or Wolfram Cloud is likely to ... misdirect your files to the company - if your files are worth anything)
I had to check this, but that's the cheapest server licence, and not only that, laughably it has the following features:
Code:
Does not include Red Hat customer support.
Does not include Red Hat Enterprise Linux Atomic Host.
Can only be deployed on physical systems.
Cannot be stacked with other subscriptions.
Is not intended for production environments.

So you can pay $350 to purchase a FREE OS and support it yourself. Simply hilarious.:D

The old adage comes to mind: "A fool and his money are soon parted."
 
What's wrong with freebsd.
The config of local_unbound is in /var . Why ? What's wrong with /etc or /usr/local/etc.
All that scripting in an old shell sh without type verification. Error-prone. Doing shift to manage parameters. Lisp car & cdr are newer.
Forget an " in rc.conf sourced 1000 times.
You get an old mailserver sendmail for free.
Long boot-times to detect usb.
Wifi for the happy few.
Wild guess here, but it's probably because Unbound is meant to be run in a chroot. That practice started with BIND in the '90s when the fastest and easiest way to crack a Unix-like box was through the DNS server.
 
This is an opinionated post and on purpose.
Everything on my PC is compiled from source, including kernel, kernel-modules, applications.
Trying the same thing on linux, i tried gentoo, it did not work, there was always a conflict. Meaning here I put option X there I must put option Y and you never get it right. So in some sense freebsd is doing something right what gentoo is doing wrong. But what is it ?
I build all of my operating system and applications from source on both FreeBSD and on Gentoo Linux. As Alain noted, there are far more failures trying to build software on Gentoo. It can be quite frustrating. I think I know why...

We have better unity of vision here in FreeBSD and appropriate humility/cooperation. In FreeBSD there is one version of each package in ports at a time. The FreeBSD project's build servers build all of those packages continuously with default (the commonly needed) options. If a package fails to build the maintainer gets a notice and typically fixes it within a day or two. The typical FreeBSD user wants a stable server or desktop system that is pretty-much just like the systems of the other FreeBSD users. There's not a lot of "ego" involved in choosing how to assemble a system. Assembling the system is treated as an engineering job. I love using the quarterly ports branch for increased stability. The support being given to Quarterly Ports is excellent with important fixes being merged from head as needed. It is good engineering.

In Gentoo there are multiple, sometime numerous, versions of each package in portage at a time. There are many versions of the linux kernel and each user configures his kernel differently. There is no Gentoo build server to provide continuous integration testing because no two users can agree on a supported version of the kernel and of each package and a common set of default options. The users agree only that "Gentoo is all about choice!" If a package fails to build for a user the user can file a bug report but since no two Gentoo systems are identical the bug may not be reproduced by others and may not get resolved for a long time. The typical Gentoo user wants his unique system and, in my observation, is finding a lot of ego-satisfaction in finding his own choices to be superior and other's to be bloated or to include components that the user dislikes and judges, some hate gtk3, some hate Qt, some hate systemd, etc. When I build my Gentoo system from sources I do so for the "unstable" amd64 architecture and with an incredibly wise set of USE flags to avoid bloat and attain perfect usability. I like my Gentoo system. I like my stripped-down KDE Plasma there. And I refuse to run systemd the million-line abomination. When I build Gentoo my ego gets out and I'm tempted to be judgemental. It's a miracle that Gentoo works at all and it is a lot of fun.

I treat my time playing with Gentoo as a hobby. I play around with the choices and smile at the outcome. Then I boot into FreeBSD with KDE Plasma and enjoy using my computer.

It's the egotistical attitude that afflicts Linux generally. Linux, some say, is all about individual choice. FreeBSD is more about group decision and teamwork.
 
Back
Top