Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah, I can accept the argument that usually startup time doesn't matter. But since I finally got fed up with shell scripting, I want to find a proper viable long-term alternative. I know that for most of my scripts I won't care neither for startup time nor for strong typing (just an example, I know that OCaml and thus F# have it) won't be necessary. But I just want to have a powerful tool in my hands for those few outlier cases where you'll get pissed off at slow startup.

But I can still agree with you!

> For historical context, around 1994, I ditched shell with heavy awk and add use in favour of Perl to avoid the heavy overhead of multiple processes being spawned by the shell scripts.

I feel a novice now. :D

To be fair, there weren't things I wasn't able to achieve with zsh scripts and `parallel` and the usual suspects (sed, awk et. al.) but when I measure how much time -- and sometimes sanity -- I lose until I make something rather trivial work, the analysis isn't in favour of my current workflow. 500 "quick and dirty" scripts each wasting you 3h as opposed to 5-10 minutes amounts to a LOT of wasted work time.

To be fair, I was not inclined to use F#. OCaml always impressed me with its amazingly fast compiler. But you have a very solid point that with F# you can use the entire .NET ecosystem...

> So you have to know both what you need but also which alternatives you are benchmarking it against.

I don't know exactly what I need, for the better or the worse. I just want to do one big switch (away from sh/bash/zsh scripting) and not have to redo it anytime soon, is all.

Most tasks are I/O bound anyway so normal shell scripting and `parallel` can take you VERY far. But I've been bitten by weak typing and surprisingly parsed values so I am looking for something stricter. Runtime speed is hardly relevant to anything because again, I/O bound is the norm (_especially_ when you work with the network; most network-bound tasks that people put in their scripts nowadays could easily be handled by a Pentium III from back in the day, I feel).



I don’t think you will find a silver bullet. If you switch away from shell and its set of trade-offs you will face another set of trade-offs with the next language.

The art is to select trade-offs that benefit the main line of work you want to do without causing too much trouble.

Personally my scripting preferences have changed over time depending on the types of problems I had to solve and what else I were doing at the same time. I have never found The One Solution but seen things slowly change back and forth over the years.


> I don’t think you will find a silver bullet. If you switch away from shell and its set of trade-offs you will face another set of trade-offs with the next language.

Sadly that's quite true.

So let me correct my statement: I am looking for "shell scripting on steroids" for when I intuit (or discover after 10 minutes of trying) that normal shell scripting won't cut it. I'll still use it but I want to have an extra tool in my belt for those cases when I need something a bit feature-rich but still quick to iterate on.

For now, looking through the sub-thread and brushing off on old knowledge and searching the net for an hour or so, my 3 top contestants are (in that priority order) -- OCaml, Ruby, the RC shell.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: