The Pros and Cons of Python

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 87

  • @TechWithTim
    @TechWithTim  5 років тому +12

    "Go to www.hostinger.com/techwithtim and use code TECHWITHTIM to get up to 91% OFF yearly web hosting plans. Succeed faster!"

  • @Rassy_
    @Rassy_ 5 років тому +73

    You are only 19. Woah! I've really learnt alot from you! Respect

    • @pawanbhatt314
      @pawanbhatt314 4 роки тому +1

      even, I was so shocked after hearing that he's just 19, and in June 2020, I'll be 19 and still, I am struggling with CodeChef beginner's problem.
      you're an inspiration for me, Tim. ❤

  • @DerMaikNichJa
    @DerMaikNichJa 5 років тому +26

    Excellent. My motto: know the strengths and weaknesses of your tools first, then decide on the best tool for the job at hand.

  • @notme9670
    @notme9670 5 років тому +50

    print ("Like before watching")

  • @vibhasj8470
    @vibhasj8470 2 роки тому +6

    PROS :
    1) easy
    2) tons of resources
    3) good modules and packages
    4) good for web development
    5) machine learning and ai
    6) availability
    CONS : 7:16
    1) slow af
    2) bad for 3d rendering and game development (ex. cant use unity engine with python)
    3) python sucks on mobile
    4) global interpreter lock (u cant run more than 1 thread...at same time.. multi processing is much more difficult)
    5) not the best choice for larger projects ( more structured languages like java or c++ will be preferred)
    6) too flexible (lol) 10:48

  • @usharma1624
    @usharma1624 5 років тому +4

    I love your channel !
    I learn python in school but in school we just learn basic stuff.
    ( Assigning to variable and printing, creating arrays etc.)
    I got interest in Python and learnt some more stuff about it from your channel. Also! Its my first programming language.

  • @sticklebrix1756
    @sticklebrix1756 5 років тому +8

    My main con with Python is the documentation, it is awful, apparently having a nice easy to use link tree for all the classes/methods for a module is only something for other languages, as are things like specifying return types or examples with every class/method. The amount of scrolling and searching I have to do when using most Python docs is painful.
    Oh and the whole package manager mess... still.

  • @code9mill
    @code9mill 2 роки тому +2

    Python was my first deep dive into programming, after 4 years I will say it's great for gui and software because of the libraries, BUT it has some downfalls such as speed. I will say that the problems usually have a workaround though, such as animation in tkinter and ect.

  • @0colorad0
    @0colorad0 4 роки тому +1

    Can't afford to diverge as I'm already committed to Ruby on Rails, but I'm in love with indentation instead of 'end's and closing brackets

  • @pushpajitbiswas3752
    @pushpajitbiswas3752 5 років тому +11

    I love python and I also use it in competitive programing and try to unleash the power of c++ in a pythonic way 😊😊

    • @grizius4123
      @grizius4123 5 років тому +2

      U are my bro

    • @pushpajitbiswas3752
      @pushpajitbiswas3752 5 років тому

      @@grizius4123 seems like you love python too 😊😉

    • @grizius4123
      @grizius4123 5 років тому

      @@pushpajitbiswas3752 python is love python is life

    • @pushpajitbiswas3752
      @pushpajitbiswas3752 5 років тому +2

      @@grizius4123 Live your life in a pythonic way 😊 good luck

  • @juancarlospaco
    @juancarlospaco 5 років тому +3

    Nim lang, C like speed, Python like syntax, Rust like safety, Backend & Frontend.

  • @joaojulio435
    @joaojulio435 5 років тому +5

    Im a Data Science student,( freshman in a major on a Portuguese University) and I really enjoyed learning Python in my first trimester. Its just a simple and beautiful language, but like you said it's not good for mobile/game development and in my major we only gonna learn Python, R and SQL... So if i had to pickup a new language for app/game development what app do you recommend?
    And wowwww you are a year older then me, that'sssss crazyyyyy :)
    Keep up with this awesome videos!

    • @geetramchandani1167
      @geetramchandani1167 5 років тому +2

      Go for javascript( also known as the language of web).

    • @joaojulio435
      @joaojulio435 5 років тому +2

      @@geetramchandani1167 what is the difference between java and javascript?

    • @geetramchandani1167
      @geetramchandani1167 5 років тому +4

      @@joaojulio435 Tell me the difference between a car and carpenter.. Same goes with javascript and java. Javascript is a scripting language whereas java is not.. The DOM in javascript is great. While there is no DOM thing in Java.

    • @joaojulio435
      @joaojulio435 5 років тому

      @@geetramchandani1167 sorry this is all new to me :) But thanks for the help! When I finish this semester I will try to learn a little bit of javascript ;)

    • @geetramchandani1167
      @geetramchandani1167 5 років тому +1

      @@joaojulio435 Cool.

  • @MrLlangz
    @MrLlangz 5 років тому +9

    Still stuck on the fact that you're 19, just makes you a lot more awesome!

  • @pnsy-1189
    @pnsy-1189 5 років тому +3

    There is a game engine that has similar syntax like python, Godot, with GD script. And it super extremely good for making 3D games. Besides, game made by Godot can run on cross-platforms :D

  • @augustogoncalez6625
    @augustogoncalez6625 5 років тому +1

    Loved the video! Very clear and very informative! Thanks for the great content!

  • @SkyFly19853
    @SkyFly19853 5 років тому +16

    Cons of Python can be fixed by Cython and other extension to other languages.

    • @slr150
      @slr150 3 роки тому

      One major problem with languages such as Python is the language itself. For example Python has literals for lists, dictionaries etc... these objects can be unnecessarily slow/wasteful in single threaded use as they need to be protected against-data races in multithreaded contexts.
      The biggest crime is the wastefulness, new CPUs (such as the Apple M1) contain dedicated silicone that optimizes execution of instructions by assuming that data access is restricted to a single thread. However these assumptions cannot be made for the above literal types in Python as they need to work in multithreaded contexts, ultimately this means that the program cannot benefit from these hardware features.
      Advanced languages such as Java, C# and C++ defines a set of rules called the "Memory model" which provides fine grained control over how the CPU can optimize code for single threaded execution.

    • @SkyFly19853
      @SkyFly19853 3 роки тому

      @@slr150 but these C++, Java, etc. are too buggy and because of that, low performance... also, too much typing... slower development...

    • @slr150
      @slr150 3 роки тому

      @@SkyFly19853 You shouldn't be upgrading your CPU especially to any of the new RISC variants because python programs can't benifit from those. Not sure what you mean by " buggy" or "low performance" in C++ or Java these languages are not buggy.
      There is a dev time CPU time tradeoff between languages. Yes Python is faster to develop but it is at least 10 times slower than Java. It ultimately boils down to costs, Python is good when Development cost > compute cost, but this is not true in all cases.
      These days compute cost is determined by cloud vendors, for identical work loads a single compute farm could supply 1 Python customer or 10 Java customers meaning you get X10 saving in electricity, rent labor etc..

    • @SkyFly19853
      @SkyFly19853 3 роки тому

      @@slr150
      I do NOT plan to spend developing on Java or C++ by fixing its bugs ( typing errors, etc. )... instead, I can benefit from Cython, Cpython or even Iron Python... Civ 4, even other games or application made in Python. Eve Space Game made in Python... the reason why you think C++ is that you don't want to invest on Python or explore its true potential... there are over 8 million Python developers which can help each others to fix or improve Python even further... You don't really see such thing in Java or C++...

    • @slr150
      @slr150 3 роки тому +1

      @@SkyFly19853 Those so called typing errors are caught by the compiler . In Python, similar errors (e.g. using wrong variable name) can go uncaught until deployment time. Java, C++ also have communities that go into the millions. Personally I'm not afraid of new languages; I have used C, Java, C++, Go, Rust , Python, JavaScript, TypeScript. In my experience there is a place for every language, just don't go using Python for everything. Python is a good orchestrating language, that's why EVE-online uses it orchestrate components written in C++.

  • @lorensims4846
    @lorensims4846 4 роки тому +4

    I'm impressed with just how many times you say 'easy' or 'easier' or 'easiest' in your "pros".
    Your arguments sound a lot like the arguments I heard in the late '80s and early '90s for Tcl/Tk and why scripting languages are better than compiled languages because you can put practical projects together faster and more easily.
    In the late '90s and just after the turn of the millennium it was Perl that was talked about this way. I became a big fan of Perl, especially for text and data analysis, but now I hear it's passe.
    I looked into Python when it was new and liked it for a while but got bugged with the way I have to worry about what column the command starts in the way I've never had to do since COBOL in the early '80s. Again, like COBOL, it felt structured for the sake of structure which I've come to resent. Also scripting programming languages are too slow for my taste.
    I'm all in for C now, but if programming for Android use Kotlin, for iPhone use Swift.
    Yes, Python is everywhere Linux is, so is Perl, probably Tcl/Tk, and certainly C/C++ and probably even FORTRAN. I've seen some pretty impressive retro arcade clone games here that are programmed in Tcl/Tk by John Herrmann.
    The best I can figure is that Python is so popular because Python is so popular. It's the flavor of the decade.

  • @harimandhanjal3430
    @harimandhanjal3430 4 роки тому

    Hope you doing well. Your way of teaching was way better than pluralsight and Coursera. Thank you!

  • @jordanjackson6151
    @jordanjackson6151 7 місяців тому

    Yo. Tim. I'm rewatching this in 2024. I suggest if you want to do gaming.... do Lua. 2D framework would be LOVE 2D. But Its also great with 3D.... Like on Unity (Assuming you can code.... which many folks that flock to Unity just like to use borrowed assets).

  • @ettoreatalan8303
    @ettoreatalan8303 5 років тому +3

    The GDScript programming language in Godot game engine is very similar to Python.

  • @georgettebeulah4427
    @georgettebeulah4427 4 роки тому

    This is so true can relate to it very much

  • @DevlogBill
    @DevlogBill 2 роки тому

    Python is an excellent language; it was my first programming language before jumping onto JavaScript. Can it be said if you were to say the strongest ability of Python is automation? Not certain, but from my experience it seems this is its strength.

  • @unknownman5296
    @unknownman5296 4 роки тому

    great tip tim thanks !!!

  • @banlee100
    @banlee100 4 роки тому

    Good talk man, I personally cannot never accept Python lambda expressions, one of the most unforgivable element in a computer language, even worst then GOTO line number in Basic

  • @oyejohnson
    @oyejohnson 5 років тому +3

    Yeap Instagram still uses django

  • @Ryu53898
    @Ryu53898 5 років тому +8

    The biggest problem with python is the versions hell

  • @YaserAz
    @YaserAz 5 років тому

    This is a great video Tim!

  • @ohwow2074
    @ohwow2074 5 років тому +1

    Is it easier to have a Threaded program written in c++?

  • @malikkhodjaev9488
    @malikkhodjaev9488 5 років тому +1

    Hey Tim! Thank you for the video. But what about threading module for concurrency ?

    • @slr150
      @slr150 3 роки тому

      The biggest hinderance to this are the literal collection types (lists, dictionaries, etc..). They need to be protected against data races by sacrificing single threaded efficiency. This is also why Python can't take advantage of the wide fetch-decode pipeline in the new apple M1 silicone

  • @Indijanac88.
    @Indijanac88. 5 років тому

    Very nice

  • @anpham871
    @anpham871 5 років тому +2

    Am i the only one who thinks he looks like Notail in Dota2 ?

  • @michaelingley3703
    @michaelingley3703 5 років тому +5

    C++, Go, or Rust videos coming soon?

  • @potterhead9540
    @potterhead9540 5 років тому

    print (Tech With Tim is big brain and epic!)

  • @potterhead9540
    @potterhead9540 4 роки тому

    print (Awesome!)

  • @uditmakkar8440
    @uditmakkar8440 5 років тому +3

    Python cannot be used for front end development and client side scripting.
    Just like JavaScript

  • @0xRyoClips
    @0xRyoClips 5 років тому +1

    Hello

  • @Quidoute
    @Quidoute 3 роки тому

    listen boi if something is popular doesn't mean its great data scientist are using python just for the simplicity because programming is not there main thing

  • @georgeshafik3281
    @georgeshafik3281 5 років тому

    Great analysis Tim on Python’s Pros and Cons.
    I have a question which focuses on the two strengths of Python.
    Python leads the way in the Data Science space as far as supporting modules like Pandas, PyTorch, TensorFlow, NumPy, Scikit-Learn, Keras, MatPlotLib, SciPy … etc.
    Python also is a great solution for Web Applications and REST services.
    Overall if you are building a web site that is heavy on statistics in real-time, would it not be much better to write the whole thing in Python?
    The overall performance of a Python full-stack solution as described would actually be faster compared to other solutions because you are not building a lot of integration layers to perform the AI/Machine-Deep learning functionality of the site?
    For me, the only other solution that would tackle the same requirements as stated above is a Java (Spring/Spring Boot/Spring Security - Hibernate) and Scala full-stack. Even though this approach would significantly scale better the issue is Scala is still lacking many of the rich Data Science modules Python currently supports out of the box.
    Very interested in your and any of your subscriber's thoughts on this topic even if they tackle the same requirement as stated above using other languages like Ruby, Go, Elixir ... etc

  • @andrewwoan
    @andrewwoan 5 років тому +1

    why do i feel so dumb at coding

    • @Nickname732
      @Nickname732 4 роки тому

      Don't worry, you will be better later, just wait and practice

  • @tomershechner
    @tomershechner 5 років тому +1

    I kinda don't agree on the "has a lot of libraries" point. Compared to JS, Python has a very small amount of them.

    • @tttyyy949
      @tttyyy949 5 років тому +3

      I kinda don't care that you don't agree. Your argument is like "I kinda don't agree that apple is sweet. Compared to grapes apple is kinda sour!!!". Apple is sweet and python has a lot of libraries.

    • @ramimamadov5710
      @ramimamadov5710 4 роки тому

      ברור אחי

  • @insaneminer
    @insaneminer 4 роки тому

    Pythonic code is sometimes faster

  • @parth4976
    @parth4976 3 роки тому +1

    I did the 950th like

  • @johnpulido7879
    @johnpulido7879 3 роки тому

    You literally look like Marlon Langeland omg

  • @samsmusichub
    @samsmusichub 4 роки тому

    10 people build android apps in Java.

  • @8rian_tam
    @8rian_tam 5 років тому +1

    Is calculus really required to learn machine learning?

  • @leofreitasa9933
    @leofreitasa9933 5 років тому +1

    Don't talk shit about my son ;(

  • @Chuckk12
    @Chuckk12 5 років тому +1

    Some of my cons. Difficult to install, difficult to distribute to end users who don’t have python, no wysiwyg development environment

    • @sebastienlorentz5421
      @sebastienlorentz5421 5 років тому

      Where would you need a wysiswyg

    • @sebastienlorentz5421
      @sebastienlorentz5421 5 років тому +2

      rck Pyinstaller

    • @Chuckk12
      @Chuckk12 5 років тому

      Sebastien lorentz to develop a windows application with a user interface.

    • @Chuckk12
      @Chuckk12 5 років тому

      Sebastien lorentz not easy in a corporate environment behind firewalls. Why do they have to have tutorials for things like tensorflow? I still haven’t been able to install it correctly.

    • @Chuckk12
      @Chuckk12 5 років тому

      Sebastien lorentz will try pyinstaller and see if it works. Thanks!

  • @helloworld-vq9gq
    @helloworld-vq9gq 5 років тому

    Comment

  • @antondalagan6292
    @antondalagan6292 2 місяці тому

    Always throwing shade about Java. I'm personally attacked. lmao.

  • @preyasprathap
    @preyasprathap 5 років тому

    boom am i second?

  • @notme9670
    @notme9670 5 років тому +3

    OMG I'M FIRST

  • @monkeyrobotsinc.9875
    @monkeyrobotsinc.9875 2 роки тому +1

    Your hand magic is distracting me.