Python vs. Scala - which one should YOU learn?

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

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

  • @GamerPCForever
    @GamerPCForever 3 года назад +36

    I needed to use spark as a data engineer (Jr) and as soon as I wrote some code I fell in love with Scala. It is BEAUTIFUL. I like doing math and I think Scala is really relatable if you have that 'mathematical thinking'. I'm really into learning Scala deeply just for fun =)

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

      check rust as well
      scala is for java as rust is for C
      theyre very lookalike

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

      @Paulo de Tarso N R
      Absolutely! Though, i'll just go for scala as for today, until rust widely used enough.
      In my country, u wont get a job as rust devs. Even some older cs grads dont even know what rust is

    • @shneor.e
      @shneor.e Год назад +1

      @@desrucca what country is that?

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

      If you’re enjoying the mathematical thinking aspect of scala, I’d recommend having a look at Haskell. It’s a pure functional language that takes that mathematical thinking to the extreme. I love it!

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

    I liked these sort of videos, thanks. Talking about differences, strengths, weaknesses of a language may really help programmers draw the bigger picture and understand the language.

  • @mikolajwojnicki2169
    @mikolajwojnicki2169 4 года назад +23

    I started a degree in data science half a year ago and I was a bit weirded out that we're being taught Scala and not Python. It seems these days that Python is the way to go for analysing data, but I'm now starting to understand that Scala might allow me to achieve more. It's probably the better tool for "professionals".

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

      Oh that's interesting! I definitely would've thought a degree program would favor python.

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

      Do you think that scala is going to replace python? Or that will never happened and python will be forever the best language for data scienfia and AI?

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

      No way is scala better for data science... Python is way more the way to go for that field. Sometimes professors just dont know and arent practical.

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

      @@AnthonyCrouchPhotography I think it really depends. Data science is a large field, so black and white statement rarely holds true for all things. Scala is actually better suited for handling real big data, whereas if your definition of data science is deep learning, then sure Python has a big advantage.

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

    Lucky enough to be in a gig for which Scala is a must learn skill. But, I'm enjoying learning Python, too. I find that much of what I learn in FP is transferrable to Python. Finally hanging up my Perl spurs after 20 years. Change is good. Nice vid and glad I watched it.

  • @CPORD-ss2db
    @CPORD-ss2db 3 года назад +10

    I really really admire Scala developers!

  • @xavierlevaux621
    @xavierlevaux621 3 года назад +11

    I'm mainly a Java developer. I had the opportunity to do a job in Elixir. It took some time to adapt to functional programming and pattern matching.
    But once you get it, wow, that's amazing. I think that the main requirements for calling something functional is:
    How much you avoid mutation and side effects.
    So I think many people call something functional just because you've streams and lambdas. But that's not what makes your code functional.
    Immutability, pure functions, side effect free, pattern matching, those are thing I would dream to be part of the top languages.
    Scala certainly supports functional programming very well. Python I doubt it. It has qualities of course, but we cannot say that it a functional language.
    Unfortunately, it will still take some time before we get there.

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

      As a Java programmer, who recently moved to Scala world due to new job, I can see where you're coming from. I agree with your view and I am starting to love Scala.

  • @EddieEnriquez
    @EddieEnriquez 4 года назад +14

    Super well explained, thank you. Yes, please make more videos, especially ones that compare different programs.

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

      So which one is better language for Data Engineer?

    • @user-cb4pv5ip5i
      @user-cb4pv5ip5i 4 года назад +2

      @@norpriest521 if you're just getting started in getting a job - go for Python, there's plenty of jobs, and salaries are pretty decent. if you already have one, and you want to boost your salary - go learn Scala

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

    even tho scala isnt as popular, i see more job offers for scala (or java that also requires scala) than python
    i myself love scala cuz once you get used to the language, i find it simpler to program on it rather than on java due to less verbosity

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

    Scala 3 will change things a lot because it will be much more precise and clear.
    Implicit s will move to gives which is a much smoother to read.
    The defining of DSL with scala is rock n roll if you you're trying to define a business domain.
    I think the introduction into the language has to be much more high level.

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

    Every new release of spark has it shifting more towards being python and sql focused in its api. So many data scientist, analysts, and data engineers are shifting to big data, and they don't want to use scala.

  • @einfacherkerl3279
    @einfacherkerl3279 6 месяцев назад +1

    with scala you learn a different programming paradigm. after learning scala I'm able to think n write code in much better way. it's mostly immutable, functional styled, pure functions and terse but still easier to understand. unfortunately scala does not have big market but definitely recommend learning it. you will enjoy the way you can write functions in it.

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

    I have been working with both and i have to say that for anything Big Data i prefer Scala. Python just feels weak when you start to work with over 5 Million Datapoints. It still works but it just takes alot longer.

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

    I know that scala is pretty hard when you come from Object-oriented programming such as Java or Python; however; it becomes much easier when you learn a purely functional programming before as Haskell. I’ve actually spent many months trying to think in a functional way but it was too much difficult to get the fluency in it. Then, I learned Haskell, and finally Scala become much easier to code.
    Anyway, I really liked the way that you approach this very important subject. Congrats!

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

      Thank you for the Hsskell tip!

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

      Isn't Haskell a dying language according to many tech sources?

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

      @@norpriest521 does it matter ? the advice of learning it before Scala is still valid I think, his point is that it teaches you the dynamic of using a functional paradigm and gets you more prepared to tackle Scala

    • @ABHISHEKSINGH-nv1se
      @ABHISHEKSINGH-nv1se 3 года назад +1

      @@norpriest521 There are many languages which are dying for many years but still not dead.

    • @einfacherkerl3279
      @einfacherkerl3279 6 месяцев назад

      ​@@ABHISHEKSINGH-nv1sedecaying takes more time for such things.

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

    Thanks for the clarity. I love working with computers and have been really anxious about learning to speak either language lol

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

    It is a Saturday, and the weather is absolutely perfect outside here in the Bay Area, and well no wonder I, a software engineer, am listening this while working on my Scala code 🤣

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

    Scala 3 null pointers are gone. Monads seem scary but so you're protected to from accessing a collection outside the bound or you're missing one element.
    The new tasty compiler makes using extreme powerful type system way more concise. Adding functional to library classes with extension methods are magical. The new simplified implicit syntax with using and given makes reasoning about code way easier.
    So I am sure scala will get way more traction after the huge improvement scala 3 and the faster compilet.

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

    Python? Scala? Why not both?! I choose you, Julia!

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

      What's important is, did Julia choose you?

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

    Your videos are really good..please pleas please continue making your high quality content...👏👏👌👌

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

    Very informative, Ivan. Thanks.

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

    i'm java developer and python programmer. i suggest for data science for learn scala because scala is too fast. more than 10 times faster than python so scala is good. and also for java developers scala is easy to learn and also work tougher with java and scala. scala is good for java lovers. like me.

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

      Lol, so why use scala? why not use java?

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

      @@KyivanEnjoyer Depends on what you need Scala for.
      In my opinion, it's nicer to write OOP in Scala, code more concise and awesome pattern matching, plus of course the whole FP thing

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

    Hi awesome video. By the way. I always love all 2 programming language.

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

    There arent many more honest opinion than this on language comparison. The guy should become a yoda. :))

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

    I would consider Julia too.

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

    scala-java can interop so well that scala can simply be treated as "java-version-99". That is, after a while, when big data tooling such as spark or zeppelin bring scala to all "ordinary" app teams -- I believe eventually, gradually, and pretty quickly, that will happen. Many people think scala is FP; true; but the basic FP is just immutability, which nowadays good java also should do. So, perhaps we should not put too much emphasis on FP when we mention scala. Advanced FP is an important and "sufficient condition", but not the "necessary condition" -- scala will be popular simply because there are many tools using it and it is a cleaner java. That should be enough for it to be popular.

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

    Very helpful. Thanks!

  • @123deepakkakkar
    @123deepakkakkar 4 года назад +2

    Well Explained

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

    Python is the worst insecure language of them all, while Scala is the safest and most flexible. Scala is excellent, but Python is horrible.

    • @edilgin622
      @edilgin622 Год назад +2

      good luck surviving the industry with that attitude

    • @1apostoli
      @1apostoli 2 месяца назад

      most insecure how

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

    Decent intro. Made the same points several times. Could have been more succinct

  • @divit00
    @divit00 5 месяцев назад

    I do not like Scala's 1000 ways to do the same thing. Sometimes it gets very difficult to understand the answers because of various different syntax.

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

    cool video, maybe more picture tables ppt will help us to understand your points more easily especially when your story is more complex.

  • @bartonpetersen2503
    @bartonpetersen2503 4 года назад +9

    "functional. People say that... a lot." Rofl!

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

      barton! you know it brotha. #functional4lyfe

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

    Scala also has a REPL

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

    Nice video! subbed!

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

    The answer of the dilemma python vs scala is…. YES. Any developer should learn a scripting language and a compiled language

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

    Cool.

  • @vd.se.17
    @vd.se.17 4 года назад +3

    Can any one share their experience that how much time they spend to learn scala...

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

      at least 2 years) Java will take max 1 month:) If we talk about 'not first language'

    • @vd.se.17
      @vd.se.17 4 года назад +1

      @@KyivanEnjoyer Thank you very much Andrew.

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

    this not fair why doese he has 14k views but 358 sub imma change it to 359

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

    Would you recommend someone who knows Python to learn basics of Java before learning Scala?

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

      As someone who's been using Python exclusively in professional life, I would say no. I started learning Java and Scala around the same time and noticed that learning Java first didn't really teach me anything I couldn't have learned with only using Scala. Going from Python to Scala/Java really isn't about learning syntax, it's about learning the paradigm and getting used to types and such. This comes naturally to some people as Python is strongly typed, as opposed to JS for example. All in all, if you are a fast learner and like a challenge, jump right into Scala because it's easier to learn Java as a Scala dev rather than Scala as a Java dev in my opinion.

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

      ​@@TheHehhoi Thanks, TheHehhoi. There was a post after yours that suggests learning a functional program like Haskell first to help better understand Scala. For a newbie, would you agree? Any advise would be greatly appreciated.

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

      @@EddieEnriquez I have no first-hand experience in Haskell so I can't really comment on that. What I've gathered from discussions around this topic, it is certainly helpful to know a functional language or at least how functional programming works. Personally I don't think it's good use of time to learn one language only to learn another, especially because Scala is, I think, more diverse than f.e Haskell.

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

      @@TheHehhoi thanks, TheHehhoi, for taking the time to respond back to me, I really appreciate the advice.

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

      @@TheHehhoi
      What about python data engineer like someone who works with data warehouse, data pipeline management, etl, sql, etc?
      Should they learn Scala at all when they're already good at Python?

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

    And what about machine learning? Scala or python? Which one has best tools and accurate one?

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

      @@danielmbcn Not so clear cut if you're working in big data: Apache Spark is written in Scala.

  • @michaltk
    @michaltk 4 года назад +10

    Interpreted vs. Compiled.
    Dynamically typed vs. Statically typed.
    Easy to learn vs. You better know some java.
    Terrible vs. Alright lol 😆😂

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

    Python is not easy, it's depends what you call easy, Python is harder than Scala, that facade of simpler concepts and indentation can fool you, just look at multiple inheritance, MRO, and everything implemented internally as dictionaries from objects to static fields, classes ... etc etc, Scala stole some successful concepts from Python, like a star to break a list before feeding it to a function, higher order function, that is a pure Python thing, Scala i just watched half of the rockthejvm courses on it the best on the internet on that language, the good thing of it is accessing the JVM, scala is best described as a new take a programming language by a company that was around for 30 years, with the java language, lost it's popularity, scala is their new take on programming languages with all the advancements of the JVM, the things that i don't like about it but iam not an expert, is Scala has too many concepts, monoids, monads, partial functions, case classes ... objects in their weird way, it's definitely a language i want to learn for the JVM, but in my opinion to last they should simplify it, and it looks that in Scala 3 they didn't take that route, they added even more concepts, i think most of them are useless, that where python shines, but the problem with the latter, the nerdy stuff is hard to find explanations for, python has a very exhaustive official documentation, Scala on the hand is pretty terrible on that side the official docs are horrendous

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

    if companies dont use scala, most likely you dont get a job..

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

    What about Kotlin ?

    • @user-cb4pv5ip5i
      @user-cb4pv5ip5i 4 года назад +4

      I don't think it was designed to solve the same problems as Scala, Kotlin is rather a language for mobile development

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

      Kotlin can be seen as replacement of Java. Scala is object oriented and functional which Java and Kotlin are not

  • @mariobroselli3642
    @mariobroselli3642 5 месяцев назад

    Learn OCaml 😮

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

    Scala is a Better language overall: expressive, concise, super typing stuff, immutability first, functional ecc
    Too bad working with it is a miserabile experience. Poor tooling, the proposed build tool SBT is garbage. Even packaging a simple spark app is a chore. Compatibility issues and stuff.. all things a python developer doesn't ever need to care about. Stay away if possible...

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

    Data? take Julia!!!

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

    ?

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

    I prefer python

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

    Scala has an interpreter too, this is not an outstanding feature, even Java has a repl nowdays.

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

    Scala is an unpopular and dying language. Choose Python, it is much more popular, more popular => more jobs => easier to get a job.

    • @MrDejvidkit
      @MrDejvidkit 7 месяцев назад +2

      That is not true. We use it more than ever.