Long-Term Stable Support

Hi everyone! I’m quite new to Julia and programming in general, with enough experience in Matlab with OOP and can understand the flow of C++ code. So please forgive any demonstrated inability to express what my question is.

We have a very large developed program in my private organisation that runs on C++. The two language problem is a living reality in my workplace, with myself as a mathematician observing the algorithms and implemented equations of the program (tests in Matlab then with mex, etc.) communicating with the software engineers for implementation. The divide is very uncomfortable.

Julia offers to bridge that gap, cutting out the middle men (software engineers) allowing myself as a rising software scientist to oversee the development of our program without the need for the complicated code development that C++ demands.

That said, I’m not looking to make the software engineers redundant. There are lots of projects they have, and a lot of the difficulties they encounter might be helped by taking the massive step to porting to Julia. They’ll still have a lot of work but the long term benefits will be beyond worth the trouble.

There are many road blocks to my proposition. I’ve discussed this with my boss and another colleague, and we agreed on some issues we see down this road, the following issue being one that I desire to discuss with this community, that being stable support:

Unlike Matlab and C++, there isn’t an organisation for Julia where paid contracts for support exists. I’ve read around this discourse forum and searched around online, and obviously Julia is too young to have the stable support that my company desires to develop deliverable software solutions to customers with peace of mind that if something goes wrong with the software beyond our comprehension, we can turn to a Julia organisation that we have contracted support with.

Other issues are inherent in the youthfulness of Julia, e.g. awaiting for the production of executables and debugging (which I know is out for Atom, but I favour VS Code… which Microsoft provides stable support for), and myself learning Julia which, honestly, I am very ecstatic about.

So in short my question is, will Julia one day have a contracted organisation for stable support available for industries that are looking to provide software solutions that also require stable support?

Take a look at Julia Computing, the company. A large number of core Julia devs are employed there, and they provide commercial support, as far as I know.

4 Likes

Wow, I’m actually embarrassed. How have I not come across this before?

Thank you very much for your reply David. Keep up the great work!

As David said, Julia computing provides commercial support and it’s my understanding that they do really good work.

As to your question about a debugger, you can use this package: GitHub - JuliaDebug/Debugger.jl: Julia debugger to get debugging in whatever IDE you like. The only part that’s IDE dependant is visual breakpointing.

Production of executables is still a work in progress but you can follow this repository to see what the state of the art is like: https://github.com/JuliaLang/PackageCompiler.jl. It does work for sufficiently simple scripts already. Otherwise, if distributed executables are a must you can always just bundle the entire julia runtime into your executable, though that will make for a quite beefy file.

2 Likes

Thank you for your reply!

Yes, sorry I wasn’t clear – I knew the debugging was available for VS Code, I will just need to muster confidence since I’m coming from the heavily visual debugging nature of Matlab.

Thanks for the recommendation! I’m really glad to know the executable productions is not an if but a when! I’ll get started on seeing what Julia can do.

And yes, I would like reasonable optimisation in file size also. Let’s see how Julia progresses with time, I’m excited!

It seems we need to improve our marketing game :grinning:. Here’s the Julia Computing website:

https://juliacomputing.com

I’m one of the company cofounders (and a Julia co-creator). We offer support and indemnification for Julia, as well as developing JuliaPro, which is a supported version of Julia with many of the kinds of features that I think you’re looking for. Please feel free to reach out for more info at info@juliacomputing.com.

4 Likes

Hi Stefan!

Thank you for the link. It looks like Julia does have the support I’m searching for. I may do more thorough research and maybe contact JuliaComputing regarding finer details of program porting. It’s a big decision and we already have enough on our plate so we want the decision to switch to be thoroughly investigated.

Thank you for taking the time to reply, and for the work you do. I look forward to mastering Julia.

1 Like

In addition to the excellent suggestions made by others (Julia Computing), your company could consider encouraging your developers to contribute to the Julia language, the standard libraries, and various other packages.

This has two advantages:

  1. Your developers become familiar with the internals of Julia and the packages your company uses. This allows them to fix things themselves if needed with minimal turnaround time.

  2. As contributions (in the form of PRs) are reviewed, your developers get feedback from experts in the Julia community, for free.

Most of these contributions would not need to be planned strategically: just being open to the idea of fixing issues as they arise on company time would help.

This of course would be complementary to paid support — you would not have to fix everything yourselves. That said, most bugs in Julia are fixed very quickly (in the next minor release), while features usually take more time while the right solution is hammered out.

4 Likes

Hi @Tamas_Papp, I agree with you. Julia being written by Julia gives that amazing flexibility, in addition to being a relatively easy-to-read language.

It’s a big decision to make the switch to Julia, and I have the mission of convincing my improvement-keen colleagues and bosses to make that switch. The biggest obstacle to such a mission is my personal level of programming that is improving with time.

Seeing the support and amazingly peaceable collaboration on Julia has me highly convinced that the port will be a good investment in our future.

3 Likes