# Not only for technical computing: changing the narrative around the usecase for Julia

**URL:** <https://discourse.julialang.org/t/not-only-for-technical-computing-changing-the-narrative-around-the-usecase-for-julia/19784>\
**Category:** Community\
**Created:** [January 18, 2019, 1:58pm UTC](https://discourse.julialang.org/t/not-only-for-technical-computing-changing-the-narrative-around-the-usecase-for-julia/19784 "2019-01-18T13:58:30Z")\
**Posts on this page:** 1\
**Showing post:** 30

<div class="post-metadata">

**Author:** ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)\
**Post date:** [January 19, 2019, 2:07am UTC](https://discourse.julialang.org/t/not-only-for-technical-computing-changing-the-narrative-around-the-usecase-for-julia/19784/30 "2019-01-19T02:07:55Z")

</div>

> [@StefanKarpinski](#):
>
> Julia does shelling out the right way compared to Perl, Ruby, Python, et al.

Julia’s `Cmd` is awesome. It’s very exciting that you are planning to turn it into a mini shell DSL. I also think that subprocess API can be improved further by stealing some high-level APIs from Python `subprocess` because some of them are actually nice. For example, sending data to subprocess stdin and reading stdout at the same time without a deadlock is [somewhat non-trivial in Julia at the moment](https://discourse.julialang.org/t/collecting-all-output-from-shell-commands/15592/7) while Python has [`Popen.communicate`](https://docs.python.org/3/library/subprocess.html#subprocess.Popen.communicate) exactly for that. Also, relatively new Python has [`subprocess.run`](https://docs.python.org/3/library/subprocess.html#subprocess.run) which makes it possible to do this in one line.

---

_[View the full topic](https://discourse.julialang.org/t/not-only-for-technical-computing-changing-the-narrative-around-the-usecase-for-julia/19784)._
