For those of you who write programs, for sys admin tasks, or other fun things, what languages do you like?
For most of my career, it’s been shell, C and Perl.
But lately I’ve discovered Crystal - a beautiful and elegant Ruby-like language, but with better performance.
So, in addition to working through the crystal lessons on exercism, I’ve been going through the drill of replacing all my shell and perl Nagios scripts with crystal equivalents.
I’ve mostly worked with PHP and Python myself, but I’ve been learning BASH more recently so I’ve been challenging myself to do scripts in pure BASH without any forks/execs where possible and I’ve really enjoyed that challenge. I’ve also been picking up some Rust as well, which I’ve also enjoyed learning.
Every time I’ve seen someone use Perl, I am amazed at what it can do and how versatile it is. That’s on top of how blazingly fast it seems to do those things. I can’t wait to get around to it!
Usually writing in Bash or C , ( or both in the same application).
bash, because it is for me the software equivalent of LEGO®
C, because it enables me to create my own bash commands.
The choice of C and bash means that what I wrote 10 years ago will still run in the coming 20 years without any modifications or rewrites.
Often people say that bash is getting unweildy when programming more than one- or twohundered lines of code. I don’t understand that. It is not uncommon for me to end up with over 1200 lines of relatively polished, modular, easily maintainable and structured bash code.
@J_J_Sloan , My primary work-horse language is BASH.
My secondary task-language, my compute work-horse, is C-language.
The two other languages I would love to properly master (but have had issues in that regard) are
Python, because of its extensive use as the “connector tissue” for all things technical, especially in the CAD/CAM world! It would allow me to integrate a lot of my past knowledge with FreeCAD, which uses that as its primary development language, at least from the API standpoint.
…
(For me, the critical stumbling block is the fact that indentation is meaningful, which for me is an absurd concept, where every language I have previously mastered had definite clause terminator characters for proper nesting delimitation and visibility!).
Prolog (or ECLiPSe), because I have felt, for more than 35 years now, that it has so much potential to “break out”, if only there were readily available libraries of pre-defined constant/functional/IO predicates and canned routines for specific application domains, such that the only thing left would be the context-specific task logic to be defined. What I’ve seen (Packs for SWI-Prolog) seems too low-level and not very “cross-domain” portable. I would dearly love to be able to build a simple App for some medical issues of personal interest, like specific dietary intakes for influencing the evolution/trends of some specific medical conditions (please don’t ask what those conditions are).
Benjamin, if you are looking for BASH stuff, did you happen to visit my GitHub repository of various util and admin tools?
I had not seen your BASH repo yet, but I dropped it a star and will be checking it out more in depth over the next few days! I appreciate you sharing this!
I am most definitely not an expert, but I’ve started to put some of the scripts I’ve written in a repo of my own: A collection of BASH scripts I often use. These scripts are definitely not portable haha, but I like having a central place to keep them and keep learning.
Benjamin, I am looking to migrate away from certain “locations”!
How are you finding Codeberg compared to GitHub, if you don’t mind my asking?
Also, can you indicate if those are Business-context oriented, or Personal Desktop-context oriented?
For myself, my code is intended for the latter, but the extent of discipline I use in the coding is from my past multi-national corporate multi-host sysadmin role.
P.S. If your interest carries over into the corporate world, and only if you are interested, I can share (directly) a lot of script and sample data files for a home-built firewall which, while grossly out of date, and, at this time needs some “care”!
Just let me know via private message, or preferrably email.
I was also looking to migrate for (what I’m assuming by reading between the lines) the same reasons!
So far, I’m finding Codeberg to be a great alternative. Their migration path is really good, I’ve not had an issue pulling in all history/issues/branches/etc and Codeberg hasn’t really been “down” (GitHub, I’ve found has been frequently “down” over the past few months).
I’d say the only real noticeable difference, for me, is that pushes/pulls are a tad bit slower. I’m not sure if that’s Codeberg’s fault or my own config’s fault, but it’s not a problem nor has it caused any issues with what I’m doing so I’ve left it alone for now.
I’ve only used Codeberg from a personal perspective. I have not had a chance to test it in a business context. My personal use cases have worked just fine though, pushing/pulling/commits/commit history/using Ansible to clone a Codeberg repo/etc has all been just fine.
Needless to say, I’m a fan and would recommend Codeberg!