41 ms·
What language would be good for operators if not JavaScript?
by memexy 6y ago
What language would be good for operators if not JavaScript?
- macintux 6y agoSpeaking as a 25-year sys/netadmin who writes a fair bit of code too: nearly anything. I'd rather learn Go than deal with JavaScript. Python would be fine. Elixir would be great (I'd much prefer Erlang but there are only so many miracles I'm allotted in this lifetime). Perl, please.
- memexy 6y agoPulumi has support both for Python and Go along with TypeScript and JavaScript. I never understand when people say operators don't like programming languages. Always seems weird to me that a person that constantly works with computers would prefer a static markup language instead of full programming language for managing the complexity of operating software in production environments. My original comment was about this attitude. I personally think programming languages are much better than markup languages for almost everything. If you are presenting static content then markup languages are fine but if you're doing anything more than presenting static content then YAML just makes no sense.
- nine_k 6y agoA full programming language gives too much flexibility. In particular, this includes the flexibility allowing to shoot oneself in the foot. A person who constantly works with computers is painfully aware of the people's ability to screw things up by an honest mistake when programming them. The more complex the thing, the easier it is to make a mistake, because human attention is finite. Whenever you can limit the language to the task at hand, and build in guard rails that would prevent you from doing things you should not be doing, it's usually a productivity win, even if it precludes implementation of 3% of some most advanced and complex solutions. Reliability and simplicity go hand in hand, and reliability is often the thing devops people value very highly.
- memexy 6y agoI can build DSLs (domain specific languages) with programming languages. I can't build DSLs with YAML. And when someone says "You will use YAML because you can't be trusted with a programming languages" then I find that very disrespectful and condescending. The solution to finite attention isn't less powerful tools. The solution is more powerful tools that augment operators and let them extend their finite attention spans into longer time horizons. How is your description and viewpoint different from what I just described?
- nine_k 6y agoA good DSL (as opposed to a raw general-purpose language) would be ideal. It's the guard rails I'm after, when implemented well. What I won't like is the "here are some classes and functions for accessing our API, go build the stuff somehow" approach.
- memexy 6y agoThen we're in agreement.
- dmwilcox 6y agoHaving worked in several declarative config systems at a big tech company that tried to provide these guard rails. They errode!! And it makes sense. As we demand more flexibility to not repeat ourselves (DRY) we get clever and add little features. Suddenly you can stick an entire cluster config (or several!!) inside a lambda that returns the declared resources... And you've gone straight to hell. You're more than Turing complete by then and engineers are reinventing conditionals and loops with lambdas all over your config codebase. Might as well have just started and left it at Python/etc.
- turtlebits 6y agoWhen I tried it late last year, python was a second class citizen- if you wanted to use all the features, you had to use JS.
- memexy 6y agoWhich features were missing?