16

On Super User, many questions are about "shell scripting" - Unix sh and bash, Windows cmd.exe. Should they stay on SU or be migrated to Stack Overflow as "programming"? IMO, bash can be called "programming1" language as much as Perl or Python. Others disagree.


1 Except maybe in the case of cmd.exe – but then, INTERCAL is called a programming language too.

  • 3
    Where do you want them to be? – Ivo Flipse Apr 5 '11 at 19:14
16

In these borderline cases when there are multiple sites that could host the question, it depends on the person asking.

Would that person consider themselves a ...

  • programmer?
  • sysadmin?
  • power user?

You should tailor your question both to yourself, and the community.

9

In first instance, the Super User FAQ doesn't really tell us something about scripts.

Super User is for computer enthusiasts and power users. If you have a question about …

  • computer hardware
  • computer software

So for programming-related things we are referred to Stack Overflow, which FAQ tells us it could fit there.

Stack Overflow is for professional and enthusiast programmers, people who write code because they love it. We feel the best Stack Overflow questions have a bit of source code in them, but if your question generally covers …

  • a specific programming problem
  • a software algorithm
  • software tools commonly used by programmers
  • matters that are unique to the programming profession

However, let's look how Wikipedia defines our Scripting Language:

a command set at controlling some specific piece of hardware, software, or operating system

Wikipedia: Scripting Language

If we read this very first part of their definition we see that it controls a specific piece of hardware, software of our operating system; which is in essence something what computer enthusiasts and power users could do and thus this is the reason I think we should allow scripting questions on our site. People are coming here anyway to get their task X automated using an AutoIt or AutoHotkey script or to get problem Y organized using a batch or Powershell script and so on... Sending them to Stack Overflow shouldn't be our intention in such cases. I'm also thinking that it's unlikely that people would first go to Stack Overflow for such questions.

8

If your question is about the scripting language itself, it belongs more on Stack Overflow. If your question is about automating a task, it belongs more on Super User, or on more specific sites such as Unix and Linux (for scripts running on unix and unix-like systems), Server Fault (for tasks related to administering multiple computers), and potentially Android Enthusiasts, Ask Different, Ask Ubuntu if your script is for these respective platforms.

If it's a unix shell scripting question, Unix and Linux gets a lot of those (generic shell questions, questions about specific shells, how to do stuff from the command line, etc). There are questions about the behavior of shells, both for scripting and interactiely, as well as questions asking how to script small tasks such as text processing, file management, renaming files, finding files, etc.

3

I agree scripting question are sometimes a bit too much for SuperUser. But I disagree with the destination of Stack Overflow. Especially in the case of Bash and Powershell, they run almost identically in the context of the questions often asked in Super User. I think it would be a good idea to start sending at least the powershell questions to Serverfault.

Powershell, unlike say bash, is relatively new and hasn't gain a lot of traction in the consumer base, mainly due to the vast amounts of tweak and settings programs out there for Windows. On the admin side, Powershell has gain a lot of attention. I think we can assume this will not change in the immediate future.

-4

Shells inherently rely on the operating system that support them. They aren't generally made portable, and it's not a little trouble to make them available on other platforms. By "not a little trouble" I refer to emulation toolkits like Cygwin and MKS, assuming the latter is still around somewhere.

Full-fledged scripting languages are generally made portable with a bit less less effort.

I think of shell scripting as a convenient way to pull together a list of platform-specific instructions. While there are programming semantics added to the shell to make scripting easier, it is still a language with a specific platform in mind. For that reason I think it's more appropriate here.

That said, I also think Wikipedia's definition for a Scripting Language, as given above, is off-base. Perl is very much a scripting language and very much not aimed at the command set of any one operating environment.

  • 1
    No, Perl was a scripting language that has turned into a programming language over time because of many changes, check its Wikipedia definition which states this in more detail. For example, Bugzilla is completely powered on Perl in a way that Perl isn't really a scripting language for Bugzilla; with pure scripting languages this would be impossible... – Tom Wijsman Apr 6 '11 at 23:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .