# Designated Target Audience of Julia 1.0?

**URL:** <https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804>\
**Category:** Community\
**Created:** [June 20, 2018, 1:55am UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804 "2018-06-20T01:55:31Z")\
**Posts on this page:** 20\
**Page:** 4

<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:** [June 22, 2018, 6:54am UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/61 "2018-06-22T06:54:56Z")

</div>

> [@dlfivefifty](#):
>
> v0.1-0.7 have had a huge amount of changes which have made upkeep very painful.

I have only been a user since v0.4, but updating once a year (on average) has been a minor issue for me, compared to the coding and refactoring that happens anyway. With FemtoCleaner, some of that work became automated to a certain extent.

Looking at it another way, having to update the code is the price one pays for the progress of the language. I acknowledge that it is work, but I would rather have this than a semi-dormant language.

Also, the need to continously maintain code will not stop because of v1.0, as packages get updated too.

---

<div class="post-metadata">

**Author:** ![dlfivefifty](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlfivefifty/32/1959_2.png) [@dlfivefifty](https://discourse.julialang.org/u/dlfivefifty)\
**Post date:** [June 22, 2018, 8:09am UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/62 "2018-06-22T08:09:22Z")

</div>

Try maintaining a linear algebra package: I’m in the process of rewriting `Ac_mul_B`, `At_mul_B` , … 30 more cases, each of which requires its own nuance.

Not to mention there’s been random segfaults at compile time or cases that take forever to compile in pretty much every version.

I accept these problems as it is beta software, and the packages I’ve developed wouldn’t be possible in other languages. But I don’t think it helps the conversation to pretend Julia is already “production ready”.

---

<div class="post-metadata">

**Author:** ![jmatovu](https://avatars.discourse-cdn.com/v4/letter/j/838e76/32.png) [@jmatovu](https://discourse.julialang.org/u/jmatovu)\
**Post date:** [June 22, 2018, 11:50am UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/63 "2018-06-22T11:50:49Z")

</div>

I also look forward to a proper IDE for Julia. Existing development like Atom, Juypter are way far from Matlab’s or R studio. I wish this can be worked on for more appreciation of Julia.

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [June 22, 2018, 12:04pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/64 "2018-06-22T12:04:30Z")

</div>

The IDE for Julia is going to be Atom/Juno, the VSCode plugin, or something like it. Perhaps a plugin for some other IDE. As far as I can tell, there is very little interest in making a dedicated IDE app from scratch.

And I think that is the right approach, it’s just a question of making the plugins featureful enough and polished enough. The standalone, dedicated IDEs can be nice and powerful, but they become slow-moving dinosaurs after a while, like the Matlab IDE.

---

<div class="post-metadata">

**Author:** ![ScottPJones](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scottpjones/32/146_2.png) [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Post date:** [June 22, 2018, 2:02pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/65 "2018-06-22T14:02:36Z")

</div>

Hehe, you are 100% correct, as I should know, having suffered through them over the last 3 years (Tupleocalypse was going on right when I discovered Julia, on master, while v0.3.3 was the stable release, IIRC)

I should have put an emoji, to indicate sarcasm! (what _is_ a good emoji for that, btw?)

---

<div class="post-metadata">

**Author:** ![ScottPJones](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scottpjones/32/146_2.png) [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Post date:** [June 22, 2018, 2:09pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/66 "2018-06-22T14:09:32Z")

</div>

> [@dlfivefifty](#):
>
> But I don’t think it helps the conversation to pretend Julia is already “production ready”.

That is different than saying that Julia can _not_ be used effectively in production (with _lots_ of care, and having somebody on the team who eats/breathes/dreams Julia, and who is willing to make PRs to fix blocking bugs and implement functionality that is missing or not performant enough).

Note that that person also runs the risk of being seen as overly pushy and critical when trying to get said bug fixes merged, since their livelihood depends on it! 😀 (Even when that person is a _HUGE_ Julia fan-boy, who has to work hard not to accost strangers on the street or at ODSC conferences about the wonders of Julia 😉)

---

<div class="post-metadata">

**Author:** ![swissr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/swissr/32/208_2.png) [@swissr](https://discourse.julialang.org/u/swissr)\
**Post date:** [June 22, 2018, 2:30pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/67 "2018-06-22T14:30:43Z")

</div>

> [@DNF](#):
>
> dedicated IDEs can be nice and powerful, but they become slow-moving dinosaurs after a while, like the Matlab IDE

Where would the Matlab IDE need to move? Is this purely about the (less than beautiful) aesthetics? Or are important features missing?

I just wonder, personally I only used much older non-ribbon Matlabs.

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [June 22, 2018, 7:44pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/68 "2018-06-22T19:44:15Z")

</div>

The basic problem of the Matlab IDE is that it is a really outdated editor that lacks all sorts of modern editing features. My favorite example is that they are unable to implement block select (or its more advance cousin, multiple cursors).

I’m not going to start digging up a list, but git integration is missing/limited, highlighting is limited, snippet support is limited. The number of features that can be added to Atom/VSCode/Sublime/Vim/Emacs by a vibrant community is staggering. Not so for proprietary Matlab.

The Matlab editor has some very solid basic features, such as the great debugger, profiler, and good built-in graphics, which keeps them competitive for now. But they simply cannot innovate fast enough.

---

<div class="post-metadata">

**Author:** ![dlfivefifty](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlfivefifty/32/1959_2.png) [@dlfivefifty](https://discourse.julialang.org/u/dlfivefifty)\
**Post date:** [June 22, 2018, 8:27pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/69 "2018-06-22T20:27:27Z")

</div>

> [@DNF](#):
>
> debugger

This is the biggest complaint about Julia I’ve heard from MATLAB users. `@which` works fine for me, but if you’re used to debuggers it’s hard to adjust.

Of course this is in the works for Julia v1.0.

---

<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:** [June 22, 2018, 10:33pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/70 "2018-06-22T22:33:56Z")

</div>

> [@dlfivefifty](#):
>
> Of course this is in the works for Julia v1.0.

And exists in Juno.

---

<div class="post-metadata">

**Author:** ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)\
**Post date:** [June 23, 2018, 5:28pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/71 "2018-06-23T17:28:37Z")

</div>

Simulink and the possibility to export code for real time use is important in some industries.

1-2 years ago, National Instruments had a webinar on how to integrate LabVIEW with Python. I don’t know enough about the status of that, or whether the Julia-Python integration could be used to run Julia code from within LabVIEW.

Comsol – the company – was originally the reseller of MATLAB in the Nordic countries, and developed FEMLab as a toolbox for MATLAB. When MathWorks took over MATLAB representation in the Nordic countries, FEMLab re-emerged as Comsol Multiphysics. So historically, there has been tight integration between Comsol and MATLAB.

---

<div class="post-metadata">

**Author:** ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)\
**Post date:** [June 23, 2018, 5:39pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/72 "2018-06-23T17:39:16Z")

</div>

Modelica can certainly handle varying mass – Modelica is “just” an equation based language for encoding DAEs, with good support for libraries, etc. Then there are lots of tools for operating on Modelica models, e.g., Dymola, SimulationX, OpenModelica, [JModelica.org](http://JModelica.org), etc., as well as Wolfram’s System Modeler and MapleSim.

The tools vary in how well they convert the Modelica code to executable code (conversion to C, etc.). Experience with how well the produced code (“flattened code”) handles problems with varying mass may, of course vary, but will most likely be tool dependent.

I’m curious as to which tool you have used?

---

<div class="post-metadata">

**Author:** ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)\
**Post date:** [June 23, 2018, 5:53pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/73 "2018-06-23T17:53:46Z")

</div>

Coming from the Fortran tradition of print sentences for debugging, the MATLAB debugger was a revelation when I learned it. Perhaps there are better methods now, but I kind of like that part of MATLAB.

The MATLAB IDE got horrendously slow when they implemented it in Java (some 10-15 yeas ago?). I switched temporarily to Python ca. 2011 due to the cost of MATLAB. At that time, I used the Wing IDE – quite good, with a very competent and attentive developer. I’ve never really used Spyder much, and started to look into Julia ca 1 year ago – due to some lacking possibilities in Python (control packages, etc.).

I tested MATLAB 2017 on some of my laptops… on my 2015 (?) Dell XPS 13 with 8 GB RAM and 256 GB SSD disk, it took 2 minutes to start MATLAB. Horrible. On 6 months “younger” Surface Pro with 16 GB RAM and 512 GB SSD disk, the start-up time was 20 s…

Maybe I’m old fashioned… I always hated the lack of file print command in Atom – in some cases, I prefer to sit and study printed code over a cup of coffee. I tried Juno a few months ago, and liked parts of it. Maybe I’m slow, but I never figured out how to save the layout of the various windows (command line window, plot window, etc.), so it always started with the same layout. Which was irritating.

---

<div class="post-metadata">

**Author:** ![Nosferican](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nosferican/32/9275_2.png) [@Nosferican](https://discourse.julialang.org/u/Nosferican)\
**Post date:** [June 23, 2018, 5:54pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/74 "2018-06-23T17:54:59Z")

</div>

I agree it is not production ready, but it is pretty active. FemToCleaner should take care of all those deprecations. The segfaults have happen a few times, but compile speed has been improving a lot.

---

<div class="post-metadata">

**Author:** ![nickeubank](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nickeubank/32/3878_2.png) [@nickeubank](https://discourse.julialang.org/u/nickeubank)\
**Post date:** [June 23, 2018, 6:27pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/75 "2018-06-23T18:27:05Z")

</div>

> The Matlab editor has some very solid basic features, such as the great debugger, profiler, and good built-in graphics, which keeps them competitive for now. But they simply cannot innovate fast enough.

I agree that it’s not innovating quickly, but I would not underestimate the value of it’s initial ease-of-use for average users. I think early adopters and developers (the people on these forums) often underestimate how quickly people give up on new programs when getting started is hard.

I recently tried to get a colleague to adopt Julia in place of Matlab for a graduate stats class – students were just being asked to do things like implement Ordinary Least Squares by hand using matrices, so super easy. But when he saw the steps for getting Juno up and running (downloading Julia, downloading atom, installing the Julia client, and setting path in the juno settings to the julia download on his windows machine), his response was “Oh man, there’s no way I want to deal with troubleshooting 30 students through this setup process. I’m just gonna use matlab”.

I recognize it’s not first order, but I think a much cleaner, easier “download, click install, and then have immediate full IDE environment” experience would go a long way towards encouraging adoption among lay-users. Stata has it, matlab has it, and R has it (both the base version has an in-built text editor, and R-Studio is very easy to set up).

---

<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:** [June 23, 2018, 6:30pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/76 "2018-06-23T18:30:58Z")

</div>

> [@nickeubank](#):
>
> I recently tried to get a colleague to adopt Julia in place of Matlab for a graduate stats class – students were just being asked to do things like implement Ordinary Least Squares by hand using matrices, so super easy. But when he saw the steps for getting Juno up and running (downloading Julia, downloading atom, installing the Julia client, and setting path in the juno settings to the julia download on his windows machine), his response was “Oh man, there’s no way I want to deal with troubleshooting 30 students through this setup process. I’m just gonna use matlab”.
> 
> I recognize it’s not first order, but I think a much cleaner, easier “download, click install, and then have immediate full IDE environment” experience would go a long way towards encouraging adoption among lay-users. Stata has it, matlab has it, and R has it (both the base version has an in-built text editor, and R-Studio is very easy to set up).

Julia has it: [JuliaPro](https://juliacomputing.com/products/juliapro.html).

---

<div class="post-metadata">

**Author:** ![nickeubank](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nickeubank/32/3878_2.png) [@nickeubank](https://discourse.julialang.org/u/nickeubank)\
**Post date:** [June 23, 2018, 6:36pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/77 "2018-06-23T18:36:43Z")

</div>

[mind blown] Wow, thank you!!!

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [June 23, 2018, 6:37pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/78 "2018-06-23T18:37:43Z")

</div>

In my experience, Matlab has a lot of hoops you have to jump through during install, especially with the license file/manager, toolbox selection, etc. Unless Matlab comes preinstalled, I would say it’s much faster and simpler to get Juno running.

Doesn’t Juno automatically find the Julia path, btw?

Now, Matlab in general is convenient (except for the license stuff), but the question I was addressing was whether one should start developing a dedicated Julia IDE from scratch.

---

<div class="post-metadata">

**Author:** ![HCrepaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hcrepaz/32/4531_2.png) [@HCrepaz](https://discourse.julialang.org/u/HCrepaz)\
**Post date:** [June 23, 2018, 6:42pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/79 "2018-06-23T18:42:08Z")

</div>

@BLI You have detailed nicely the history why some commercial codes have tight Matlab integration.  
Of course Julia is the new kid on the block and therefore cannot boast the connection to widely used commercial codes which uses Matlab or Python (e.g. Dassault Simulia).  
But my point stands, Matlab cannot yet be easily dismissed and replaced with Julia for these use cases.  
Early Comsol has lots of similarity with Matlab’s PDE toolbox and LabView I have used personally quite extensively for a real time experiment control system.  
To gain traction in industry these things are important but unfortunately they take some time to develop.  
Also, most users of Julia now are early adopters or developers, and have different priorities to end users and beginners. To get more people using Julia a focus on ease of use and good documentation will help quite a lot.

---

<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:** [June 23, 2018, 6:46pm UTC](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804/80 "2018-06-23T18:46:35Z")

</div>

> [@nickeubank](#):
>
> [mind blown] Wow, thank you!!!

Do note that using JuliaPro imposes some restrictions on the versions of Julia and Atom packages (which might very well be a good thing in an educational context).

> [@DNF](#):
>
> Doesn’t Juno automatically find the Julia path, btw?

It does, unless you install Julia in a non-standard location.

> [@DNF](#):
>
> Now, Matlab in general is convenient (except for the license stuff), but the question I was addressing was whether one should start developing a dedicated Julia IDE from scratch.

A competitive text editor is a tremendous amount of work, never mind a fully featured IDE. I don’t think there’s any merit to starting a Julia IDE not based on one of the existing editors (and there’s a wide choice here, all the way from vim/emacs to Atom/VSCode).

> [@BLI](#):
>
> Maybe I’m old fashioned… I always hated the lack of file print command in Atom – in some cases, I prefer to sit and study printed code over a cup of coffee. I tried Juno a few months ago, and liked parts of it. Maybe I’m slow, but I never figured out how to save the layout of the various windows (command line window, plot window, etc.), so it always started with the same layout. Which was irritating.

There’s a package for that: [print-code](https://atom.io/packages/print-code). If you find that there’s something missing then I’d definitely recommend searching through [Sunsetting Atom - The GitHub Blog](https://atom.io/packages) for a packge that does what you need – usually there is one (or lots).

The layout issue (only relevant on Macs, btw) is annoying, I agree, but it’s something I’m not sure how to solve; the `Standard Layout` option _should_ take care of it, but I’m not entirely sure if it works always.

[Previous page](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804.md?page=3)

[Next page](https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804.md?page=5)
