Why would a python programmer learn rust when there are no jobs in it

Поделиться
HTML-код
  • Опубликовано: 3 авг 2024
  • by Owen Synge
    At: MiniDebConf Hamburg 2019
    wiki.debian.org/DebianEvents/...
    Room: main
    Scheduled start: 2019-06-09 18:00:00
  • НаукаНаука

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

  • @djchrisi
    @djchrisi 5 лет назад +850

    RUclips recommendation system, you have not failed me this time.

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj 4 года назад +1

      17:51 ... C defines no ABI. ... An ABI is a mapping from the execution model of the language to a particular machine/operating system/compiler combination. It makes no sense to define one in the language specification because that runs the risk of excluding C implementations on some architectures.
      I'm questioning everything this guy sayd in the video now...

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

      @@Microphunktv-jb3kj Yeah on a theoretical level. But on a practical level, every "modern" system has a C ABI, well defined (call convention, data, etc., this varies between OS and architecture). I think it means the standard C-ABI to connect to kernel and standard libraries. In any case, there is no way to make it independent of architecture, so either you link to standard libraries, and you let them to do all ports (system convention to call kernel, syscall numbers varies on different architectures, also signal numbers, etc.), or one should get and use the standard C-ABI of the system and stdlib. C++ had a way to define call convention, so that we can link to stdlibraries (possibly just for libraries), instead of reinventing the wheel. Kotlin uses Java convention, so that it can be used just for one file, etc. This helps creating an ecosystem one step at a time. [Note: C is also not so neutral, it has many references on Unix system model]. Are there a "modern" system which doesn't support C (or a subset of C), and so an std C-ABI? You should go to Arduino-like environment, where you can define different C-ABI, but there are also no OS, and you should check that libraries are compatible (good: very little memory, so you have just few libraries).

    • @kartik_y
      @kartik_y 3 года назад +1

      Well, RUclips recommendation never disappointed me. But the trending section does.

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

      Same lol

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

      geeky🤓

  • @FamZheng
    @FamZheng 4 года назад +466

    With youtube you don't need a whole room of audience to make a great talk! Thank you for the overview, Owen!

  • @AliParlakci
    @AliParlakci 3 года назад +167

    He says Cargo scared him as it downloaded packages from web when building the project while in JS world people casually downloads 2Gigs of dependencies without knowing what they do or why they need them, just to display Hello World on the page. I wonder how a pleasant place the earth would be if Web developers were as cautious as system developers. Web would not have many problems which it has today.

    • @AliParlakci
      @AliParlakci 3 года назад +13

      @@JP-hr3xq I don't think DOM is the main problem. Browsers are improving. The standard API is getting better and better. Also, the features are now more consistent among browsers than before. It is just the developers who should change their mindset and start adopting the new things instead of being stuck in 2012.
      On the other hand, "a new way to create web pages" would bring nothing but pain. We would simply have to make every single mistake we did to actually have a robust technology.

    • @tinonoman5831
      @tinonoman5831 2 года назад +10

      @@JP-hr3xq LOL, beating the DOM into submission. I laughed so hard at this.

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

      @@AliParlakci what standard API? Everybody does their own API. Some of it is standardized, some of it only partially and some of it not at all.

  • @kennylindahl2885
    @kennylindahl2885 2 года назад +179

    Tip: Don't think of yourself as a "x programmer", it will only be in the way for learning new ideas and concepts (from other languages etc) even if you are hired as a "x developer".

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

      it is not in the way of learning new ideas and concepts for me to state what i work in mostly, but i get what you mean, you should not act like you are on an island

  • @eduardongu
    @eduardongu 4 года назад +257

    If Kurt Cobain was a programmer...

    • @realnice3672
      @realnice3672 3 года назад +2

      lol

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

      Encode for implements direct accept environments commands

    • @ToThoseWhoVanished
      @ToThoseWhoVanished 3 года назад +1

      He would be the man who sold the world for nirvana.

    • @mkjox
      @mkjox 3 года назад +1

      wow its mind blowing guess

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

      ...he'd be a heroin addict and blow his own brains out.

  • @ottodabolins1747
    @ottodabolins1747 3 года назад +223

    It's very intresting that he presented to like 10 people, but reached like 170k audience.

  • @richsadowsky8580
    @richsadowsky8580 2 года назад +93

    Nice video. Really appreciate it. I'm learning Rust. I've been programming 40 years and I'm a CTO. I started with tools like Turbo Pascal, assembly languages, C, C++, JavaScript, and my favorite: Python. I've always liked C and C++ but never loved it the way I love Python. These days I do a good amount of hobby programming in CircuitPython/MicroPython. As a CTO of a software development company, I am always trying to stay up-to-date on the major innovations in software dev. Rust caught my attention because I was interested in options to Arduino for producing binaries for microcontrollers. Watched a few introduction videos and setup the Rust toolchain on Mac and Linux machines. Loving it. Only only a couple of days in at this point but I already see how it offers solutions to many of the C/C++ pitfalls while producing the same type of high performance and memory efficient binary object code.

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

      woah

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

      Not sure that it will overtake C in terms of performance

    • @sang-suangam9772
      @sang-suangam9772 Год назад

      @@corpseopera
      think maybe BMC's C vs Rust,
      might be insightful...

  • @Yotanido
    @Yotanido 4 года назад +119

    Leaving out the semicolon is actually one of my favourite features of rust. It doesn't return the result of that expression - at least not in the sense that it returns from the function. The value of that expression becomes the value of the block.
    At any time (seriously), you can just create a code block with curly braces, do anything in it, and make it have a value by leaving out the semicolon. Need a code block to calculate the value of this function argument? Sure.
    Probably not a good idea with regards to readability, but you COULD.
    I absolutely love this feature and use it a lot. (In less frivolous cases, of course)

    • @trolledwoods377
      @trolledwoods377 4 года назад +19

      It also allows you to for example assign something to a match statement, if each arm of the match statement "returns" the same type. You can do it with if statements too. It's fricking lovely!

    • @lufra0mon
      @lufra0mon 2 года назад +11

      I sometimes find myself writing something like: let a = {/*do stuff here and return the value*/} in other languages and it saddens me when I get an error back. That's one of the reasons I love rust!

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

      Swift too! Also now in Swift you can omit return if it's the only line,
      `var foo: String { "hello" }` rather then `{ return "hello"; }`

  • @worldboy9684
    @worldboy9684 4 года назад +61

    Personal, practical, precise and perfect

  • @tomdworzanski8691
    @tomdworzanski8691 4 года назад +122

    Great talk. Very balanced. Just wish you had more time.

  • @jonassteinberg3779
    @jonassteinberg3779 3 года назад +10

    I found this talk to be not only about Rust but also kind of like...an older programmer lamenting and reflecting on the industry lol. Touching!

  • @walterdiaz2003
    @walterdiaz2003 3 года назад +45

    I came across this beautiful language when I was working on a bot for Twitter using Selenium, Java and the Gecko driver. I needed to make a quick change to the Gecko driver source code to meet my needs and I discovered Rust :). In the end, the change to the Gecko driver wasn't needed (a false positive) but it worth the time big time.
    Now I'm working on an e-commerce platform and I need to process XML files from vendors with payloads of more than 30 gigabytes. Rust is what I'm going to use.

    • @tinonoman5831
      @tinonoman5831 2 года назад +2

      @@JP-hr3xq Then you would hate dealing with government customers.

    • @timerertim
      @timerertim 2 года назад +3

      @@tinonoman5831 Who doesn't?

    • @brentsteyn6671
      @brentsteyn6671 2 года назад +3

      XML🤢🤮

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

      You would think that the most powerful organizational in your country would at least know how to upgrade from XML to JSON, makes you wonder of how vulnerable/outdated their systems are in general.

  • @almarn
    @almarn 4 года назад +24

    Very nice presentation. Very good knowledge of programming languages. Honest presentation also (pro and cons). Very rare.

  • @brainplot
    @brainplot 4 года назад +139

    Python being 100x slower than C is _very_ optimistic

    • @Tony_Goat
      @Tony_Goat 3 года назад +13

      @The good Fellow You're gonna feel it if you run the code repeatedly, over and over again. I prefer Python for code that I need to write and run only a handful of times.

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

      @Alex Davila i know i necro it but well does our CPU improved 100x times single thread over last 20 years? Probably not. So you move more then 20 years back in time from certain perspective. This is also what plagues stuff like Atom or VScode, that you could have notepad with lots of plugins for stuff you need 20 years ago and it was... more responsive then current notepads we are using.

    • @peter9477
      @peter9477 2 года назад +3

      If your Python is 100x slower than C, you're writing it wrong. Beginners iterate over a string one character at a time, in a for loop with an index variable, because they learned to do that in C, and their code does run 100x slower. No surprise there. Learn the proper Python paradigms and it's rare you'll notice a performance problem... partly because you'll already be done the next two projects, since it's so much faster writing it.

    • @RSC2194
      @RSC2194 2 года назад +5

      @@peter9477 a library function cannot replace a loop, what if you need to do a continue, break or pass? you just can't, python is fine if you 1) need to try something fast, 2) have no programming skills, 3) don't know how computer instructions work. If you think in python to develop software for production you are wrong

    • @moomoocow526
      @moomoocow526 2 года назад +3

      @@RSC2194 tell that to the entire machine learning industry

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

    Thanks for the Rust intro, I'm an old-guard C/C++ designer who worked myself into eight years of professional Python development, and am now reinventing myself in the web3 space and taking a serious look at Radix Scrypto, which they chose to build on top of Rust.

  • @ablanchi
    @ablanchi 4 года назад +38

    Who knew id be learning rust from Howard Moon

    • @RVRVRVRVR
      @RVRVRVRVR 4 года назад +5

      Some call him Rusty Jefferson- the oxide kid. Others call him Percy Python- He charms, THEN HE STRIKES.

  • @CypElf
    @CypElf 4 года назад +57

    I really love rust. It feels so good when you're programming and you know, you perfectly know that you won't let a big memory issue somewhere. The compiler's verbosity and the ownership system have become a must have for me (as well as the match structure)

  • @aloufin
    @aloufin 4 года назад +34

    LMFAO -- @22:32 like only 10 people in the crowd..... like a joke on how hardcore you have to be to stick around for a talk about rust. Great talk. got me pumped to learn it

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

    Great talk, would have loved to hear even more !

  • @snugglepuff33
    @snugglepuff33 4 года назад +235

    That is the coolest shirt I've ever seen. Please someone tell me where I can buy that, and port it to a vim color theme

    • @_tsu_
      @_tsu_ 4 года назад +5

      Kevin Waddle That’s atom’s one dark theme. Though it looks like he is using the vs code theme for some pics

    • @b.1851
      @b.1851 4 года назад +2

      i was thinkinmg the same thingg. that shirt bro

    • @this.channel
      @this.channel 4 года назад +3

      Makes me think of Liquorice allsorts www.charlesworthnuts.com.au/wp-content/uploads/2015/06/Licorice-Allsorts.jpg

  • @kamalkumarmukiri4267
    @kamalkumarmukiri4267 2 года назад +2

    Thanks for providing your insight on Rust programming.
    It is valuable session.

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

    I have watched this a few times.
    Just an honest and humble guy giving an overview and getting us curious

  • @armynyus9123
    @armynyus9123 3 года назад +2

    wow. exactly what I needed to know. Great Talk!!

  • @smeestad
    @smeestad 3 года назад +2

    Thank you for an excellent overview of Rust!

  • @sebastianwagner5843
    @sebastianwagner5843 4 года назад +11

    Thanks for the talk, Owen!

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

    just started learning rust 2- 3 days ago.. looking forward to it.
    great talk! thank you, bro!

  • @zachpsyrax5013
    @zachpsyrax5013 2 года назад +10

    I've been using C++ for years and just recently started trying out rust. Coming from C++ it was, for the most part, pretty quick to pick up on, although the traits and struct methods was a little awkward at first to learn since it was...unique? Pretty different than what I am used to syntactically. But either way, not bad to pick up.
    Mainly learning Rust since it is blowing up and may end up being the "new" C++ in modern times and, since I already know C++, might was well learn the more modern language, sort of like an investment.

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

    this guy is so cool. love hearing his talk!

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

    Great candid feedback, thank you.

  • @demg7738
    @demg7738 3 года назад +21

    No job ? If you go to a large company, then they have everything put on stream.
    In terms of changing languages or frameworks, they are very clumsy. But there are medium and small companies in which it is easier to realize yourself using your favorite programming language.
    To be honest... I'm very surprised that with containerization systems and microservice architecture development most companies are looking for specific language developers.
    Golang PR is everywhere and everywhere. If you want to be a "hamster", then you can not find a better choice IMO.
    But Rust is much more convenient for development and debugging (much more), it is faster and has all the necessary libraries for 99% of developers.
    We have been using Rust for about 1.5 year, and during this time it has almost de-facto become the main language for the backend.

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

      What enterprise grade framework would you recommend for Rust?

  •  4 года назад +36

    Nice talk! I would just note that network access doesn't really affect reproducibility of builds, since dependencies are locked during first successful compilation, so you can't get a different output from compilation unless you explicitly tell it to update dependencies.

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

      you can't guarantee the repo will be available and online and that the package you want will be available on it, so you can't guarantee reproducibility. also, it may be pedantic but I think it may also violate the concept of 'reproducible builds' because in theory a changed package on the repo could have the same name and version (presumably the rust repos have mechanisms against doing that, but you can't _guarantee_ it generally from the perspective of a client fetching over the network). there may be cached checksums or some other mechanisms in the package manager to prevent this? idk.

    • @alexrawson8492
      @alexrawson8492 4 года назад +5

      @@daniellissner4430 Cargo does not allow removing or modifying a published version from the package repositories for this exact reason. Unless git or equivalent is used to track a dependency, it is guaranteed that a version that was used can still be used.

    • @radiosification
      @radiosification 3 года назад +1

      @@alexrawson8492 What if the package repository shuts down and you need to continue maintaining legacy RUST code that relies on those packages?

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

      @@radiosification package repository doesn't shutdown. It is official and backed by big corps. Your questions is like "what if github shutdowns? How I will pull my repos?"

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

      @@ekremdincel1505 what if M$ start charging on a package update OR yor server needs AZURE account to access github? the latter most likely

  • @GreenClover0
    @GreenClover0 3 года назад +1

    I was surprised that so few people have shown up, great talk :^)

  • @Alex-dn7jq
    @Alex-dn7jq 4 года назад +8

    Compiler errors are a bloody good thing

  • @notgate2624
    @notgate2624 4 года назад +45

    I didn't really understand why you disliked rustup and cargo. Rust is one of the easiest languages ever to install because it's just a single command that will install everything for you on Windows and Linux. I've never found a language that was easier to get completely set up with. Cargo has had fewer issues than any other dependency management tool I've ever used (pip, npm, go). rustup and cargo are amazing and I didn't get why they made you 'scream'.
    Also, I think the error handling in Rust is better than any language I've seen. Exceptions in Python, C++, and Go are gross and verbose. Rust showed me the right way to do it.
    Rust has so many great things going for it but I do think that it's one of the hardest languages to learn. Of the most popular 20 languages, Rust takes the cake for being the most difficult.

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

      I personnally need offline compilations. Cargo checks online dependencies every time. You're required (currently) to use nightly in order to satisfy Cargo with local versions of external crates. This is also an issue when working with servers.

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

      Rust is a bit daunting to me because of all the syntax everywhere. At least with other languages I can understand by context what the keywords and syntax is from experience from other languages, but Rust has a lot of weird syntax quirks compared to the other big languages that make it hard to get into.

    • @mxBug
      @mxBug 4 года назад +6

      As he briefly mentioned, by trying to do everything themselves, rustup and cargo break the deployment and trust models of OS-level package management, which is not really a problem for independent users, but can certainly create problems for system administrators. You are right that it is one of the easiest compilers to install.... if you are not concerned with imaging an entire building's worth of workstations with it in a reproducible way.
      As he also mentioned, though, these problems are in the process of being solved, and are not a major reason to avoid the language.

    • @Rene-tu3fc
      @Rene-tu3fc 4 года назад +8

      ​@@dhkatz_ I agree that the syntax is a bit different, but there are lots of beginner guides, and the documentation for the syntax itself is very good. If you start with the rust book I think you'll have a good time. doc.rust-lang.org/stable/book/ I've been learning rust on and off for some weeks, and the book has helped me a lot. After you get used to it, you'll see that there really aren't so many different things. * and & are duals, ? is just a shorthand. The type system really is alien if you're not familiar with functional programming type systems, and it gets very tricky when lifetimes are part of it......... but.... still I think Rust is worth learning because it makes you smarter with every compiler error you figure out

    • @Rene-tu3fc
      @Rene-tu3fc 4 года назад +1

      I agree with you, rust's tooling is on par with the best. I think the error handling is well designed, but the fact that for ex: you need to use the failure:: crate to have a general error type that can be owned for me is a bit of a letdown. It took me weeks to learn about that lol.

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

    At last a an eye opener. All these things haunted me for a long time. Developing in Java . After that nightmare the light of using python.Then the need for transitioning. Everything clearly stated. Thanks Own for the useful explanation.

  • @Daniel_Zhu_a6f
    @Daniel_Zhu_a6f 3 года назад +6

    they even have pytorch and tensorflow in rust) definitely worth trying.

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

    Enjoyed this talk very much, thank you :)

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

    what an amazing presentation, clearly a very intelligent man

  • @optimumweb8594
    @optimumweb8594 3 года назад +1

    Absolutely amazing talk. Thank you so much for sharing this!

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

    Thanks a lot for the very approachable and credible talk!

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

    I stopped everything I was doing (admittedly java) at 7:07, that is so smart. Thank you for this video!

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

    Love to see all the 10 Rust devs in the audience

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

    Great talk, thanks.

  • @rppt
    @rppt 4 года назад +35

    7:05 : "The long and short of it is, you can be pretty fearless about writing multithreaded code because you'll get a type error and it won't compile if it's not THREAD-SAFE."
    It is NOT THREAD SAFE. This is hugely misleading, to the point of being wrong. When someone says “Rust is thread-safe”, Rustaceans in one common voice reply, “Rust is data-race-safe”. After that, folks get into a good conversation about what the difference is, and learn about deadlocks and other issue in threads. Data races is only part of the problem of thread safety.
    Generally speaking though, it does mean that multi-threaded programming in Rust is memory-safe, and won’t introduce a significant class of bugs that you see in C and C++, where so many exploits come from.

    • @md.fazlulkarim8847
      @md.fazlulkarim8847 3 года назад +2

      70% of Microsoft's updates and patches are released to fix the current memory issues.
      If you are a Rust programmer, you will find that in our imperative programming & OOP paradigm it's very easy to create a memory bug unless you are a developer with 5-10 years of experience. Oh, by the way, Microsoft is also trying to write some of their code in RUST.

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

      Eventhough Rust doesn't directly guarentee logical thread safety, pretty much all data structures ARE thread safe by default (or they can't be used across threads). Because a type is only Sync when all of it's fields are Sync you either have to wrap your non-thread-safe object in a Mutex, thus making it thread safe, or you have to explicitely write your struct to be thread-safe by only using thread-safe fields and having all methods explicitely take immutable references (since there can only ever be one mutable reference even across threads).
      Either way your code is pretty much guarenteed to be thread-safe. (In fact the only way to introduce non-thread safe code I can think of is by using unsafe)

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

      Deadlocks are not unsafe at all. They are just a bug.

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

      @@TheMrKeksLp oh god, please bring back holyC

  • @worldboy9684
    @worldboy9684 3 года назад +2

    Second watching, and I'm now a couple of "I'm out"s into learning Rust (not so much of a learning curve as a learning curb) - what a perfect talk this is, thanks man!

  • @JockeTF
    @JockeTF 5 лет назад +11

    Great talk, and great speaker!

  • @krischalkhanal2842
    @krischalkhanal2842 3 года назад +9

    12:50
    Error at line 1: The word "quiet" doesn't quite fit in the line.
    Suggestion: Replace it with "quite".

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

    Very enjoyable talk

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

    I came up here because of StackOverflow top loved languages.
    Great talk!! Thanks for sharing

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

    Great talk / lecture even 3 years on!

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

    I wish it was 50 min video and present didn't have to hurry.
    It was insightful.

  • @anirudh_cr
    @anirudh_cr 3 года назад +1

    Great talk, is there a follow up to this ? Could you kindly share those results of using rust in Python v/s only python?

  • @xTWiZTED
    @xTWiZTED 3 года назад +2

    This is such a great talk. Good job.

  • @md.fazlulkarim8847
    @md.fazlulkarim8847 3 года назад

    Very interesting talk.

  • @Diachron
    @Diachron 4 года назад +12

    Good perspective.. Wish you had more time).

  • @JoannaHammond
    @JoannaHammond 3 года назад +1

    For the same reason that when C++ came out there where no jobs for it.

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

    Interesting talk. The audio clipping at random points was brutal though.

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

    Fantastic talk

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

    all the new backend services in my company are now in rust

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

    Great talk

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

    excellent talk

  • @quantummath
    @quantummath 4 года назад +19

    Thanks for the talk. The Audio however ... goes back to when dinosaurs used wireless technology.

    • @soupedenuit
      @soupedenuit 4 года назад +7

      the audio was 100% fine

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

      Besides some pops near the beginning it was fine.

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

      sounds fine to me. It's either your speakers or your ears that's the problem.

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

    3:30 I use a commercial product called C++ Builder which helps clearup most of those problems. I also have some static and dynamic memory check tools to put the icing on the cake.
    And there are rules you need to follow that helps with doing multi threading. I actually have a device mgmt app, that has at least 10 threads running. Works flawlessly, you just have to learn how to do it once.

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

    Old but great talk!

  • @manofacertainrage856
    @manofacertainrage856 5 лет назад +23

    Python was released in 1991 and part of the Redhat package system shortly after that. Rust was announced in 2010, so it was ~20 years between the two.

    • @YoloMonstaaa
      @YoloMonstaaa 4 года назад +13

      Why would you use the release of one and announcement of another? Seems like a dumb way to compare things.

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

      Rust released in 2015.

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

      I haven't watched the video yet but maybe he is trying to correct a mistake made in the video.
      if that's not the case...ignore his comment as it is just a plain dumb way to compare things.

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

      @@stefanplusplus917 It's not dumb, it's interesting. Python's design and Rust's design are even further apart than their release dates. Thanks for finding that out John.

  • @dzarko55
    @dzarko55 2 года назад +3

    They can fix the fact that variables are immutable by default! Do the Fortran thing, force everyone to write "implicit none" at the start of every function, subroutine and program ;)
    Fortran added implicit types in the 70s (all variables are real (float) by default, unless they start with i, j, k, l, m or n, who would be integers. Hence, God is real). If you add "implicit none" at the start of the program, this is disabled, while still allowing old functions to be used.

    • @dzarko55
      @dzarko55 2 года назад +2

      "they" being c++/c.

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

    thb the MSVC error messages are the best I've ever seen

  • @artgreg2296
    @artgreg2296 3 года назад +1

    Because of webassembly you can start to learn rust with high probability using it at some point

  • @abdullahabd7677
    @abdullahabd7677 4 года назад +13

    If you are doing advanced programming using python learn rust.
    If you are doing intermediate level programming using python learn JavaScript.
    My belief is that you should always use python in conjunction with other things.

  • @vicroberts3080
    @vicroberts3080 3 года назад +2

    Bro I code mostly in 80s cobol but our company will allegedly phase it out in a few years. Most of what I do in cobol is parsing / processing data file inputs and create report outputs. I also query sql database and process the raw data input and create a report output.
    Would python or rust be a good option to replace cobol for file processing / sql data processing to create reports?
    Cobol is static typed and it looks like python is dynamic but there are tools to static type functions I believe. It looks like rust is static typed. Thanks for your input. I really don’t need to do anything else for my job except process files with mostly fixed lengthy records and create reports. Cheers !

  • @ThePandaGuitar
    @ThePandaGuitar 3 года назад +2

    No exceptions and no inheritance were reason enough for me to switch. F yeah finally.

    • @xnoreq
      @xnoreq 3 года назад +2

      Noexcept and nobody forces you to do inheritance in C++. :P A good reason not to use C++ is that it is an unfathomably complex mess sprinkled with arbitrary rules and exceptions to those rules and undefined behavior and unfixable flaws in the language design, partly due to backwards compatibility with C.

  • @ph0sgene967
    @ph0sgene967 3 года назад +2

    oh my god im literally a python programmer learning rust right now LMAO HOLY SHIT

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

    Gives a presentation to 10 guys in a room. Now viewed by almost 300,000 people. Time for me to try Rust.

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

    2023... Three and a half years later after this talk. Have the issues been ironed out? Has this talk aged well?

  • @xpdseth
    @xpdseth 3 года назад +1

    You CAN get performance increase if you do multi-threading IF the task is IO bound.

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

      Green threads are better at IO

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

    When did Howard Moon start giving programming talks?

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

    Great talk! Would you recommended Rust over Golang?

    • @johndoe-gt4rx
      @johndoe-gt4rx 4 года назад +3

      Go is better suited for concurrency and general purpose applications while rust is more focused on speed, memory safety, and security in general.

    • @xnoreq
      @xnoreq 3 года назад +2

      @@johndoe-gt4rx Go is bad for concurrency. It has no protections in the compiler against data races, unlike Rust. But since Go actually forces you to do concurrency, it's a bad language overall.
      The only "good" thing about Go is its huge marketing budget.

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

      Maybe this video could help: ruclips.net/video/5cEunr8hPE0/видео.html

    • @ekremdincel1505
      @ekremdincel1505 3 года назад +2

      @@johndoe-gt4rx Go is not better suited for concurrency at all, simplicity is a lie.

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

    3.8-9 python will be able to spawn multiple interpreters from one process so the Gil is less of a problem

  • @TB-tv2zf
    @TB-tv2zf 3 года назад

    Is that the Nim lang logo on your shirt?

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

    You can get past the global interpreter lock with multiprocessing module; people just mistake multi threading module with actual multi threading but it’s just concurrency on a single cpu (pythons mistake in naming)

  • @user-jd3gf5xw1x
    @user-jd3gf5xw1x 2 года назад +3

    am a newb python programmer, haven't watched the video, I want to learn rust because people says how python is slow and takes a lot of RAM, and that C++ is difficult for beginners and Rust is as fast or faster than C++. I've also seen ther Rust community, and I love it. Rust is still growing right now, so I want to grow with it, and know all of the ins and outs

  • @julianocamargo6674
    @julianocamargo6674 3 года назад +2

    "Keep the language small and flexible". Listen up, C++!

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

    This aged well

  • @2002budokan
    @2002budokan 3 года назад +4

    In fact Python is a glue language. It's real power come from C libraries. At the beginning I loved it. But now I realize that it has many issues when it comes to concurrency.

    • @Agrover112
      @Agrover112 3 года назад +1

      Well it serves more as a wrapper . It is well ibtegrated with Cython and CUDA these days tbh

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

    I like when they do close ups of speakers giving presentations, because then I can see the emotion on their face more easily, which is, ultimately, what we're all really interested in.

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

    When you jit compile Python (way too easy with numba) it´s just almos as fast as optimized C++, much faster than "fast enough". There´s simply no reason to not jit compile i99% of functions. NUMBA IS MAGICAL for Python, makes it from dozens to hundreds of times faster.

  • @snooks5607
    @snooks5607 4 года назад +5

    they should get a compressor for that mic .. horrible peaking every couple of minutes

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

    Hi Owen!

  • @jabuci
    @jabuci 5 лет назад +19

    I'm learning Rust and it's pretty good so far.

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

      @L P Well, No. Not at all. If you compare Rust an C++ for example there is a huge difference.
      C/C++ gives you a knife and let you cut wherever you want until you're dead. Rust gives you a knife, but tells you where you can cut safely and stops you from cutting if it is dangerous. And you notice that from the first line of code

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

      @@MarkusBurrer C++ doesn't give you a knife. C++ is a blade without a handle with rusty nails sticking out randomly.

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

    Thanks, RUclips algorithm.

  • @kwkfortythree39
    @kwkfortythree39 4 года назад +7

    Because there is no infinite time, RAM nor electricity to run your program

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

    Nice talk i like

  • @skjoldgames
    @skjoldgames 2 года назад +2

    I could see the benefit for engineering new software from scratch, but the use cases of Rust are way above my pay grade. Cpp is always going to be relevant in game dev.

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

    Did you get slower while learning python

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

    "Rust was first announced approximately ten years after python???"
    Python came out in 1990. Rust came out in 2010. That's a difference of twenty years!

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

    What a fucking cool sweater that dude has.

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

    Python and Rust what a power couple

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

    There is something to be said about being about to compile your code on a Win95 machine and then simply copy it onto a latest windows release and in some cases Wine... and it just works. The same can be said about SOME perl and python... so at least they are somewhat better... until python 3 and perl 6. We do not need more languages. We need things that are safe, secure, easy, and somewhat fun... and will run forever. We do not need a variation of readstring for every lang... that was a dig on the nodejs package that was invalidated by a disgruntled js dev.

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

    Most of the things I know I won't use for work

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

    Rust is such a joy to use, can't wait for the job offers to start raining down. My inbox is all open.