4 ms·
> feels a lot more like programming When I want to program a script, I can use a scripting programming language like Python with its object oriented nature. W
by boogies 6y ago
> feels a lot more like programming
When I want to program a script, I can use a scripting programming language like Python with its object oriented nature.
When I want to interactively command my computer I can use a shell like bash or zsh.
Do one thing and do it well.
- Denvercoder9 6y agoThere's an enormous grey area in-between them though, and something that bridges that area can be insanely powerful. Making it easy to go from doing something by hand to fully automating it creates value. It's one of the main strengths of a command line interface.
- boogies 6y agoI wouldn’t call it enormous — Python can be used as an interactive shell (there’s even a toy “operating system” that uses it as the only text shell), and traditional shells can write (simpler) versions of software that’s normally made in Python https://news.ycombinator.com/item?id=23643096 https://news.ycombinator.com/item?id=23643096
- Denvercoder9 6y agoTo clarify: I didn't mean the tools, they do indeed overlap in functionality. I meant the activities you refered to, "program my computer" and "interactively command my computer".
- coldtea 6y ago>Do one thing and do it well. That's how we got in today's mess. Do the things people want in a coherent, cohesive, well thought out way - don't combine N independent programs that can barely took to each other with stringly typing and ad-hoc parsing...
- boogies 6y agoSounds like you’d prefer Python.
- ska 6y agoI don't think you'll find universal agreement that python is "coherent, cohesive, well thought out"...
- coldtea 6y agoWell, I do Python for decades :-) But I would be OK with (a) shell programs that talk to each other through pipes with something structured -- e.g. depending on the program with something like a pandas dataframe(binary) a parsable tree (e.g. json-like) or csv output and input -- as opposed to random text people try to parse with cut -f, regexes and so on. (b) shell programs that share the same flags for the same things (not e.g. -o/--output for output in one program and -w/--write-file in another) and only specialize in the behavior they need... and several other things besides...