Bash is a hideous language that's on (almost) every linux box. Fuck Bash. It's one of two languages I generally use. Write your shell scripts in bash, if you need to make sure they run on everything write them in sh (bourne shell). I also write any shell scripts that get launched by the system in sh. Bash has many oddities that don't belong at the system level, and you may want system scripts to be available from an emergency shell in a recovery scenario. Yes there's a difference between sh shell scripting and bash shell scripting. Yes it will fuck you.
If you want to enjoy your shell scripting maybe play with other shells, they're almost all better than bash, but the scripts won't be as portable unless you also install your exotic shell. If you do all your work on a BSD or crusty old enterprise UNIX, learn whatever their default shell is, use sh for anything that might be useful outside of those platforms.
C is my soulmate, anything that isn't written in bash, I'll write in C. There need not be another language. C has all you need. I love it.
If you absolutely need something between bash and C, I guess Python is your thing. Congrats hipster. I hope you've got a really cool VIM configuration for the coffeeshop pissing contest.
Everytime I use Python it's a different language. I liked it when I could write it like C, now every library infects my code with classes and objects that don't need to be classes or objects --they could just be data and functions-- and I'm left wondering why I'm not writing in C.
Python is slow as fuck. Everything it does fast is written in C. Bash is faster because you're piping data through tools written in C. If you're trying to do more than that, write it in C.
Why are you like this? Why is every fucking tag named at the opening and at the end? What was wrong with a curly brace? Did you ever think maybe if the web was written in a nicer language it might not be so shit? I hope some design decisions were made because of concrete protocol limitations, otherwise why? What is this garbarge? CSS don't even get me fucking started.
You're ugly. The boilerplate is awful, like HTML but incredibly ... worse. I fucking hate this language.
It was a beautiful idea, platform independent code by creating a thin virtual machine atop the hardware. Then Microsoft dicked all over it. "Embrace, Extend, Extinguish" was the phrase Microsoft used. They embraced Java by allowing it to run on Windows. They extended Java by making Windows-specific addons. They extinguished Java by splitting the language community into those who wrote windows-compatible-java and everything-else-compatible-java. In an extra bit of petty bullshittery they made Java updates on Windows just brutally annoying. Microsoft's war on Java is a sad tale but they didn't succeed.
Java survived. Java is the heart of Android. Fuck Android. Not as much as iOS, but fuck Android. Fuck Java, Fuck the JVM. Let me write C. My computer speaks C. Android imposing Java in the name of "security" yeah fuck you alphabet. I know there's a native code interface I don't fucking care Java is gross it's like worms in shit.
Not only do I avoid writing Java, I get actively pissed if I have to install a JVM. If your software is written in Java I actively avoid it. I'm more likely to use Python software, It's just as slow but the code isn't quite as hideous. Object-Oriented Programming is brian poison. Write code that does the thing, not code that classifies the thing in a taxonomy that rapidly becomes too constricting or too obtuse.
Who? I smell a gestalt of mac users doing cocaine and I want to flee like Fiona Apple from Quentin Tarantino.
Cool. You guys are cool.
Okay. If I have to. Do I really have to?
Seems kinda interesting, IDK if even worth mentioning yet. Is it already co-opted by captialists? Is China using RISC-V?
Nearly forgot you exist, which is surprising given how much you headache up the web. Javascript is a frankestein thing; zipped together frameworks atop a dead frame. It's alive! and I'm not entirely sure that's a good thing. It seems to me Javascript is mostly used to pilfer data, serve ads, cryptomine behind a website, generally make life worse for everyone and make the internet slow as fuck. I'm writing this from hardware most people would consider unuably slow. I am battling poisonous Javascript on the daily. Fuck web 2.0, 3.0, and beyond. You're going in the wrong direction.
Bjarne's personalized version of C inspired by misguided programming ideas. He cries when it's criticized that he doesn't care if you like it or not. When I was younger I used to think there was a reason or place for C++. Every C++ program now looks to me like a poorly designed C program.
I don't know it. I don't trust it. The CIA promoting it just makes me trust it less. I'll look into rusted kernel parts and see if there's any reason for Rust to exist. Who knows maybe it's great. Occasionally I'll hear about a rust feature that sounds interesting, and then I look into it and Rust has so many features that I think "does a language need this?", "is this good design?". I get the distinct impression Rust is meant to be C++ with guard rails to make it seem safe for kernel space, and that concerns me a little. Is C really so scary you'd write in this?
I want to like Zig. Zig talks a big game, but underdelivers for me. Maybe someday Zig. I like what you're going for, I hope you get there. I'd be more into Zig if it had a libre license. I love C, but that doesn't mean I don't think it could be improved, and I don't think the C Standard perpetually welding more shit onto C will get us there.
...
Ditching the preprocessor is fantastic. Rereading the stated design goals of Zig makes me interested to take another run at it. Reading code, just seeing types like "u8" or "i32" makes me happy. That's sign bit and byte size. All the information you need about an integer type in a concise type name. This is what data looks like. This is how a programming language should look. If nothing else Zig proves that C can and someday will be reimagined with a little more sanity.
Even though I don't prefer Clang, using zig as a build system, and finally getting rid of Make, not to mention all the more horrible C build systems out there, is a tasty prospect. From there, the build system language also being the preprocessor language also being the programming language, I could easily see myself a Zig programmer.
...
I've replaced my default basic makefile with a build.zig. It took some trial and error, but writing build scripts in an actual language and not a bizzare arcane incantation is refreshing. For now I will put up with Zig's clangy compiler and evolving build system if it means I never have to ask why the fuck a makefile isn't doing what I want.
...
I rewrote a simple C program in Zig. I do find the language beautiful. The Standard Library, though camelCase, appears well thought out and concise. The reading is good, and this is most important. The writing is good. The debugging is good. I would like to see a lean compiler. I have little idea if I'll ever have the time to make one, but that seems like a worthwhile pastime if I have time to pass. I like Zig. It's a beautiful language, and as long as there's a beautiful language, it can be optimized later. The language is still young. Not even a 1.0 release yet.
...
Zig as a build system... It left me wanting. It leaves a HUGE cache in a hidden folder when you compile. I mean I have no idea what it could be keeping track of to require so much space. I don't know if it's a Clang thing, or if it's unique to the the Zig build system, but it sucks. Make only compiles the files that need to be compiled and it doesn't require hundreds of megs of chache to do it. WTF?
I'm more interested in Tsoding's nob.h, which is a build system that you incorporate into your C project so the project builds itself with no dependency but a C compiler. I don't think I'll use it, but it's a beautiful idea that has inspired me to think about languages and the boundaries, gradients, and/or links between languages.
I can't say I'm feeling Zig as a language to write. It isn't intuitive for me to write, so I don't.
I've been thinking about emacs being written in the same language it's configured and extended in, and about the power that bestows upon emacs users. Emacs is not for me. Vim also not for me. (I felt like I needed to say that for some reason. It just burst forth from my guts.) I like the vi keybinds, Currently using Vis, but I'm not happy with any of my options.
I would love to have a truly hackable editor like emacs, but sweet salty beelzibub, lisp is ugly. I want it not to be. I think the concept is beautiful and simple. Everything's a list. I'm on board every time until I see some function that ends with a bar of))))))))))))))))))))))))))). You can't do that. Fix it please, there must be a better way. I think the concept is cool. Lispers start every talk about lisp talking about parens. They talk about how paren abuse keeps people away from lisp. Yes it does. It always will. fix the syntax. Make it make sense. If you want people to read your code make it readable.
Clearly it's no big deal to some people, they have a different brain than mine, one that doesn't see an unclockable number of bananas at the end of a function and think: "Nope, that's not the language for me, there has to be a better option." And it's not just that I saw an ugly formatted function, It's that I can't conceptuallize a way to write a long function in Lisp that isn't hideous. I've never seen an example. Staircase or banana bar, it's ugly. I'm sorry. I want Lisp, just not like this.
Who wants to read this? Who wants to write this? This is not a language for people, this is not a language for computers. This is obfuscation poisoning.
What have I dug up? The ancient language of the ur-net. The industrial language that powers telecommunications. It's always been there, below everything. Reliable. Fast. Inspired all the best parts of object oriented languages without any unneccessary fat. This is a lean monster. I think very few people have a grasp on how powerful this language is. I think C/SDL frontend, and an erlang backend could make dangerously good software. MMO DOOM. libre Twitch.tv client. Ironclad web browsers with user superpowers and protections. A net-shell responsive and kinetic on the slowest low-power machines. These things are not outside the realm of possibility with erlang.
The code is compiled to bitecode for a virtual machine, which is fast. I have not done extensive testing, but I'm excited to. Right now I feel like sky is the limit, I'll let you know when I hit the ceiling.
...
I have stared into the accursed beauty of sacred horrors. I do not know what to make of erlang. I feel it has a place in my future, but it incurs in me a fog of overwhelming learning. I think this entity may inherit the earth. It lives deep in the telecom infrastructure. Anyone interested in mass communication should learn them some erlang. If it's too arcane, there are two interesting syntax rewrites for erlang: LFE (Lisp flavoured erlang) and Elixir (ruby flavoured erlang).
Erlang syntax, while weird, isn't not what's killing me. What I'm struggling against is the bizzare operating system it runs on. erlang is a creature unlike the others. erl is a repl atop a virtual machine. rebar3 is the build tool which assembles OTP applications for the bizarre OS that runs the repl. You must give yourself over to the erlang way to unlock its secret knowledge. I have unlocked some, possibly too much, and never enough.
Perl might destroy me or save me. It looks like C, kinda. The syntax is basically C. Love. Soulmate syntax. Perl though, looks however the fuck you want it to look. Which is why some cynics call it a "write only" language. You absolutely can write Perl in a way no one can read it except (maybe )you. It's a get-shit-done language, which is goals. It can natively call C functions. Fantastic. Fun will be had writing Perl. Terror will be had reading Perl. I'd like to get comfortable enough to replace my shell scripts with Perl.
It's not like you won't have Perl installed if you have Bash installed, I think. I don't remember a Unix that didn't have Perl installed. I feel like you have to be deep, deep down in the cult of suckless to be thinking about using a computer that doesn't have Perl. [Is that a challenge?] I hear a little suckless demon on my shoulder say? No. Value your time, optimization isn't everything. Make some fun stuff and stop worrying about if you can make your install smaller. [The suckless demon went back to writing a driver for a raspberry pi peripheral and wishing he had the resources to get some embedded open hardware board in need of optimized firmware.]
If there's one thing the post-OOPs web languages have, it's that they are mostly designed to get shit done. They get shit done in an ugly, wasteful, absurd way, but they aim to give power to the programmer to make the shit happen. Perl has that, and it's installed. I'm excited to make things happen.
CSS is a slimy bastard. I'm RTFMing.
Never forget what the data looks like. Make rad shit.