The question of what is 'programming' or not is actually quite interesting.
The autors of Beta (
www.mjolner.com - look for Beta, Solaris or Linux version) say that everything relating to system development is programming, including drawing up UML diagrams, doing object analysis, even requirements alalysis.
This is why their Mjølner system can be programmed using UML diagrams (the object analysis part,anyway). If shell programming is not programming, then what is?
The only difference between a shell script and a binary is in the way it is being executed - completely transparent to both programmer and user.
If interpreted programs were not 'real' programs, then what to say about Java? Java programs are interpreted /and/ compiled!
In fact, there is nothing that stops you from writing a compiler for you shell script and running it as a binary ... or running a C-program in an interpreter.
I know what this is about
: What is the most macho programming one can do?
Answer: cat > prg.
Then enter the ASCII codes that correspond to the CPU instructions you want executed, if one of them is 0x4 then you can not continue, MOV store to accumulator on a 16-bit ISA PC system, fx. is in binary 1010000wLLLLHHHH, you fill in the operands, look up the corresponding ASCII characters, and write them into the file after the ELF header and stuff. That way, you can run 'arbitrary code' on a Linux system with only cat and write permissions as your tools. You don't get more macho than that, but is it 'programming'?
Sure!
Is it 'serious programming' - no way!