# What features will I miss in Julia?

**URL:** <https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577>\
**Category:** New to Julia\
**Created:** [May 7, 2017, 12:47pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577 "2017-05-07T12:47:58Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![MikeInnes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikeinnes/32/3656_2.png) [@MikeInnes](https://discourse.julialang.org/u/MikeInnes)\
**Post date:** [May 17, 2017, 4:38pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/43 "2017-05-17T16:38:08Z")

</div>

I think there’s a lot to be said for the level of polish that years of development has given RStudio; just like with R’s library ecosystem, hitting every niche use case inherently takes a long time, even if we have all the day-to-day stuff.

---

<div class="post-metadata">

**Author:** ![ptoche](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ptoche/32/23554_2.png) [@ptoche](https://discourse.julialang.org/u/ptoche)\
**Post date:** [May 17, 2017, 4:43pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/44 "2017-05-17T16:43:39Z")

</div>

I didn’t mean it as a jibe, but I can see that it could have seemed that way.

RStudio is a very neat, easy to use interface that pretty much works out of the box. Occasionally you may wish it was more configurable, but mostly it does the job. I think that would be the first thing one would miss: it works out of the box.

Juno is very neat. I had to check first to make sure we were talking about the same thing. I think of it as Atom. When I launch spotlight and type ‘Juno’ nothing happens, when I type ‘Atom’ I get atom-juno. So right away we have a marketing problem here.

Out of the box, Juno comes out all black, not very easy on the eye IMHO. I had to learn to configure it to select lighter colors (I’m not complaining, just describing a newbie experience).

The editor and console move all over the place, sometimes above, sometimes below, sometimes even split 3 or 4 ways. Not great when you’re a newbie. So before I get started using Juno, I typically spend 10 seconds organizing my windows. Perhaps there is a feature to “freeze” the windows, but I’m not that advanced yet.

The plots usually don’t work (whether it’s Plots, Gadfly or some other package I tried). When they do, they pop up in unexpected places.

I haven’t found an equivalent to `View(df)` to view a dataframe named `df` as if it were a spreadsheet: I’ve tried things like `display(df)` which just spills the data into the console, if I remember correctly. I don’t see a conveniently located icon equivalent to RStudio’s View feature.

And lastly, I find execution in the console to lag. It is instantaneous in RStudio, but always takes a second or two in Juno. I realize this may be a problem with my setup, but I have never had problems with RStudio, which I’ve used on Windows/MacOS/Ubuntu.

All these other configurable things are certainly great and I look forward to the point where I can benefit from them.

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [May 17, 2017, 5:03pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/45 "2017-05-17T17:03:12Z")

</div>

It’s great to get this feedback from you, thanks for taking the time to describe your experience!

> [@ptoche](#):
>
> Out of the box, Juno comes out all black, not very easy on the eye IMHO. I had to learn to configure it to select lighter colors (I’m not complaining, just describing a newbie experience).

Undoubtedly there’ll be someone who would find a light theme hard on the eyes, so it’s a bit difficult to select a good default here 🙂

> [@ptoche](#):
>
> The editor and console move all over the place, sometimes above, sometimes below, sometimes even split 3 or 4 ways. Not great when you’re a newbie. So before I get started using Juno, I typically spend 10 seconds organizing my windows. Perhaps there is a feature to “freeze” the windows, but I’m not that advanced yet.

If you have found an arrangement you’re happy with, you can uncheck the `Use Standard Layout` option in the julia-client settings. Atom should then remember the pane layout for the next start.

> [@ptoche](#):
>
> The plots usually don’t work (whether it’s Plots, Gadfly or some other package I tried). When they do, they pop up in unexpected places.

Yeah, Plots.jl integration is a bit wonky I think – we should definitely improve on that. Not sure what you mean with “pop up in unexpected places” though – the Juno plot pane should stay where it is.

> [@ptoche](#):
>
> I haven’t found an equivalent to View(df) to view a dataframe named df as if it were a spreadsheet: I’ve tried things like display(df) which just spills the data into the console, if I remember correctly. I don’t see a conveniently located icon equivalent to RStudio’s View feature.

There’s no spreadsheet data viewer in Juno yet; definitely something we should implement to make data exploration easier.

> [@ptoche](#):
>
> And lastly, I find execution in the console to lag. It is instantaneous in RStudio, but always takes a second or two in Juno. I realize this may be a problem with my setup, but I have never had problems with RStudio, which I’ve used on Windows/MacOS/Ubuntu.

Does execution only lag when you’re evaluating something in the console for the first time? If so, then that’s just some delay of starting Julia and loading packages etc. If not, then something might be wrong; should you be interested in debugging this I’d be happy help you over at the [Juno gitter](https://gitter.im/JunoLab/Juno).

---

<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:** [May 17, 2017, 5:07pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/46 "2017-05-17T17:07:41Z")

</div>

> [@ptoche](#):
>
> Out of the box, Juno comes out all black, not very easy on the eye IMHO. I had to learn to configure it to select lighter colors (I’m not complaining, just describing a newbie experience).

True fact: professional Starcraft banned snow maps because light colored backgrounds were hurting the eyes of the progammers and cutting practice times.

Moral of the story: you should really be using a dark background in any text editor if you’re working all day. No editor for professionals should have a light default. I for one really really like the default Atom scheme, but obviously YMMV.

> [@ptoche](#):
>
> The plots usually don’t work (whether it’s Plots, Gadfly or some other package I tried). When they do, they pop up in unexpected places.

There was a time that they didn’t work well, but they should be very reliable (with Plots.jl), though I agree they jump around.

---

<div class="post-metadata">

**Author:** ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)\
**Post date:** [May 17, 2017, 5:25pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/47 "2017-05-17T17:25:03Z")

</div>

Thanks for taking the time to answer in full. I can relate to some of the issues but not all, which explains the difference in our perception 🙂

In fact the `View` function is really great, but that is actually R itself, not RStudio (though RStudio intercepts the popup nicely and provides a tab instead). Would be awesome to have in Juno.

On the other hand, I’ve never had panes jumping around, Plots.jl (master) works perfectly in the plot pane with most backends on my machine, and I always use a black theme in RStudio and dislike the fact that it only applies to some of the tabs. I’m on Mac, I think Atom/Juno (you’re right about the branding thing - perhaps that will be resolved if JuliaPro becomes the standard) works better there than on windows.

I notice the console lag too, compared to RStudio - I think it is `Juno.Render` that takes a little time to display objects, or Atom itself that is slow. Never more than a few hundred milliseconds, though.

---

<div class="post-metadata">

**Author:** ![ptoche](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ptoche/32/23554_2.png) [@ptoche](https://discourse.julialang.org/u/ptoche)\
**Post date:** [May 18, 2017, 9:41am UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/49 "2017-05-18T09:41:28Z")

</div>

Thanks for the feedback and fruitful discussion. Well I have tested `Plots` again, and it did work. But it took over a minute to display a simple plot. I guess it’s related to overheads and compilation, which is great for advanced computational stuff, but a bit tedious for quick “back-of-the-envelope” usage.

It’s great to know that the medical profession backs Juno’s default layout. 😉

I have selected “Atom Light” for the editor. I like it best. So far. But I’ll be open minded about the dark themes.

---

<div class="post-metadata">

**Author:** ![ptoche](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ptoche/32/23554_2.png) [@ptoche](https://discourse.julialang.org/u/ptoche)\
**Post date:** [May 18, 2017, 9:46am UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/50 "2017-05-18T09:46:01Z")

</div>

Thanks very much for the detailed feedback. I have not found the `Use Standard Layout` option. It sounds like just what I need. I looked inside Atom → Preferences → Core, Editor and Themes.

Execution definitely lags more the first time. But since I mostly do “first times” as a newbie, it lags most times. 😉

**As I am limited to 3 replies to the same topic, I will append my comments to this message from now on!!**

**EDIT 1**

@kristoffer.carlsson

Not sure what you mean by “the installation time of R”. In RStudio, you can load packages that are out of date, so you have no need to update every time. If I execute, say, `library("ggplot2")`, it takes less than 1 second. After that I can plot in about 1 second.

Definition of 1 second: quick.

**EDIT 2**

@ pfitzseb (new users can only mention 2 other users in a post!!!)  
Thanks for the help. So, under Packages → Install, I found `julia-client` with a `settings` tab. There I found a `Use Standard Layout` option, which is currently **UNCHECKED**. It says, “Open the console, workspace and plot pane on start.” Let me experiment. Thanks!

**EDIT 3**  
@mkborregaard  
Yes, it’s a lot faster the second time. I need to develop a habit of keeping Juno open for longer. Thanks!

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [May 18, 2017, 9:46am UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/51 "2017-05-18T09:46:20Z")

</div>

It only needs to precompile the one time though. Do you include the installation time of R when you say how long time it takes until the first plot?

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [May 18, 2017, 9:51am UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/52 "2017-05-18T09:51:17Z")

</div>

Sure thing 🙂  
You should be able to find the option under `Packages` → `Julia` → `Settings` or just press `Ctrl-Shift-P` (or `Cmd-Shift-P` on Macs, I think) and type in `julia settings`.

> [@ptoche](#):
>
> Not sure what you mean by “the installation time of R”. In RStudio, you can load packages that are out of date, so you have no need to update every time. If I execute, say, library(“ggplot2”), it takes less than 1 second. After that I can plot in about 1 second.

You could argue that the precompilation of a library like `Plots.jl` is part of the installation since it happens only once happens once. It’s not really fair to include it in a runtime comparison then. I do think however that JuliaPro works around that by shipping precompiled packages – you could take a look at that.

---

<div class="post-metadata">

**Author:** ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)\
**Post date:** [May 18, 2017, 9:54am UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/53 "2017-05-18T09:54:38Z")

</div>

Yes, exactly, RStudio intercepts the results of an existing R function and displays it. It’d be cool to have Atom do all of this.

For Plots, again, the time to first plot is slow, especially the first time after updating packages. The next time you try it it should be faster. And consecutive plots in the same session should be almost instantaneous.

This is an aspect of julia that it is worth calling to attention to R users - julia is just-in-time-compiled, R is interpreted. That means that all functions defined in a Julia session need to be compiled before being run (the FIRST time only), creating a slight hesitation at the console. For packages, this is generally done at the time of `using` (though presently not for Plots). It is also part of what makes Julia fast for larger operations.

---

<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:** [May 18, 2017, 12:47pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/54 "2017-05-18T12:47:33Z")

</div>

> [@mkborregaard](#):
>
> For Plots, again, the time to first plot is slow, especially the first time after updating packages. The next time you try it it should be faster. And consecutive plots in the same session should be almost instantaneous.
> 
> This is an aspect of julia that it is worth calling to attention to R users - julia is just-in-time-compiled, R is interpreted. That means that all functions defined in a Julia session need to be compiled before being run (the FIRST time only), creating a slight hesitation at the console. For packages, this is generally done at the time of using (though presently not for Plots). It is also part of what makes Julia fast for larger operations.

Yeah, but we shouldn’t downplay that “first time to plot” is a real issue. Plots.jl is working on it.

---

<div class="post-metadata">

**Author:** ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)\
**Post date:** [May 18, 2017, 12:56pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/55 "2017-05-18T12:56:42Z")

</div>

Especially as now the metadata version of Plots doesn’t support precompilation.

---

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [May 18, 2017, 3:49pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/56 "2017-05-18T15:49:28Z")

</div>

What about InspectDR, GLVisualize GR or other alternative plotting packages?

---

<div class="post-metadata">

**Author:** ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)\
**Post date:** [May 18, 2017, 4:00pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/57 "2017-05-18T16:00:22Z")

</div>

What about them? They’re all great packages, that can be used on their own or as backends for Plots, depending on taste.

---

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [May 18, 2017, 5:08pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/58 "2017-05-18T17:08:04Z")

</div>

> [@pfitzseb](#):
>
> dela

I mean, is there one faster or with shorter delay than the other?

---

<div class="post-metadata">

**Author:** ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)\
**Post date:** [May 18, 2017, 5:12pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/59 "2017-05-18T17:12:47Z")

</div>

I believe I answered that very question earlier in the thread [What features will I miss in Julia? - #11 by mkborregaard](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/11) . If you are only thinking about time-to-first-plot-in-each-session, you could try it out and post the timings here? I am sure some could find that interesting.

---

<div class="post-metadata">

**Author:** ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)\
**Post date:** [May 18, 2017, 5:22pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/60 "2017-05-18T17:22:19Z")

</div>

> [@ptoche](#):
>
> I need to develop a habit of keeping Juno open for longer.

That’s a good point, that especially users who are used to quickly firing up R, running one quick plot to check something, then closing down again and doing other work, are going to feel the slower start-up times, precompilation, package loading etc quite a lot. I rarely work like that - I tend to keep my session open for 10mins to 10 hours for some dedicated analysis or development work. In which case the delay almost isn’t felt at all.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [May 18, 2017, 5:32pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/61 "2017-05-18T17:32:41Z")

</div>

With #265 fixed there is seldom a reason to restart Julia. You can just evaluate new code into modules / packages by setting the active module in Juno. These will overwrite the old methods and immediately take effect.

---

<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:** [May 18, 2017, 5:36pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/62 "2017-05-18T17:36:53Z")

</div>

> [@kristoffer.carlsson](#):
>
> With #265 fixed there is seldom a reason to restart Julia. You can just evaluate new code into modules / packages by setting the active module in Juno. These will overwrite the old methods and immediately take effect.

I wonder if there is a way to save the state between Julia runs then? As you say, with #265 fixed you can just rename functions, so could saving the full cached state may be an interesting way to get around the startup issues? That would have some bad consequences which would need to be solved, but it would be a souped-up version of precompilation.

---

<div class="post-metadata">

**Author:** ![yuyichao](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yuyichao/32/20_2.png) [@yuyichao](https://discourse.julialang.org/u/yuyichao)\
**Post date:** [May 18, 2017, 5:48pm UTC](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577/63 "2017-05-18T17:48:20Z")

</div>

That’s exactly how sysimg is build and package precompilation is implemented.

[Previous page](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577.md?page=2)

[Next page](https://discourse.julialang.org/t/what-features-will-i-miss-in-julia/3577.md?page=4)
