ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hah. No my real ire is reserved for every network equipment vendor who saw cisco ios and said "I want to do that, but poorly". Or every software vendor who every got shell envy and made up a language to control their software, only they don't bother to apply any of the lessons learned in the last 40 or so years that shells have been developed.
Maybe it's more "I want to do that, but cisco won't let me"? I agree there are a lot of garbage programatic user interfaces out there.
I wonder what options there are when the initial intention isn't to create a shell, though. I've found myself inching toward a scripting language from what started as an extremely simple config format. The mere addition of run-time parameter substitution and conditionally ignoring config lines took it from a simple config format to a horrendous scripting format. Had it been other than a one-off system I'm sure there would have been demand for control structures at that point, then I would have been screwed. It was a unique scientific application I wrote to work with a specific set of data, so the specifics are a bit complicated to explain.
Kevin Barry
took it from a simple config format to a horrendous scripting format
Keep it going. Soon you'll have something convoluted enough to compete with Perl (I am a Perl user).
I'm sure what you say is true of a good many languages, and other software in general. How many of us have written little bits of code for our own selfish purposes, and suddenly it morphed out of control as some mission-critical element that can't be fixed because everything around it would break?
Any time someone invents their own command language for a product it's the worst thing ever.
Except when they try to extend their half-finished, irregular, no error handling having, spiteful, evil piece of software - because that usually winds up being even worse.
Word up. Example: try to develop in Mikrotik RouterOS scripting language.
And to think it's Linux in the guts there, but the UIs can't be removed
Because its next to impossible for somebody who's not an expert in Perl to be able to read and understand anything that's been written. Perl code is such an incoherent mess of symbols that nobody knows what's going on. There isn't a single other language that I've opened some source and exclaimed out loud "what the hell does that line mean?", which seems to be every other line in Perl. You could smack your head on the keyboard and end up with a valid command.
A program written in any language should at least be readable by somebody familiar with programming who isn't an expert in that specific language.
Even after learning Perl (somewhat), I still find myself piecing together strings of 40 random symbols to do something, and 2 days later I have no idea how it works and have to spend half an hour figuring it out.
Honestly, if you can't read your own code, then there might be a problem
Yes, as I wrote, this is a problem
When I don't program with Perl for some month (or years, I've started with Perl back in 1994) then I have difficulties to read the code, even my own code.
A program written in any language should at least be readable by somebody familiar with programming who isn't an expert in that specific language.
That was one of the design goals for COBOL, and someone has already posted an example of how that turned out. I think that too often, how good a programming language or other software tool is, is evaluated solely on how easy it is to start being productive when starting from point zero. The longer term view of how far it can take you, and how productive it can make a skilled user is too often overlooked.
That was one of the design goals for COBOL, and someone has already posted an example of how that turned out. I think that too often, how good a programming language or other software tool is, is evaluated solely on how easy it is to start being productive when starting from point zero. The longer term view of how far it can take you, and how productive it can make a skilled user is too often overlooked.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.