News for hackers. Stuff that matters.
Re:Guide for Technical Development by Igglyboo on Tuesday May 12, 2015 @09:55AM (#9531749)
CSS is also on the list of programming languages along with "Shell" which is probably supposed to mean bash.
Re:Guide for Technical Development by simias on Tuesday May 12, 2015 @10:04AM (#9531809)
Bash is not the only shell out there though. Personally I'd never tell anybody to write bash: either I want a very portable script that can run basically everywhere (on un*x) without installing anything and I use POSIX sh syntax or I want a more expressive language and I use a real programming language like perl or python or whatever.
Re:Guide for Technical Development by amyjess on Tuesday May 12, 2015 @11:11AM (#9532322)
If I'm going to be writing something that consists mostly of chaining commands together, I'm going to write a shell script, just because it gets out of my way for that purpose.

At the same time, anything I do at that level is probably going to be the exact opposite of portable: it's going to be something I intend to be specific to the exact system I'm writing for (namely, it's meant to run on a specific version of a specific Linux distribution, and possibly even to specifics of the installation on that machine). While I'm not likely to take advantage of many bash-specific features just because anything I write in shell tends to be so simple as to not need them, I'd also be an idiot to eschew useful features like arrays just because they're bash extensions.

Re:Guide for Technical Development by simias on Tuesday May 12, 2015 @11:38AM (#9532540)
If you don't care for portability and you need "advanced" language features like arrays and other bash-isms why do you hurt yourself by using such a terrible programing language?

In my experience shell scripts are fine for starting (and restarting) various programs and daemons or as thin wrappers around other apps. Beyond that I don't see the point. There's nothing other languages won't do better.

I've seen many "small bash scripts" grow up to thousands of lines, adding features one by one. And then you have to maintain that mess that catches fire every time an unexpected condition occurs because error handling in shell scripts is a joke.

Re:Guide for Technical Development by amyjess on Tuesday May 12, 2015 @02:10PM (#9533707)
Because there's no point in writing a Python script if more than half my code will consist of calls to commands.getstatusoutput().
Re:Guide for Technical Development by balls187 on Tuesday May 12, 2015 @10:27AM (#9531961)
It's not the only language, but I think you're splitting hairs on the spirit of "learn at least 1 shell programming language."
Re:Guide for Technical Development by GFK_of_xmaspast on Tuesday May 12, 2015 @10:39AM (#9532048)
In 2015, are there that many systems out there without a bash.
Re:Guide for Technical Development by liammclennan on Tuesday May 12, 2015 @04:56PM (#9534799)
Windows apparently has > 90% of the desktop market share. http://www.netmarketshare.com/operating-system-market-share....
Re:Guide for Technical Development by simias on Tuesday May 12, 2015 @11:39AM (#9532548)
In the base install? Last I checked all the BSDs at least.
Re:Guide for Technical Development by warp on Tuesday May 12, 2015 @11:13AM (#9532332)
Have we already forgotten shellshock? Especially in 2015 it seems like a good idea to avoid bash for anything non-interactive.
Re:Guide for Technical Development by nawitus on Tuesday May 12, 2015 @12:19PM (#9532814)
I've found that Node.js scripts are easy and fast to write and can be run everywhere easily with npm.
Re:Guide for Technical Development by tracker1 on Tuesday May 12, 2015 @06:35PM (#9535454)
At least until recently, it was pretty difficult to use node to wire together applications piping from one to another like you can do in a shell language... The recent cp.execSync addition along with ShellJS go a long way though...

That's not to say I wouldn't use it... it's actually my preference, and I've used npm for stuff that isn't strictly even node, but ymmv.

Re:Guide for Technical Development by komaromy on Tuesday May 12, 2015 @10:05AM (#9531816)
GitHub also lists "Shell" as a language.