# Future directions of Julia

**URL:** <https://discourse.julialang.org/t/future-directions-of-julia/46269>\
**Category:** Community\
**Created:** [September 8, 2020, 2:21pm UTC](https://discourse.julialang.org/t/future-directions-of-julia/46269 "2020-09-08T14:21:17Z")\
**Posts on this page:** 1\
**Showing post:** 83

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [September 13, 2020, 2:07pm UTC](https://discourse.julialang.org/t/future-directions-of-julia/46269/83 "2020-09-13T14:07:10Z")

</div>

> [@sgjanssens](#):
>
> So, it’s not bad, but I would like to be able to do it in one go and using concise syntax, as in Fortran.
> 
> Is there a better way to do it in Julia?

OffsetArrays is a nice user-level way to handle that, but it’s not a nice library-level way to handle such an input. For example, in a differential equation solver, optimization library, etc., you just stick to linear algebra, broadcast, iteration with `eachindex`, `start`, `first`, and those primitives that do not assume `1:length(a)`. If you do this, then your whole library will support OffsetArrays even if your library does not depend on OffsetArrays or make reference to them. In that sense, the mathematical algorithm is abstracted to work with any array type reguardless of their indexing structure, which is different many more general than “any instance of an OffsetArray”.

So then,

> [@sgjanssens](#):
>
> Is there a better way to do it in Julia?

If everyone is writing algorithms that, instead of doing `if typeof(x) <: OffsetArrays` but instead making it naturally offset-aware, the beauty is that if you want different syntax you can just make it. Make a new library `OffsetArrays2.jl` with an `@OA real, dimension(-1:1, 0:4) :: A = 0.0` if you want, the world is your oyster. You’d then be able to use that in any general library. So we can have 10 packages exploring the syntax, some trying to make new better general syntax while others simply making arrays offset for very specific purposes.

---

_[View the full topic](https://discourse.julialang.org/t/future-directions-of-julia/46269)._
