steve at sohara.org
Wed Oct 18 13:13:47 UTC 2017
On Tue, 17 Oct 2017 19:30:20 +0100
"Frank Leonhardt (m)" <frank2 at fjl.co.uk> wrote:
> Interesting debate this. Personally I have always regarded sh as a Job
> Control Language. Probably showing my age.
Yes, but one designed to be an interactive environment aka a user
> As such it's intended for controlling jobs written in 'C' (being Unix).
Or indeed any other compiled or interpreted language (arguably the
latter are jobs written in a compiled language and the interpreted language
is the data).
> All it had to do is put the data in the right place for input, and
> arrange for the output to end up where it should. In no way should it be
> used for implementing an algorithm.
Well perhaps, but multi-user system command line interfaces tend to
be simple programming languages because that's what you need to automate
even quite simple manual tasks.
I'm not entirely sure that adding function and local variable
support wasn't a step too far, but rather that than BASIC IMHO.
> You do need to invest the time to learn a compiled language like 'C'.
I know a great many productive programmers who never did. I'd take
an understanding of basic computer science - data structures, algorithms,
cost calculations and an appreciation of good abstractions and elegance over
any particular language or language family.
> Friendly interpreted languages are considered cheaper to use because the
> staff need less training - or assumed to be. I'm not so sure.
That was the assumption with things like the 4GLs, but the modern
crop of interpreted languages (Perl, Python, Ruby) are extremely expressive
and well suited for complex applications which are primarily I/O bound.
Java is a nice enough language - the culture OTOH means that Java
applications are usually horrendous things full of explicit design pattern
Steve O'Hara-Smith <steve at sohara.org>
More information about the freebsd-questions