Learning Julia or c++ from python and R backgrounds

I’m fairly new to data science…first I start using R like 2 years ago then recenlty like 5 months ago I start migrating to Python and I did that pretty fast. Then recenlty i stumble into Julia in PyCon video.
Since then I wanted to learn Julia and fully take a total grasp of it but I since into some issues:

  1. I’m scholar in geoscience and I look for tools in data science, machine learning, GIS, deep learning, remote sensing analysis…etc.
  2. I don’t know from where to start especially in my field… For example I like to process data in Julia and plot using my existing codes of matplotlib in Python because i don’t want to waste time on learning plotting in Julia (most of my plots are advanced and replicating things in Julia seems a waste because plotting is not mature or there’s less documentation so that wasted time is required to do other stuff or learn other aspects of Julia).
  3. If learning C++ instead of Julia is better and then when the language get popularity I jump the wagon.

So at the end, I need some opinions please if Julia worth it,especially in the fields Im interested in (if yes how to start and fix those points above), or learning c++ to speed up things in python for example is better choice because till now I’m bit confused about Julia and don’t want to waste time around.

You can use matplotlib from Julia, via the PyPlot.jl package, with a 1-to-1 translation of syntax.

1 Like

geosciences is a broad field. If you mean something more close to Geophysics there is not a more advanced tool than GMT, which has a Julia wrapper.

Learning C++ is a life-long endeavor, and not in a good way. It’s just an immensely complex language due to thirty years of incremental-hack language design, rather than any intrinsic complexity. Save yourself a world of pain and learn Julia, or stick with Python for a while and live with its slowness until you’re ready for Julia.

6 Likes

Something I’ve been regretting lately is quite how much of C++ I forget after not having used it for about 2 years (and having used it for about 8 before that). I have to admit I had a really hard time understanding that C++ template engine blog post. C++ really can get pretty dense.

That said, as I’ve seen the use of Python rise there’ve been a fair number of places where I couldn’t help but scratch my head and wonder what was the point of doing it in Python and introducing a language barrier when you could just do it in C++. I did plotting in C++ for many years, it wasn’t difficult. Not everything in C++ has to be a nightmare.

Regardless, I’m much happier using Julia for everything now. Once I can statically compile binaries in Julia I wouldn’t be surprised if I never used C++ again (of course that’s not something that would be possible for everyone).

4 Likes

By geoscience i mean issues comcern natural hazards, remote sensing(especially SAR), GIS implementation in real geotechnical issues, machine learning and image segementation classification…etc.
I really want to lean Julia for those issues but no clue to where to start from …

There a JuliaGeo group that has some tools available. I’m getting reading to start looking at those, but I believe that they need work, and I’m sure they’ll welcome PR’s.

I really appreciate such encouragement to learn Julia instead of python but believe it or not since I first stumble upon Julia and I’m determined about learning there’s so much quirks and perks that is attractive to me…but lack of complex tutorials and guides such as with python make it hesitate and think of c++ instead.

Wow, that’s a LOT of fields. By the way, SAR is hard core Geophysics. There exists a GMTSAR package but it’s not accessible via GMT.jl because it’s not written as a GMT module.

Cool​:open_mouth::open_mouth: I think I will try to learn Julia basics first and try to help the JuliaGeo to grow more …no single website ever mention JuliaGeo I don’t know why​:unamused::unamused::unamused:

Unfortunately it’s a lot as you said :stuck_out_tongue:…but I want to migrate to Julia and never look back again…:wink:
Concerning GMTSar it’s too bad such package is not available

What does 1-1 means?

Thanks for your opinion I’m so encouraged to go for Julia more than before. Additionally, seeing a refugees from c++ to Julia for everything means that the language worth trying. But again so you have other ideas to share maybe others can benefit from it.

Well, porting it to GMT.jl would far far far far far far far less complicated than learning C++ :grinning:

Really…:open_mouth::open_mouth::open_mouth:
Can you explain briefly how to do that … Also can you explain your point about its is easier to Port than c++ (sure it’s not easy and no one said that of course)

Sorry, my comparison is misleading. Not that it’s false (C++ is a really complicated language that takes YEARS to master) but porting GMTSAR woould be far from trivial for someone who is not inside the GMT and GMTSAR code base (pure C). If you are really interested in it I strongly suggest that you use it directly as is (compiled executables) from a unix shell.

I also come from an R background, all my statistical analysis for my PhD was done in R, even though I went to school in the cradle of SAS (NCSU). I kept hearing complaints from bioinformaticians on how horrible R was as programming language, so I always kept trying other things. I did some python and liked it, but I never migrated anything from R to python. I tried to take a C class, not very successful with that. And I found Julia and started using it pretty much exclusively since version 0.6. I have the luxury of being in a position that allows me to dabble in different things, take time to learn the syntax, etc… If I had a PhD dissertation coming, or had some important deadline soon, I probably would not have taken the plunge. But as it is right now, I haven’t opened R in a while, I’m translating old scripts from R into Julia, moving my statistical analyses, etc. And what’s even better for me, I have submitted a couple of small PR’s to different packages and I’m seriously considering doing a package myself. That’s something that I always felt was years away for me in R, for whatever reason, but with Julia and the nice community they have created, I’ve felt more encouraged.

That’s my personal experience here thus far. So, I encourage people to give a good try for a while, I feel that the language is fairly easy to use, and obviously you understand that this is a very young language and tooling and packages need work.

1 Like

You asked your question (“I need some opinions please if Julia worth it”) on Julia discourse.

Do you realize that answer could be predicted? :stuck_out_tongue_winking_eye:

No it’s not…:stuck_out_tongue: If we apply the same logic, someone would ask question in the internet about the benefits of the internet, then all they praise it and be biased toward it… But no!!!
Sharing a productive opinions is solid ground to mutual understanding and asking the question is Julia discourse is much beneficial than asking elsewhere, because alot of experts(including refugees from other languages) are available and they all tricks Julia have, so solid opinion can formulate from they experiences and opinions.

1 Like