# Get it together, guys!

**URL:** <https://discourse.julialang.org/t/get-it-together-guys/27826>\
**Category:** Community\
**Created:** [August 22, 2019, 2:07am UTC](https://discourse.julialang.org/t/get-it-together-guys/27826 "2019-08-22T02:07:40Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![pkofod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pkofod/32/2179_2.png) [@pkofod](https://discourse.julialang.org/u/pkofod)\
**Post date:** [August 23, 2019, 11:19am UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/81 "2019-08-23T11:19:36Z")

</div>

> [@sairus7](#):
>
> Are you counting Matlab application start?

Of course… that’s always the complaint in Julia: “I want to write a script that’s run every five minutes and creates a plot,and it’s taking forever! And no I don’t want to keep a julia session running, I want to start over each time.”

---

<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:** [August 23, 2019, 11:19am UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/82 "2019-08-23T11:19:40Z")

</div>

> [@antoine-levitt](#):
>
> That’s not really fair though; Matlab is designed to never stop running, while Julia needs Revise (which is not at all obvious to beginners), and even that still has significant limitations.

Sure, and I explicitly point that out. However, that is a different way of looking at the problem. Perhaps reducing the need for restarts is another way of attacking the problem.

> [@sairus7](#):
>
> Are you counting Matlab application start?

Yeah, I counted the time from the desktop to the first plot.

---

<div class="post-metadata">

**Author:** ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Post date:** [August 23, 2019, 11:23am UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/83 "2019-08-23T11:23:57Z")

</div>

I just timed from starting to window on screen 24s for matlab. But the user experience is different, as major part of the 24s is splash screen, GUI build up on the screen and ‘Initialization’. The first plot on an open GUI is ~2.5s (depending on how much content). While for julia the ‘command line freezes’.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [August 23, 2019, 11:27am UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/84 "2019-08-23T11:27:28Z")

</div>

> [@lobingera](#):
>
> But the user experience is different, as major part of the 24s is splash screen, GUI build up on the screen and ‘Initialization’.

We can easily fix that:

```julia
println(stdout, """
 ________________________________________
/ Initialization in progress. A bunch of \
| very sophisticated things are being |
\ initialized... /
 ----------------------------------------
        \ ^__^
         \ (oo)\ _______
            (__)\ )\/\
                ||----w |
                || ||
""")
... # plotting code here

```

---

<div class="post-metadata">

**Author:** ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Post date:** [August 23, 2019, 11:33am UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/85 "2019-08-23T11:33:02Z")

</div>

As strange and comic as this looks like: Yes, that’s a solution providing a better usability.  
Users are willing to accept delays if they understand that some work is done (that’s why we see progress bars everywhere). If the computer is just unresponsive, the first thought is: Something is wrong.

---

<div class="post-metadata">

**Author:** ![cchderrick](https://avatars.discourse-cdn.com/v4/letter/c/ecd19e/32.png) [@cchderrick](https://discourse.julialang.org/u/cchderrick)\
**Post date:** [August 23, 2019, 12:37pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/86 "2019-08-23T12:37:47Z")

</div>

```julia-repl
julia> @time using MATLAB
  0.184710 seconds (184.47 k allocations: 10.493 MiB)

julia> x=0:0.01:100 

julia> y = sin.(2*pi*x)
julia> @time mxcall(:plot,0,x,y)
  0.942919 seconds (1.50 M allocations: 75.146 MiB, 2.45% gc time)

```

If you use `MATLAB.jl`, it is actually quite fast to get first plot.

I have been using MATLAB from Julia to plot stuff, and the experience is quite joyful, actually. So basically I am paying money for a plotting library.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [August 23, 2019, 12:49pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/87 "2019-08-23T12:49:53Z")

</div>

And if you start Matlab with - -nojvm (sorry, I’m on a touch screen) I bet the TTFP is less than a second

---

<div class="post-metadata">

**Author:** ![Zach\_Christensen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zach_christensen/32/7220_2.png) [@Zach\_Christensen](https://discourse.julialang.org/u/Zach_Christensen)\
**Post date:** [August 23, 2019, 12:52pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/88 "2019-08-23T12:52:36Z")

</div>

ah yes, startify

---

<div class="post-metadata">

**Author:** ![matthieu](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@matthieu](https://discourse.julialang.org/u/matthieu)\
**Post date:** [August 23, 2019, 12:57pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/89 "2019-08-23T12:57:29Z")

</div>

Yes! That’d be amazing.  
Honestly, it would be great to print a simple message like this the first time someone uses a package.

---

<div class="post-metadata">

**Author:** ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Post date:** [August 23, 2019, 1:01pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/90 "2019-08-23T13:01:18Z")

</div>

i don’t think so …

“\>\> Error using plot  
This functionality is no longer supported under the -nojvm startup option.”

(\>\> Elapsed time is 1.829763 seconds. And i know for ‘this’ matlab the access to licensing is already 1…2 s)

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [August 23, 2019, 1:04pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/91 "2019-08-23T13:04:09Z")

</div>

OK, I’m not near a computer so could not test it before posting.

---

<div class="post-metadata">

**Author:** ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Post date:** [August 23, 2019, 1:11pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/92 "2019-08-23T13:11:25Z")

</div>

afaics -nojvm disables plotting (along the intended JVM free operation) and this is part of the release notes R2013a. Option of choice to stop the GUI starting up is -nodesktop.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [August 23, 2019, 1:34pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/93 "2019-08-23T13:34:29Z")

</div>

In case this was unclear: the suggestion was tongue-in-cheek. No one should make a PR. (_But if they do, the cow should be rolling her eyes and flaming_).

I believe that TTFP (and compilation time in general) is [a priority](https://discourse.julialang.org/t/compiler-work-priorities/17623) and should improve soon. Also, packages should not litter the output with various messages.

Maybe I am overly optimistic, but in the meantime I consider it within the capacity of an average adult to wait a short while when loading unfamiliar package in a new programming language without assuming that the computer is broken.

---

<div class="post-metadata">

**Author:** ![Zach\_Christensen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zach_christensen/32/7220_2.png) [@Zach\_Christensen](https://discourse.julialang.org/u/Zach_Christensen)\
**Post date:** [August 23, 2019, 1:51pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/94 "2019-08-23T13:51:04Z")

</div>

You obviously weren’t raised on microwaved food. Dinner shouldn’t take more than a minute to prepare. 😉

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [August 23, 2019, 2:15pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/95 "2019-08-23T14:15:47Z")

</div>

This post was temporarily hidden by the community for possibly being off-topic, unfocused, inappropriate, or spammy.

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [August 23, 2019, 2:37pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/96 "2019-08-23T14:37:11Z")

</div>

Can someone explain to me why my post was flagged? I don’t mean to offend anyone, and I don’t understand how that can cause offense? I am a little on the spectrum, but if you explain, I will understand.

---

<div class="post-metadata">

**Author:** ![Yifan\_Liu](https://avatars.discourse-cdn.com/v4/letter/y/4da419/32.png) [@Yifan\_Liu](https://discourse.julialang.org/u/Yifan_Liu)\
**Post date:** [August 23, 2019, 2:37pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/97 "2019-08-23T14:37:38Z")

</div>

I think PGFPlotsX’s syntax looks very complicated and different from Julia syntax, and new users may be scared away by its syntax before they have a chance to see its speed. Also, I feel like it is more straightforward to use PGF/TikZ in Latex.

On the other hand, Gaston is a fast plotting package with simpler syntax. The problem is that it is not under the JuliaPlots organization, and new users cannot find it.

I personally think Julia has a lot of great packages that lack marketing. I didn’t know the existence of the Julia package FixedEffectModels until very recently. It is actually better than its counterparts in R and Stata. I would say for more than 50% of finance scholars it would suffice to solely use this package to run regressions for their papers.

Also, another very interesting package Miletus seems to have been open sourced, but there was no notification about that.

I highly suggest Julia to create a task views page, so new users know where to start. R did very well about this: [CRAN Task Views](https://cran.r-project.org/web/views/)

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [August 23, 2019, 2:49pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/98 "2019-08-23T14:49:27Z")

</div>

You possibly violated the [guidelines](https://julialang.org/community/standards/)

> In particular, do not sexualize the term “Julia” or any other aspects of the project. While “Julia” is a female name in many parts of the world, the programming language is not a person and does not have a gender.

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [August 23, 2019, 2:51pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/99 "2019-08-23T14:51:45Z")

</div>

Right. Don’t mean to cause offense.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [August 23, 2019, 2:51pm UTC](https://discourse.julialang.org/t/get-it-together-guys/27826/100 "2019-08-23T14:51:56Z")

</div>



[Previous page](https://discourse.julialang.org/t/get-it-together-guys/27826.md?page=4)

[Next page](https://discourse.julialang.org/t/get-it-together-guys/27826.md?page=6)
