Rust, Julia, and Go: Disruptive New Programming Languages Changing the Face of Computing

Поделиться
HTML-код
  • Опубликовано: 3 янв 2025

Комментарии • 136

  • @ther6989
    @ther6989 6 лет назад +158

    19:28 GO
    26:50 Rust
    36:44 Julia

  • @igordemetriusalencar5861
    @igordemetriusalencar5861 3 года назад +29

    Julia was the best thing I could use in my workflow. Absolute fast as C and easy to use for those who have R and Python background. It has its own "tidyverse" kind of package, really easy to do functional programming as in R.

  • @jsonkody
    @jsonkody 5 лет назад +75

    Go .. most practical today
    Rust .. evolution of system language we needed
    Julia .. beast of tommorow - if julia would have rich ecosystem like python it would be totally awesome language.

  • @unlockwithjsr
    @unlockwithjsr 4 года назад +21

    Rust and Julia for me. Rust for Systems Programming while Julia for Data Science

  • @dijikstra8
    @dijikstra8 3 года назад +12

    I started looking at Julia as a PhD student a number of years ago, precisely because the two-language problem was limiting for the kind of machine learning I was doing. It wasn't very mature back then unfortunately so I had to rewrite some crucial parts of my model in C instead and interface that with my Matlab code. I'm glad to see Julia has come some way since then. I remember being quite excited about it being just as simple as Matlab for mathematical modelling, but it could be compiled down to be as fast as a systems-level language.

  • @pwil3058
    @pwil3058 5 лет назад +29

    I'm currently learning Rust and the more I learn the more I love it.

  • @pwil3058
    @pwil3058 5 лет назад +64

    C++ is a mechanism for making C bugs harder to find and fix.

    • @vladimirkraus1438
      @vladimirkraus1438 4 года назад +2

      this is a myth

    • @Autopawn
      @Autopawn 4 года назад +3

      I find this true. So far the only thing that I see that C is missing that C++ has are generics and a library of collections. The time it takes to learn C well and get used to work with its limitations pays off far better than the time it takes to understand the numerous and intricate features of C++

    • @HermanWillems
      @HermanWillems 4 года назад +1

      @@vladimirkraus1438 But classes where a mistake. It combines State + Logic in one entity. Rust and C don't do that. Rust has Structs + Traits.

    • @vladimirkraus1438
      @vladimirkraus1438 4 года назад +1

      @@HermanWillems This is no mistake and there is nothing wrong with it. It is just a way of organizing code. It is the same as if you put struct and functions which work with this struct to the same compilation unit, which you probably do in C.
      Btw. C++ does not force you using classes (unlike Java or C#). You cas still use structs and functions if you want.

    • @biskitpagla
      @biskitpagla 3 года назад +3

      Half the people who say that are either too old or out of touch to know about modern C++, and the other half are just people echoing an opinion they picked up online.

  • @tacorevenge87
    @tacorevenge87 5 лет назад +65

    Rust the best c/c++ contender.
    Go a java contender.
    Julia a python, r and Matlab contender.

    • @brettknoss486
      @brettknoss486 4 года назад

      If Fortan is good for math, then Julia should be good for data processing. I'm not sure how it compares to r for statistics tasks like regression, but it should work. If Go can replace SQL, then it that would be good to know both Julia and Go with Rust being more for developers.

    • @brettknoss486
      @brettknoss486 4 года назад

      Also if Julia and go can replace high level stuff in C++ then there may be room for a Super language to replace python, r and sql, that are closer to accounting and data entry.

    • @HermanWillems
      @HermanWillems 4 года назад +1

      Nice Julia, but is there a scientific language that DOES NOT use a garbage collector ?

    • @siddharthupadhyay6347
      @siddharthupadhyay6347 4 года назад

      @@HermanWillemsI haven’t seen even one scientific language without a GC.Rust might be a good one to look into.Source:- www.techbyn.com/why-scientists-are-turning-to-rust/

    • @Corpsecreate
      @Corpsecreate 3 года назад

      and IOTA is using Rust :)

  • @halneufmille
    @halneufmille 5 лет назад +35

    I've had dreams of a programming language that would allow me to use greek letters. Seeing that in Julia was enough to convince me right away.

    • @awwastor
      @awwastor 3 года назад

      May I know why?

    • @halneufmille
      @halneufmille 3 года назад +8

      ​@@awwastor For researchers, it's so satisfying to see your code look exactly like your paper. Feels very clean. Of course, multiple dispatch, code reuse and speed are convincing arguments as well :)

    • @awwastor
      @awwastor 3 года назад

      @@halneufmille I didn’t think about that. My knowledge of math is pretty limited, but don’t the Greek letters have special meanings? Does Julia force you to respect those meanings, or do you have to respect them yourself?

    • @halneufmille
      @halneufmille 3 года назад +3

      @@awwastor Each scientific domain (or even each individual paper) uses the same greek letters to mean very different things. In julia, some have reserved meaning: pi or π is a function that computes π = 3.14159... and I is the identity matrix. Otherwise, you use greek letters the same way you would latin, other languages or emojis. (e.g. you can write Ю = Я = 😹=10).

    • @aliasuser_
      @aliasuser_ 3 года назад

      @@halneufmille Same

  • @dansanger5340
    @dansanger5340 3 года назад +3

    I'm still waiting for Modula-2 to catch on. Fingers crossed!

  • @ThePandaGuitar
    @ThePandaGuitar 8 месяцев назад +1

    What a great overview of modern languages and their respective use cases! This is one of the very few presentations that has aged well. For my use case (web servers), I have found Go to be the most well-balanced language design I have ever used. It is simple and performant. It's no wonder, since it was made by none other than Ken Thompson and Rob Pike. For fun during my personal time, I have found Julia to be a fantastic language to explore.

  • @averageintelligence6822
    @averageintelligence6822 2 года назад +1

    Currently Learning Julia Having a blast Highly recommend

  • @anselmCallie
    @anselmCallie 6 лет назад +28

    That Julia trivia at 37:00 is not factually accurate but will probably become the popular answer.

    • @valentynstadnytskyi9197
      @valentynstadnytskyi9197 5 лет назад +5

      Could you please, provide a reference to your statement.

    • @Yogi_Bear-o8o
      @Yogi_Bear-o8o 5 лет назад +3

      @@valentynstadnytskyi9197
      www.infoworld.com/article/2616709/new-julia-language-seeks-to-be-the-c-for-scientists.html?page=2

  • @NickWindham
    @NickWindham Год назад +3

    Julia is great. The speed of C and simplicity of Python

  • @mgjulesdev
    @mgjulesdev 6 лет назад +16

    Go and Rust are very interesting options for me.

  • @matthewm.1598
    @matthewm.1598 6 лет назад +10

    Great information and clear presentation!
    Can't believe I watched the whole thing... But I feel like I understand each of them much better.

  • @jagc2206
    @jagc2206 5 лет назад +2

    That go sample has no concurrency, Idk why he said it did but defere has no concurrently build in.
    The "go" operator is used for concurrency, defer just means "run before return"

  • @99zombies61
    @99zombies61 5 лет назад +9

    Rust can't rust, it's the new contender in the industry and it's gaining ground realy fast.
    If you worked with cargo and rocket you will know what im talking about.

  • @AbhimanyuAryan
    @AbhimanyuAryan 3 года назад +5

    Julia is future of DATA: climate change, finance, economics, medicine, space, ......

  • @davidliu2446
    @davidliu2446 6 лет назад +16

    Go for servers, Rust for devices, Julia for intelligence, each has a base market as the best choice and other modern features for free.

    • @MarkusBurrer
      @MarkusBurrer 4 года назад

      Why not Rust for everything?

    • @siddharthupadhyay6347
      @siddharthupadhyay6347 4 года назад +2

      @@MarkusBurrer Rust is great for backend(Actix),good for OS development (Redox),good for developing modules for other languages(Writing python modules),and also for game dev(bevy) but Rust for machine learning won’t be a right choice.

    • @MarkusBurrer
      @MarkusBurrer 4 года назад +1

      @@siddharthupadhyay6347 I have no ML experience, so maybe you are right. But why? (Just curious)

    • @siddharthupadhyay6347
      @siddharthupadhyay6347 4 года назад +3

      @@MarkusBurrer When it comes down to ML you want to focus more on problem/project than on the programming language. That's what python allows you to do so.Rust has a steep learning curve,if I had been a scientist I won't choos rust,why ?,because I don't want to spend my time learning about ownership, borrowing etc instead I could be more productive on Python or Julia.

    • @MarkusBurrer
      @MarkusBurrer 4 года назад +2

      @@siddharthupadhyay6347 a few months ago I would agree, but meanwhile I have a different opinion. The Borrow Checker is nothing you have to fear if you have experience with functional programming.
      You only have a "steep learning curve" if you only know imperative or object-oriented programming.
      I would go even further and say you can be more productive with Rust if you climbed the hill learning Rust because you are forced by the compiler to write better code and the result is much faster.

  • @oleksandr6757
    @oleksandr6757 3 года назад +4

    Julia!

  • @skepticmoderate5790
    @skepticmoderate5790 5 лет назад +5

    At 30:30 his slide says that there's more infrastructure code than application code. This is definitely not true.

    • @valentynstadnytskyi9197
      @valentynstadnytskyi9197 5 лет назад +1

      Could you please, provide a reference to your statement.

    • @a0um
      @a0um 4 года назад +1

      Did the speaker provide a reference to HIS statement?

  • @trithong97
    @trithong97 4 года назад

    Picture in 23:59 above is Ken & DMR !

  • @BikkiBlazes
    @BikkiBlazes 6 лет назад +2

    ~10 min it shouldve been your supervisor that got sacked; here you have a team of efficiency hounds ready to hybridize all your work, he 's so content on the current clients that doesn't look forward for the companies next clients that need intensive C++ and older source code that can be translated as a service to itself. Whether the biz actually remains a client;.. certainly periodic maintenance reference. man. empathiess. am interested in Julia and Rust.

  •  6 лет назад +6

    What about nim language?

    • @sobanya_228
      @sobanya_228 6 лет назад +6

      Just like Crystal and D, didn't offer enough for a new language, didn't get adopted.

    • @russellchido
      @russellchido 6 лет назад +3

      Looks great, but it isn't at 1.0 yet.

    • @TB-tv2zf
      @TB-tv2zf 4 года назад +1

      It's a mighty nice language, only time will tell whether or not it will get adopted

    • @siddharthupadhyay6347
      @siddharthupadhyay6347 4 года назад +2

      I agree with you all.But I think every language here has a purpose, they fit exactly for what they were written for.I am unable to find a place for Nim to fit.

  • @billj5645
    @billj5645 Год назад

    It seems as if this is not a language problem, it's a compiler problem. Take the people who wrote the Rust compiler, tell them to apply those concepts to a new C++ compiler and you would probably achieve the same result. Tell them to apply those concepts and create a Pascal compiler and you might create the same result. It's not necessary to invent a new tool, evolve the shortcomings of the tool we already have.

  • @raskjaerbo
    @raskjaerbo 4 года назад +1

    Which do you reckon will be the future for audio engineering?

  • @andrewprice8439
    @andrewprice8439 Год назад

    How are these disruptive languages fairing today?

  • @freeelectron8261
    @freeelectron8261 6 лет назад +2

    Really interesting - an overview of these new languages and why they are needed today.

  • @Razmo12
    @Razmo12 5 лет назад +1

    Nice présentation, very smart analyse for the futur..

  • @nshusa99
    @nshusa99 6 лет назад +8

    I would argue Kotlin is a disruptive language. It was created to fix all the problems in Java and provide a language that's easy to use, less verbose as possible, and cross-platform. Kotlin is the reason Java has been in a big decline in the past few years. It's also happens to be taking over the android market.

    • @peppeppeppepp
      @peppeppeppepp 6 лет назад +5

      No problem with that. In the last minutes of the video there is a short ansver to one of the questions that there are some languages in the "mobile" space without being called by names. I would guess those are Kotlin and Swift.

    • @timlavers8010
      @timlavers8010 5 лет назад

      Kotlin is great. I think it might take over the J2EE space. Dart will win in user interface development I think, because of Flutter.

    • @nickssmirkingrevenge
      @nickssmirkingrevenge 5 лет назад

      +1 for Dart with Flutter vs Kotlin and Swift

  • @edgeeffect
    @edgeeffect 4 года назад +3

    Speaking as a Pascal enthusiast... I wouldn't say it's actually dead.... it could well be terminally ill... but not quite dead yet.

  • @pwil3058
    @pwil3058 5 лет назад +1

    I gave up Prolog when I realised that it was just another relational database.

  • @Speak4Yourself2
    @Speak4Yourself2 Год назад +1

    One of the videos which aged well.

  • @josecerezuela1850
    @josecerezuela1850 4 года назад

    Outstanding explanation. Thanks !!

  • @GrigorySapunov
    @GrigorySapunov 4 года назад

    Good overview, thanks!

  • @apivovarov2
    @apivovarov2 4 года назад +1

    Python rank is only #13? That is strange

  • @simondemarque2826
    @simondemarque2826 2 года назад

    what about hacking capabilities (in reverse, hacking identification), any language in germination ?

  • @austinmcdermott8500
    @austinmcdermott8500 4 года назад

    Rod Davison sounds eerily familiar to the Harvard Researcher George Church.

  • @dmytrodance
    @dmytrodance 5 лет назад

    Wow! Thank you!

  • @dhawaljoshi
    @dhawaljoshi Год назад

    well explained

  • @VKjkd
    @VKjkd 8 месяцев назад

    I’m not entirely sure Julia has captured much from R and Python? And if you need speed it’s not that hard to write. C++ extension (especially with rcpp in R). I’d like to use it but I’m interested in reality not fads. Does it give you more job opportunities? It’s been 5 years….

  • @gibenameplox
    @gibenameplox 6 лет назад +1

    Very informative!

  • @jaysanprogramming6818
    @jaysanprogramming6818 6 лет назад +2

    Very interesting! So if I want to get a job right now, I should learn Go, for a soon to be hired, it should be Rust and for future jobs, Julia will be the language to learn?

    • @PINGPONGROCKSBRAH
      @PINGPONGROCKSBRAH 6 лет назад +2

      It depends on what type of job you want. Rust is suited for lower level applications like embedded software while Julia is better for machine learning applications with big datasets.
      If you want a job NOW, Java, javascript, C, and Python are the languages you should be learning.

    • @julz19
      @julz19 6 лет назад +2

      Rust and wasm for soon to be hires.

    • @krux02
      @krux02 6 лет назад +3

      Nope, just learn what appeals to you the most, not what is popular.

    • @julz19
      @julz19 6 лет назад

      well, these new Programming languages has certain advantages over the older one's so there's a reason why they are popular, unlike the previous popular languages like Ruby

    • @jsonkody
      @jsonkody 6 лет назад

      For getting a job you should learn Java or Javascript. But dont stop there and look at these languages too. Anyway you will discover that programming is more or less same in many languages and that you will actually learn only things you daily use.

  • @juliocardenas4485
    @juliocardenas4485 3 года назад

    Quite informative

  • @faisalarisandipratama6730
    @faisalarisandipratama6730 5 лет назад

    Hello, I want to ask you something
    When you display list of Github most star language, where is Node.js?
    Just curious.
    Hehe.
    Don't bully me.
    I was about to learn Go and Julia.
    I didn't know there was Rust.
    I actually have seen Rust being mentioned by Ryan Dahl (creator of NodeJS) when he talk about his 10 mistakes when creating NodeJS, but I didn't have any idea what Rust are.
    Great explanation and comparison anyway.
    Thanks.

  • @swfsql
    @swfsql 6 лет назад +1

    amazing talk!

  • @NaumRusomarov
    @NaumRusomarov 5 лет назад +3

    Julia is a lot less disruptive than made here. If it succeeds it's probably gonna be a niche programming language for technical computing.

    • @timnoca7304
      @timnoca7304 5 лет назад

      Thanks for the comment Naum. Appreciate the debate..

    • @halneufmille
      @halneufmille 5 лет назад +16

      Sure. If you call science, engineering and artificial intelligence niche domains.

  • @devsutong
    @devsutong 4 года назад +4

    julia is bae

  • @NanBahlam
    @NanBahlam 5 лет назад

    Awesome!

  • @omegaman7377
    @omegaman7377 2 года назад

    I would learn Julia as a substitute to python. But the lack of OOP support of Rust and Go make them less attractive.

  • @RamkrishanYT
    @RamkrishanYT 4 года назад

    anyone got this recommended from watching the Pro Tech SMP server, lol?

  • @PaxiKaksi
    @PaxiKaksi 4 года назад

    So then Rust is simply for high tech ?

  • @jsonkody
    @jsonkody 5 лет назад +6

    Btw mascot of Go is one of best parts of lang .. dont be a #$%^

    • @NoahNobody
      @NoahNobody 2 года назад

      I agree. Have you seen the Gin logo? It's comical genius.

  • @iceboy88
    @iceboy88 5 лет назад +3

    I definitely agree about Go and Rust, but I really do not see how Julia is disruptive. I have a background in Big Data/ML and the speaker obviously does not. Julia is/was clearly a hype and my guess is that the speaker just followed his gut feeling to label it as disruptive. Instead of making judgements "based on the number we're looking at" (which numbers?), it would have been more helpful and transparent to provide some quantification for the "four criteria" and definition of "adoption rate". Anyways, thanks for sharing the video!

  • @avithedev
    @avithedev 2 года назад

    Did you Julia fall off of improve after this presentation

    • @grekiki
      @grekiki 2 года назад +1

      Used it last week, not that popular yet but not declining for now

  • @sicksparrow7023
    @sicksparrow7023 4 года назад

    Jeff Goldblum?

  • @androth1502
    @androth1502 5 лет назад

    looking at the data 2019, it seems julia has fallen further behind. of the three, go is still in the lead.

  • @edwarddejong8025
    @edwarddejong8025 6 лет назад +8

    Neither Rust, Julia or Go is sufficient improvement over prior languages to dislodge them. The central problem of software development today is the high number of errors that result due to human error. None of these languages make it significantly easier, hence the continued efforts to develop new languages that actually move the needle on overall lifecycle costs.

    • @antanaskiselis7919
      @antanaskiselis7919 6 лет назад

      That was always the problem. Not just today. So no, I don't think you're comment captures the essence of the question.

    • @etodemerzel2627
      @etodemerzel2627 5 лет назад

      Just make AI that'll program everything we need. And don't let humans near computers.

    • @jammer2000b
      @jammer2000b 5 лет назад +9

      As someone who has written rust I would disagree. Rust catches a lot of issues at compile time that no other language will catch. It is also a slower language to write and not a rapid prototyping language, which I would say is good, because it makes you think through what you are doing.
      Where as c# is a much faster language to write, but I always find i have more memory/logic/concurrency issues.
      I agree that logic errors are still a problem, but I think rust helps to some degree.

  • @AnonEMoose-mr8jm
    @AnonEMoose-mr8jm 5 лет назад +2

    Rust? Nothing of consequence is written in it. Is it even self hosting on x86 yet?

    • @nandoflorestan
      @nandoflorestan 5 лет назад +7

      Congratulations, you win the prize for the most ignorant comment in the entire comment area

  • @michaelmorris2300
    @michaelmorris2300 5 лет назад +3

    Faster than C++. Rust doesn't yet have the equivalent to C++'s placement new. So comments of Rust being faster than C++ must be comparing a well written Rust program, with a badly written C++ program. I have seen this type of assertion being made about Java vs C++ performance, where a Java program was claimed to be faster than the C++ equivalent. However, after it was pointed out that Java programs run on top of a JVM, which is actually a program written in C/C++ in the first place, the argument was put to bed. I can assure you, C/C++ will be at the top of the performance tree, with Fortran.

    • @ciso
      @ciso 2 года назад +1

      You should take a look at the "benchmarksgame" and "programming-language-benchmarks" pages (I can`t put the actual urls here because RUclips deletes messages with links). These benchmarks test different implementations of the specific algorithm that work best/worst in the respective languages. If you take a look at the "programming-language-benchmarks" page you can see how Rust compares to C/C++. The way that I interpret their results is that C++ is generally a bit slower than Rust, which is a bit slower than C. The "Energy Efficiency across Programming Languages" paper from 2017 comes to the same conclusion, but their benchmarks could be a bit outdated by now. But in general the speed differences are really not that large, when you compare them to all the other languages that exist.