The Python Programming Deception?

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ม.ค. 2019
  • The talk around the nerd town is that Python is the way to go. It is the popular growing language that can only lead to developer riches. But is that really true?
    Is Python really that much better than C#, Java or JavaScript, when it comes to jobs and what you can make as a python developer?
    Python homepage:
    www.python.org/
    Python Jobs:
    www.indeed.com/q-Python-Devel...
    My popular courses:
    Learn web development fast: shop.killervideostore.com/
    Learn Python 3 fast: www.killervideostore.com/python/
    My business courses:
    Complete Freelancer: www.killervideostore.com/free...
    Complete Entrepreneur: www.killervideostore.com/vide...
    My social links:
    Instagram: stefanmisch...
    Twitter: / killersites
    Thanks!
    Stef
    #pythonjobs #pythondeveloper

ความคิดเห็น • 1.2K

  • @StefanMischook
    @StefanMischook  4 ปีที่แล้ว +15

    Learn to write Python from an ancient nerd: school.studioweb.com/store/course/beginners_python_3_&_career_paths

  • @Big_Tex
    @Big_Tex 5 ปีที่แล้ว +538

    That does it, I'm sticking with Fortran and COBOL.

    • @zakofrx
      @zakofrx 5 ปีที่แล้ว +8

      How long until another year 2000 type problem when all the Cobol software will need to be changed again.

    • @Big_Tex
      @Big_Tex 5 ปีที่แล้ว +30

      The year 10,000 AD ...

    • @ChatGPT1111
      @ChatGPT1111 5 ปีที่แล้ว +11

      Abacus 1.0 with one hand is da bomb.

    • @cu806
      @cu806 5 ปีที่แล้ว +5

      Please dknt forget JCL

    • @johngonzales3528
      @johngonzales3528 5 ปีที่แล้ว +10

      Algol and Pascal rule

  • @ochiorbus
    @ochiorbus 5 ปีที่แล้ว +744

    I can see this guy in a retro mafia movie.

    • @viatrufka
      @viatrufka 5 ปีที่แล้ว +11

      As a godfather? ;)

    • @Mnerd7368
      @Mnerd7368 5 ปีที่แล้ว

      Lol 😂

    • @karmaindustrie
      @karmaindustrie 5 ปีที่แล้ว +32

      @@viatrufka as a full stack serial killer?

    • @viatrufka
      @viatrufka 5 ปีที่แล้ว +7

      full stack serial killer was actually good ;)

    • @StefanMischook
      @StefanMischook  5 ปีที่แล้ว +16

      You have no idea!! I am from Montreal you know! ;)

  • @pinkdiscomosh2766
    @pinkdiscomosh2766 4 ปีที่แล้ว +26

    I made the same realization back when I first started programming. I started out learning Python only to realize that there weren’t very many jobs in my area for it. I’ve since moved to another state and that is still true. Python is just not a very common language for anything else other than AI or Machine learning which most of the jobs are reserved for those who have bachelors degrees. But recently I’ve gone back to python after building a career on PHP and full stack JavaScript. I mostly use python for command line tools and automation scripting. I find the language and library‘s very useful for this sort of thing, especially if you want to build utilities around your projects that make your job easier. One of the companies I’ve worked for had a lot of conventions around version control all the way down to how to name your branches and how to format your pull requests. I wrote a command line tool in python to automate this process since it can be a bit cumbersome to remember all of the conventions. I’ve written a couple of fun web apps with python but will probably never take it seriously as it will most likely never pay my bills as a web developer in my area. PHP and node by far dominate web development in my area along with Java.

  • @xbmarx
    @xbmarx 5 ปีที่แล้ว +364

    I was at a conference and I met a guy who was working as a data scientist at a big company. I asked him what language to learn, Python or R.
    He said, "Neither, go learn graduate-level statistics" lol

    • @purpleice2343
      @purpleice2343 5 ปีที่แล้ว +29

      Don't tell me they are using Matlab.

    • @codyjohnson1438
      @codyjohnson1438 5 ปีที่แล้ว +122

      Statistically, you only talked to one person, so that's useless ;P

    • @drazail1938
      @drazail1938 5 ปีที่แล้ว +22

      data scientists usually just analyse the data generated by the code computer scientists wrote, and thus are oblivious to the whole world that is AI.
      I asked the same thing from one of my friends who is also working at a big data science firm and he said , " well, the language doesn't matter as analyzing the data is more important than what package you use" 🤦‍♂️

    • @codyjohnson1438
      @codyjohnson1438 5 ปีที่แล้ว +23

      If you're using more than Excel, you're over thinking the problem. says a dude that knew a dude

    • @gigik64
      @gigik64 5 ปีที่แล้ว +42

      Which is bullshit. I’m currently completing an MSc Statistics, and interning in a DS division. And trust me, unfortunately for me the coding part dominates 90:1. Like okay, you need to be kind of stronger than most people on math and stats, but nobody is ever gonna ask you to derive White’s test for heteroskedasticity, or the Cramer Rao inequality, or to prove the Rao-Blackwell theorem. You need a 10th of what they teach you in a MSc Stats, and 10 times the coding skills.

  • @mysteriousbillionaire7349
    @mysteriousbillionaire7349 5 ปีที่แล้ว +186

    As soon as you start learning a program, there’s a recommendation video of what you cannot do in that language and why you rather learn another one. Stick to one language and stop watching videos like these

    • @onee
      @onee 4 ปีที่แล้ว +11

      I completely agree. I think that it would be better to clearly know what you want to do first. And based on that pick a language.

    • @samahsaeed1261
      @samahsaeed1261 4 ปีที่แล้ว +18

      Cannot agree more, I'm sticking to python until I understand what is going on

    • @Loves2spooch123
      @Loves2spooch123 4 ปีที่แล้ว +4

      @@samahsaeed1261 this. I'm glad to see you didn't get discouraged. I learned python as my first language and helped me learn the basic concepts. Now I'm learning Java and flutter. I don't regret learning python. I use it on the backend of my project apps.

    • @king_big_pp
      @king_big_pp 4 ปีที่แล้ว +12

      Thank you! Shit like this is why I didn't start learning for years, I'd continuously second guess myself thanks to clickbait videos like this.

    • @ibexy
      @ibexy 4 ปีที่แล้ว +2

      Absolutely! Stick to one thing and become a guru in it. Too much confusing recommendations.

  • @ricsanders69
    @ricsanders69 5 ปีที่แล้ว +260

    Python is just a tool....if you show up as an electrician with only a screwdriver in your tool belt...you will have a hard time of it! Using Python...or any language for that matter...to help you understand the concepts of programming/programs can be very beneficial....like understanding control statements, loops, how to use variables and the different types, etc. I'm not sure I've ever met anyone who just learned Python and then thought they were good to go for employment! :-) When I was 13 I picked up a BASIC book and read it front to back...several times. As a teenager I knew what I wanted to do when I grew up! I will be turning 50 pretty soon and have been a Developer for many years...I still love reading those programming books! Being self-taught from such a young age certainly helped me...but I think you can get into it no matter what you do. Peace!

    • @omaghphil
      @omaghphil 5 ปีที่แล้ว +6

      Python is a toy

    • @jumarashid7737
      @jumarashid7737 5 ปีที่แล้ว +2

      Personally i am into python my 3rd certification but am doing it for my electronics projects since am an electronics engineer..
      Again i have java & C but in this field Python works best since in embedded systems there's much more than just coding
      Also in web scraping is another place for python

    • @scotgod1scotgod188
      @scotgod1scotgod188 5 ปีที่แล้ว

      BBC Basic Book?

    • @Tackgnol
      @Tackgnol 5 ปีที่แล้ว +2

      Richard has a strong point here. If I'm making a portfolio page with a backend (cuz I'm fancy like that), but I don't know PHP Python Flask is an excellent choice. If I'm making an enormous store with tons of features I'd use C# (someone else would use Java). I think that everything has a place, yes there will always be more work in the commercial space for C#/Java developers well duh...
      If someone knows how to code in only one language, then to me this person has just learned some patterns and is doomed to repeat them in their work, if you actually grasped what coding is, then a language won't make much of a difference.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 5 ปีที่แล้ว

      Some advanced concepts are only found in certain languages, though. Python treats functions and classes as first-class objects, which you won’t find in Java, C++ or C#, just for example.
      Then there is Lisp, which has syntax-level macros ... and this: www.codecodex.com/wiki/Continuations

  • @miguelfrosales01
    @miguelfrosales01 5 ปีที่แล้ว +151

    I started with C/C++ and believe me, everything seems easy after that. I think everyone should start with low level languages.

    • @web_dev-rl2ve
      @web_dev-rl2ve 5 ปีที่แล้ว +5

      My friend in the air force keeps telling me to learn C. And yet I keep shunning his advice haha. I’m too scared to try lol. I develop with rails, JS and what have you. I totally get what you’re saying though. I may go for C# for cross-platform development.

    • @abdullahraihanbhuiyan2346
      @abdullahraihanbhuiyan2346 4 ปีที่แล้ว +1

      True AF

    • @Anton_Sh.
      @Anton_Sh. 4 ปีที่แล้ว +2

      @@web_dev-rl2ve you mean, software engineering?

    • @florianwebdev
      @florianwebdev 4 ปีที่แล้ว +20

      I believe the exact opposite of that, schools should teach python or javascript instead of C++. C++ is merciless and there's little to no work available if you know C++.
      C++ makes programming look way too complicated, web development is not even about programming, it's more about deadlines.

    • @TwstedTV
      @TwstedTV 4 ปีที่แล้ว +18

      @@florianwebdev Almost every game in existence today are mainly C++, also almost every music production program software like AVID Pro Tools and such
      are also done mainly in C++, almost every security program in high end government agency is done in C++.
      Lets not forget that operating systems are also done in C/C++ , lets not forget 80% or more programs people use in their computer are done in C++,
      Every visual affects such as 1 company out of 48 called "Industral Light and Magic" use affects in movies that are done in programs built on C++
      The following things are written in either C++ or C:
      ---------------------------------------------------------------------------------
      All the major operating systems (Linux(actually C but we can be lenient), Mac OS X, Windows)
      All the Blizzard games (World of Warcraft, Diablo series, StarCraft series...)
      Nearly all the other AAA games too (Unreal Engine & Unity are both C++ at core. Valve and CryTek i.e. CryEngine are also C++)
      Most console games be it for Nintendos or for Playstation.
      Most interpreted programming languages have VMs written in C or C++ (Java, Python, Ruby, Perl, PHP, Lua)
      Many development environments and compilers (GNU C++, Visual Studio, KDevelop, but not Eclipse)
      Most productivity software (MS Office, Photoshop, Maya/3DS, SolidWorks, Inventor, AutoCAD)
      Major web browsers (Chrome, IE, Firefox, Opera... Safari might use substantial amounts of Objective C, though)

  • @kamilkarwacki9590
    @kamilkarwacki9590 5 ปีที่แล้ว +32

    In my physics degree we started out with C++, and i think its the best decision they could have made. It gives you a really good understanding of programming in general.

    • @dickpiano1802
      @dickpiano1802 2 ปีที่แล้ว +2

      My background is in engineering and I think starting out with C++ is the worst possible decision.
      At university we started with MATLAB and Python. This allowed the students to quickly produce prototypes and experiment with them. This accelerates the learning process.
      In high school we started with C++. It took 3-4 months for the students to develop intuition and only at that point could they start experimenting (which is where the real learning happens).

    • @paulfunigga
      @paulfunigga ปีที่แล้ว +1

      you should pick an much easier language to understand programming in general, C++ bogs you down with a bunch of other stuff...

    • @BritishBeachcomber
      @BritishBeachcomber ปีที่แล้ว +3

      @@dickpiano1802 C++ is not a good place to start. Just go for plain old C (with C++ libraries). Learn to code right down to the bare metal and you're set for life.

    • @rajatmond
      @rajatmond ปีที่แล้ว +1

      Same. In my school the first language taught was BASIC. And it felt like a clusterfuck then and now. Not until I started learning c (later switched to c++) did I really enjoy programming stuff.

    • @vedkorla300
      @vedkorla300 ปีที่แล้ว

      @@dickpiano1802 Even though C++ bogs you down for 3-4 months, I feel when I learned C++, I had a better understanding of how the memory lay out is of any program and how memory can be accessed with a rich set of pointers, dynamically or statically. My point is if you understand C or C++ you can very quickly understand how things are arranged in memory and how they work in general.
      The abstraction increases once you use Python. I learned C++ and Python simultaneously. I was having difficulty intuiting how lists store data in memory when they are so dynamic but vectors in C++ were far more intuitive to me as C++ is a statically typed language. I could easily understand how each cell of the vector takes what amount of memory etc. C++ encourages writing optimal code because it's easier to visualise the memory on which the program is running. But with Python if you're trying to write code optimally I am afraid it isn't very helpful.
      Also I should mention how much easier of a time I had in my Algorithms class writing C++ code. Python comes equipped with in built library functions. C++ lets you write very low level code. Directly access memory. I really appreciate that about C++ as a python developer.

  • @michaelnurse9089
    @michaelnurse9089 5 ปีที่แล้ว +239

    Python is scoring very high on the lists because all the students are googling it. The educators choose it because it allows you learn programming concepts quicker than other more difficult languages. So it is a probably the best first step to make, but a terrible place to stop learning...

    • @minhquando100
      @minhquando100 5 ปีที่แล้ว +16

      truth be told it's always a bad idea to stop learning. python isn't just a great first place to start learning programming, it can also be used for more complex work like AI and data science. although it is kind of weird how someone starts his/her journey learning programming in python and then possibly never seeing it again until they go for a masters degree in data science.

    • @AgentZeroNine1
      @AgentZeroNine1 5 ปีที่แล้ว +2

      It's better to start off learning either JavaScript/Node.js alongside SQL or Java alongside SQL, though Oracle is going to ruin Java work their legal BS, so Java might not be the best option in 2019 and beyond. .Net might be worth it now that it's aiming for multiplatform, so maybe that'll take Java's place.

    • @emiliogonzalez5136
      @emiliogonzalez5136 5 ปีที่แล้ว

      @@AgentZeroNine1 There's also OpenJDK

    • @SoftBreadSoftware
      @SoftBreadSoftware 5 ปีที่แล้ว +13

      @@AgentZeroNine1 There is no better. They are tools, with different available libraries, philosophies, genres. What is better depends on what you want to do and how you want to type and structure it.

    • @xamael1989
      @xamael1989 5 ปีที่แล้ว +7

      Truth be told it's bad to even learn it as first language python is just bad

  • @joecortizo
    @joecortizo 5 ปีที่แล้ว +9

    Excellent advice, Stef...
    100% with you.
    Many thks!

  • @domorewithsage
    @domorewithsage 5 ปีที่แล้ว +17

    I've done everything from 6502 Assembler to pascal with some BASIC, Lua, Javascript, Foxpro, SQL and Python thown in. Its whatever you feel most comfortable with and what problems you are trying to solve. One thing I like about Python is if there is something you need to solve chances are there is already a module for what you need.

    • @StefanMischook
      @StefanMischook  5 ปีที่แล้ว +7

      Yes, that is one of Python's great strengths - many use cases.

  • @flingmonkey5494
    @flingmonkey5494 5 ปีที่แล้ว +10

    Learning to code is like learning to write: You can learn all the basics and advanced levels of the skill, but in the end, you MUST have something to apply it to. If you learn to write, you need to have something to say. If you code, you have to have a task to achieve through coding. I am a programmer, I create automated test programs in C for verification and for production purposes (those are two very different things, with different goals and considerations.) I have no degree. I did not take any class in C until I had been doing it on the job for 15 years. I learned by doing, by learning what I needed, one step at a time, to accomplish the task I had been given, or that I constructed for myself.
    If I was going to start over, I might consider basing my programs on a Linux platform, and Python would be a great tool to have. You can launch modules written in other languages or scripts from within Python, giving it great flexibility, and learning Linux as an OS is NOT a bad thing to do. For the kind of work I do, testing hardware and firmware, you have to be able to reach out from whatever OS you are using and touch/measure/control things. Serial communications are a must, but GPIB is also useful, along with derivatives of the standard RS232. I have found that the Arduino is a great way to get my PC-based programs to interact with the world, with all its sensors and motors and stuff, for some things it is MUCH faster and cheaper to use an Arduino than to go but NI or Agilent hardware for thousands of $.
    But in the end, employers are going to want to know "What have you done?" rather than "What have you studied?" Do some personal projects you are willing to show off, write the code to make them work, demonstrate your ability. "Degrees? We don' need no stinkin' degrees!" I have buried engineers with degrees, including a Stanford PhD and his team of three test engineers, outperformed, BURIED!

  • @Roxor128
    @Roxor128 5 ปีที่แล้ว +32

    A lot of people seem to ask what language to learn. I think the real answer is "Whatever you need for what you're trying to do."
    Programming isn't about knowing a particular language. It's about knowing how to break down a problem into enough detail that a computer can solve it. What language you use is irrelevant to the actual skills you're using. It's just one of a hundred tools you can use to do the job. Some languages will be better suited to some tasks than others, whether that's because of features that make it easier or just because they're the most common in a particular field.
    Just work on the programming itself. Once you've got that down, learning a new language to do it in is a minor inconvenience by comparison.

    • @purpleice2343
      @purpleice2343 5 ปีที่แล้ว +1

      "What language you use is irrelevant to the actual skills you're using."
      Yeah I too used to be idiot, then I figured out that writing a raytracer in Python is retarded (I've actually done it, and I'd advice everyone who praises Python to do so too).
      It DOES matter which language you use, you can't just use one language for everything you'd possibly want to.

    • @razzer57
      @razzer57 4 ปีที่แล้ว

      @@purpleice2343 Thanks for that

  • @colonelkob
    @colonelkob 5 ปีที่แล้ว +20

    Python is a tool and should be treated as such, its the job of the developer to identify what tool is best for the job. Let's not get tribal about languages and frameworks 👍

  • @OPTIONALWATCH
    @OPTIONALWATCH 5 ปีที่แล้ว +12

    you can learn the concepts with any language, including Python. Once you have the concept go for other languages. You don't have to memorize anything. Everything will just come around in due time. What you need to do is know where to find the tools you need, that be modules and functions. Know your way into the Python docs inside Idle to find what you need, for example. BTW, I did find plenty of jobs for Python coders on the indeed site.

  • @arnobchowdhury1804
    @arnobchowdhury1804 4 ปีที่แล้ว +10

    Why fall in love with language>? Instead, fall in love in finding solutions to various problem domains.

  • @franciskapsowe9183
    @franciskapsowe9183 4 ปีที่แล้ว +18

    That's it, I'm sticking to Abacus and Vacuum tubes.

  • @arthurm.3565
    @arthurm.3565 4 ปีที่แล้ว

    Stef...is always, thanks for your insight in this field

  • @TurpInTexas
    @TurpInTexas 5 ปีที่แล้ว +2

    I think you pretty much hit the nail on the head when you mentioned how long it takes to develop a given application verses the time needed to do it in a given programming language. Because that's what it really all boils down to, its time and money. And the languages that offer the most opportunities to make money should be the ones people should learn, well at least first. After that, it doesn't hurt to learn others because once you get that first language, others will come more easily.
    I found that depending on what you need to accomplish each has its own strengths and weaknesses. Currently I build and support the testing automation at the company I work for, as well as write the software that drives the systems. I created the test system interpreter using VB6 that lets the users create their own program test script routines for specialized testing that can control just about anything.
    I'm using VB6 since it is quick, essentially self-documenting and easy to integrate into MS Office products and it has beyond amazing community support, it DOESN'T require .NET, and works on everything from Windows 95 to Windows 10 without any problems or multi megabyte installation support files, heck, I can put my entire install package for most of my programs with all support scripts on a single 1.44MB floppy, something most modern programming languages can't do.
    I'm started as a self-taught hobbyist, beginning with Assembly and ANSI C, COBOL, FORTH, Rapid, etc. can program in probably a dozen different languages, and can't emphasize enough the value in taking the time to explore other languages for a better way of doing things because no one programming language can do it all.
    I do plan on learning some of these newer languages but it seems by the time I get around to taking them for a spin, they are already obsolete and something else shiny has taken its place. On a sidebar, I figure with AI on the horizon it is only a matter of time before programmers will be obsolete since AI technology will essentially create the programs of tomorrow. Think about it...it really wouldn't be all that hard to do.

  • @js_models
    @js_models 5 ปีที่แล้ว +4

    Depends what you want to do. I make graphs in Python, but for calculations the speed of C++ is essential.

  • @Miuoshki
    @Miuoshki 5 ปีที่แล้ว +119

    I'd argue that the backend development area and django are big enough to consider getting a job in python relatively easy

    • @Ali-lm7uw
      @Ali-lm7uw 5 ปีที่แล้ว +18

      I agree, Django and Node.Js are in high demand in my area. PHP and JAVA are dying here.

    • @user-dt2me5sy9s
      @user-dt2me5sy9s 5 ปีที่แล้ว +7

      @@Ali-lm7uw what is your area ?

    • @dwh19891218
      @dwh19891218 5 ปีที่แล้ว +5

      Php python are not even in the same weight class with java. Java is mostly used in backend of big corporations. Java will not die until company like Facebook dies

    • @cla1814
      @cla1814 5 ปีที่แล้ว +6

      @@Ali-lm7uw You must live next to a big city then.
      Rest of the world 90% of web development jobs are PHP and C#

    • @cla1814
      @cla1814 5 ปีที่แล้ว +4

      python only 1% in web development world. Node js is still growing but slowly.
      w3techs.com/technologies/history_overview/programming_language

  • @ilkinshafiyev2314
    @ilkinshafiyev2314 5 ปีที่แล้ว

    You answered all my Python questions. Thanks a lot!

  • @mohammedk.h.f3016
    @mohammedk.h.f3016 4 ปีที่แล้ว

    You are very clear and specific, thanx...

  • @ssw4m
    @ssw4m 3 ปีที่แล้ว +3

    There are a lot of backend jobs in Python, with web apps, APIs, and integration work, using Django, FastAPI, etc. I'm also skilled with many other languages, but have found it is easier to get Python jobs. Also Python is more pleasant to work with (developer experience) compared to most other languages.

  • @lujate
    @lujate 5 ปีที่แล้ว +9

    According to the Jet Brains 2018 Python survey, data analysis is top at 52% but web dev follows closely at 45%.

  • @superkool7
    @superkool7 5 ปีที่แล้ว +2

    SUPER informative blog. Really liked this one and, being an aspiring web developer, it really made me think about where I should put my efforts (js vs python). Thank you!

  • @andrew_owens7680
    @andrew_owens7680 5 ปีที่แล้ว +2

    Stefan, many years ago I learned XSLT and as much about XML and XML schemas as I could. For a short period in my career I actually used it. It's a very powerful language which supports branching and looping, external files and functions, but almost nobody I know has ever heard of it.

  • @seth8141
    @seth8141 5 ปีที่แล้ว +87

    Been doing machine learning work for 2 - 3 years now. I do everything in Python. I would say C++ is another in demand skill that complements your Python but really depends on the industry you work in.

    • @abdallahmahmoud8642
      @abdallahmahmoud8642 5 ปีที่แล้ว

      Hello. How can I start doing work if I have some ML/Deep learning skills? I find freelancing a bit hard

    • @seth8141
      @seth8141 5 ปีที่แล้ว +5

      @@abdallahmahmoud8642 Make a portfolio. Browse through upwork and match your skills with what people are hiring for. Send out some proposals. If there is demand for the work in the your portfolio, you will find out. You need to make sure your skills match what people are hiring for.

    • @talesaraujo979
      @talesaraujo979 5 ปีที่แล้ว

      Hey Seth, do you have any GitHub/Gitlab profile (or something) ? I kinda feel interested to see what projects you've worked/work on. Thanks!

    • @seth8141
      @seth8141 5 ปีที่แล้ว +1

      @@talesaraujo979 Yeah sure. seth814.github.io/portfolio/projects
      That is the portfolio site I built. It's hosted on github pages. There is some other stuff on my github, but those are some projects. Only half of them use machine learning, but you get the idea.

    • @redpillsatori3020
      @redpillsatori3020 5 ปีที่แล้ว

      That sounds like an awesome job! I’d love to get into machine learning soon

  • @cballe2288
    @cballe2288 5 ปีที่แล้ว +3

    Python is also really great for GIS (Geophraphical Information Systems) ArcGIS has an entire python component to it.

  • @PerfectSense77
    @PerfectSense77 ปีที่แล้ว +2

    This is the conclusion I came too as well. I started learning Python because it was so hyped and many people recommend it as your first language, but upon further research, as someone without a CS degree, it was a bit of a murky path from just knowing Python to finding work. Whereas learning the web stack with say Javascript was a much clearer and straightforward path to actually getting paid.

  • @HellYeah223
    @HellYeah223 5 ปีที่แล้ว

    Great question and answer. Thanks a lot

  • @cnewtonc
    @cnewtonc 4 ปีที่แล้ว +6

    This guy is correct. Python is Great for AI and many General Purpose Programming however, that email is correct.

  • @bicycleninja1685
    @bicycleninja1685 5 ปีที่แล้ว +30

    Python is used in analytics, big data, cybersecurity, automation, AWS, and web development. API's usually include Python as a choice, along with C# or Java. You still need general experience in IT and the field you'll be working in. You need to know the business environment, the computing environment, the tools, and the lingo. Just knowing how to program isn't enough. Getting an entry-level job such as help desk or a tier 1 position can be very helpful in getting socialized into IT. With programming knowledge, you'll move up quickly as long as you're willing to take on extra projects, or suggest some of your own. Also, I recommend knowing at least one strongly-typed language such as C#, as it can help you understand what Python is doing for you and will help you in the debugging process.

    • @purpleice2343
      @purpleice2343 5 ปีที่แล้ว +7

      Everything that you mentioned... EVERYTHING... Requires you to install 3rd party libraries which are written in other programming languages, which can be used with ANY other programming language that supports FFI.
      Don't hurt yourself trying lmao.
      Python is nothing but overhyped bash shell, that can run real programs that do the hard work, that's all there is to it.
      And trust me, using other languages won't help you understand what Python is doing, I just let you know what Python is actually doing. On it's own it's not doing anything but calling FFI functions written in real programming languages that do the heavy lifting for you and all of you fanboys praise for how great of a language it is.
      Yes, it's cool that software engineers did so much work so you can import anything you want and use it, but don't fucking attribute it to Python when Python on itself is useless.
      Literally every single project you can name has at least numpy installed, because everyone knows that performing calculations on huge arrays in Python itself is dumb. That's where your bubble falls apart.

    • @Hornet135
      @Hornet135 5 ปีที่แล้ว +5

      Purple Ice oh, you're one of those. Another elitist with a biased stance bellowing on about what's a real language and what isn't. I only write machine code, all other languages aren't real.

    • @arminharper510
      @arminharper510 4 ปีที่แล้ว

      @@Hornet135 there is some truth to what he is saying though, im not a py hater but some of the stuff he says are true :)

  • @shpazhist
    @shpazhist 5 ปีที่แล้ว

    Stefan, if Im sorta in a similar scenario to the guy who wrote you that email and want to learn a second programming language(and also want to move into Data Science, just in case), what second language would you recommend to learn in the current climate: Java, GoLang or Scala?

  • @nate5483
    @nate5483 3 ปีที่แล้ว +2

    Old video but just to let you know, I learned all my basic fundamentals(data structs/algorithms) in C++ at my university. Senior now graduating in spring of 2021. I think some schools still teach C++ for reasons you mentioned. That being said, I've met people at various conventions from different schools that have learned in Python. I would add its important to know what the code is doing at an assembly level if you want a job in something closer to the hardware.

  • @antonlysenko1753
    @antonlysenko1753 5 ปีที่แล้ว +77

    I’m doing with python finance analysis and statistics reports and I’m not a data scientist. Python helps me to do routine work at faster and proper way. So don’t listen anybody who says that python is useless... for me it’s like a magic wand :D

    • @minhquando100
      @minhquando100 5 ปีที่แล้ว +3

      exactly, not every language is going to be used in every field. if you're doing mobile development you're going to be seeing swift and java, if you're doing web development you'll most likely be using javascript, and if you're doing AI and data science you'll be using python. like just because you don't see it being used in your field of work, it doesn't mean the language is not heavily used. a lot of people don't understand that.

    • @BabyBalla3score
      @BabyBalla3score 5 ปีที่แล้ว +3

      I think you are missing the point. Your routine work can be done without a programming language although it may be inefficient. A language is not a necessity. For these jobs where a language is a necessity, that language isn't usually python

    • @cu806
      @cu806 5 ปีที่แล้ว

      @@BabyBalla3score you mean like powershell and bash??

    • @BabyBalla3score
      @BabyBalla3score 5 ปีที่แล้ว +2

      @@cu806 those scripting languages help mainly with os stuff, file management, cmd line type things. Good to know if you're a system admin or in security

    • @cu806
      @cu806 5 ปีที่แล้ว

      @@BabyBalla3score right up my alley

  • @user-sd7hh8ek1c
    @user-sd7hh8ek1c 5 ปีที่แล้ว +75

    In Russia, most schools that teach programming at all do it in BASIC or Pascal. That's quite sad.

    • @StefanMischook
      @StefanMischook  5 ปีที่แล้ว +10

      Wow! That is. They should move to Python or JS IMHO.

    • @user-sd7hh8ek1c
      @user-sd7hh8ek1c 5 ปีที่แล้ว +16

      @@StefanMischook I believe C++ or Java are taught in special schools that focus on high-level physics and maths. Most schools don't teach more trendy languages because there are very few young CS teachers. If you know a modern language quite well and can write something in it, working as a teacher will probably bring you $500-600 a month even if you have a lot of experience, and a veteran programmer will have a salary 3 or 4 times higher. If you have some talent in teaching, you'd probably become a private tutor and get a bit less than a software engineer. And even if you decide to teach CS at a school, most of the time you'll be explaining fourth-graders how to use MS Word which might not inspire you a lot.

    • @lexsoft3969
      @lexsoft3969 5 ปีที่แล้ว +6

      In 1980s, both languages was the chosen languages for teaching programming. Pascal was excellent for that purpose, and imo, it is still relevant for that purpose since it is statically typed and tidy language. Unfortunately it is not supported anymore, esp for use in real project. Hence, learning Pascal seems to be just wasting time, because it won't be used in any real projects.
      Well, actually there was Delphi, a Pascal based language that gained its success during mid 1990s to early 2000s. It was a very strong competitor to Visual Basic and Visual C++ for desktop development. But I don't hear news about it anymore.

    • @statinskill
      @statinskill 5 ปีที่แล้ว +13

      Tovarishch, leaning Pascal is never a waste of time. First I learned Basic, then machine language assembly and Pascal, then C, sh, then RPG IV+ILE, Cobol, Rexx, OS/400 CL, AWK, Perl then Java, Python and a lot of declarative domain specific languages and specifications on top. On top I worked with a long list of IBM and Unix-like environments and various container technologies, databases, keystores etc.etc.etc. The idea is not to churn out Java programmer but people who know how to program and what they're doing.

    • @MarkVrankovich
      @MarkVrankovich 5 ปีที่แล้ว +9

      Pascal is a good jumping off point for moving into C or C++.

  • @M.G.R...
    @M.G.R... 4 ปีที่แล้ว +1

    *1). Python for Artificial Intelligence and*
    *Data Science (**2:30**, **3:36**)*
    *2). C# and C++ for Game Development*
    *3). Java and Swift for Native App*
    *Development*
    *4). JavaScript and PHP for Web*
    *Development*

  • @mattimhiyasmith
    @mattimhiyasmith 5 ปีที่แล้ว +1

    I work in the semiconductor industry and python is heavily used for the basis of debug access to our own chips. Through means of talking to our chips through register writes and programming flash and scripting, as it provides such a simple language to do a lot of things quickly. We used Matlab previously for this approach but due to license cost it was limited. Fundamentally though our FW teams will be programming in C++ or C# or even assembly.

  • @ChumX100
    @ChumX100 5 ปีที่แล้ว +14

    I started with Java and C++, but it was Python that actually landed me good web-dev jobs (backend and data visualization/analysis). Also, don't underestimate Python's potential for data driven applications. With projects like Jupyter we can offer customers powerful work environments and tools albeit for less users (many web apps and tools are meant for use within institutions/companies rather than public).

    • @Elite7555
      @Elite7555 5 ปีที่แล้ว

      But let's be honest: Java would be just as suited as Python is for that kind of application.

    • @siqizhang
      @siqizhang 5 ปีที่แล้ว

      In this domain Python is still a laggard trailing the steps of R. Both are very slow, but R is far more abstract, expressive and pleasant to use.

    • @purpleice2343
      @purpleice2343 5 ปีที่แล้ว

      @@siqizhang Don't worry about Python being slow, 97% of work done in typical Python application is done in 3rd party C/C++ libraries, SciPy, NumPy, Tensorflow to name a few...
      (objective proof that praising Python is a moronic thing to do, it's not special)

    • @Hornet135
      @Hornet135 5 ปีที่แล้ว

      Purple Ice I'm beginning to detect a trend

  • @TKDTSDmisfitgtr
    @TKDTSDmisfitgtr 5 ปีที่แล้ว +14

    Who cares? If people are finding it easy to work with and are successful with being able to code with it, why the hate? It's not about the language you learn but what you can do with it that will make you a success.

    • @purpleice2343
      @purpleice2343 5 ปีที่แล้ว +1

      I built a raytracer in Python.
      Was it easy? Very.
      Did I waste my time doing so? Absolutely.
      Would I recommend someone else to do it? Definitely, bonus points if they are a Python fanboy, because that'd be a wake up call.
      No matter what I do about it, it will be slow and utter garbage. I had to switch language. Sorry to break it to you, but choice of language matters just as much if not more than what you know.

  • @zencontroller
    @zencontroller 5 ปีที่แล้ว

    ive been an admin and system builder and have jumped over from hardware to software. ive almost learnt the entirety of python. thanks for the heads up about PHP programming. I will take your advice and learn php next. I will start going for job interviews and hopefully I can find some work with my hardware orientated background.

  • @martys9041
    @martys9041 4 ปีที่แล้ว +2

    The large organization I work for uses AD, SCCM, SharePoint, DHCP. My Python experience helped me quickly learn Powershell and C#. Now within 3 years I have been seconded to a much higher position. Thank you Python....

  • @budders9958
    @budders9958 4 ปีที่แล้ว +5

    Python is a great language to learn for non developers.Engineers use it all the time.

  • @zlatkovnik
    @zlatkovnik 5 ปีที่แล้ว +15

    In my opinion the first language you should learn should be c++. Because it helps you understand how computers work. Learning other languages will be way easier.

    • @stolenlaptop
      @stolenlaptop 5 ปีที่แล้ว +8

      Maybe I'm old but I think c++ isn't ideal for learning how computers work. Learning assembly 16/32 and 64 bit extensions will help you think about registers, moving, storing interrupts if you're into that kind of thing. C/C++ would be the step after IMO.

    • @zlatkovnik
      @zlatkovnik 5 ปีที่แล้ว +2

      @@stolenlaptop I wrote a bunch of stuff in 16 bit assembly, and you're right it does help you better understand how a pc works.

    • @Falcrist
      @Falcrist 5 ปีที่แล้ว +3

      When they teach electrical engineers how to program, it's in C. That's partly because embedded programming is pretty much exclusively in C (unless we're using embedded operating systems)... but it's also because C is as close as you can get to the metal without using assembly or hex.
      I also like C as a teaching tool because it's SIMPLE. Basically the entire language can be covered by the 270 page "The C Programming Language". Meanwhile, "The C++ Programming Language" is 1346 pages long and isn't as complete.

    • @abj136
      @abj136 5 ปีที่แล้ว +1

      Absolutely not C++. The first thing to learn is how to Think about programs. C++ just confuses that discussion. How computers work is the second thing to understand.

    • @Falcrist
      @Falcrist 5 ปีที่แล้ว +2

      @@abj136 I agree that C++ can confuse the crap out of new programmers, but if you keep it mostly confined to the C functionality, you should be good.
      I actually wish there was a really good way to teach using assembly, but that can be even more confusing. Maybe some kind of HLA?

  • @YoHo18
    @YoHo18 5 ปีที่แล้ว

    Again, a great Video, Stefan. Where are these shots at the end of the video from?

  • @waynevanson277
    @waynevanson277 5 ปีที่แล้ว +1

    What are your thoughts on Django in replacement for PHP? I have read somewhere that it's easy to add updates and changes for TH-cam whenever it's required for them.
    I'm clearly a novice user.

  • @thestopper5165
    @thestopper5165 5 ปีที่แล้ว +5

    Python is almost mandatory in GIS (Geogspatial Information Systems) these days - whether it's writing a custom plugin for QGIS or ArcGIS (yawn), or scripts that manipulate aerial images using OGR/GDAL Python bindings (the documentation on those bindings is pretty awful).
    One of my favourite projects was for a State government, and used TensorFlow (the tf_slim variant) - retraining the final layers to identify land parcels that contained plantation forests, parcel-by-parcel, for every single land parcel in an entire State (3 million parcels)... then using OpenCV to segment the images (again, parcel by parcel) to chop out anything that wasn't forest (e.g., tracks, firebreaks, etc)... then join any contiguous parcels to get actual, final plantations.
    It involved 20 years of aerial imagery (at random intervals depending on region), sensible use of external data, and the use of the _big broad flexible outlook_ ...
    It wasn't all Python though - the presentation layer involved building a webstack (but with PostgreSQL as the RDBMS) and JavaScript and PHP for client and sever side scripting.
    The only annoyance was that my project's final presentation (to government) was two weeks *after* Google finished their global aerial evaluation of world vegetation cover - they had like 150 people on that project and did it at relatively low-res (10m/px) and binary (vegetation or not).
    By contrast, my team was *me* and worked at 15cm/px and categorised plantations by type (hardwood vs softwood) _and_ growth stage (recently planted, early growth, first-thin, recently-harvested, fallow).
    So I did that project, pretty much solo, in 6 weeks. Imagine how many error logs I read when shit didn't work as expected...
    Anyhow... long story even longer: I'm not even a coder by "profession" - my background is in Econometrics (although my as-yet-unfinished PhD was in computable general equilbrium economic modelling). But I can code (with frequent visits to GIS.se and so forth)... , like anyone who built their own website in the late-90s early 00's, I learnt PHP/mySQL/HTML/CSS/JS and later added node/Grunt/Gulp. Anything after that is just a variation on a theme (although learning how to manage a DB properly should be a priority for anyone whose code touches the backend: I've done a few things that involved remediating some other idiot's insecure DB calls using the superuser)

    • @MMAli-rq8kd
      @MMAli-rq8kd 5 ปีที่แล้ว

      Geoffrey
      If you are writing a blog anywhere, please let me know because I'm totally following you!
      I am an immunologist starting to learn coding to use in Bioinformatics and modelling, so I get what you mean.

    • @keylanoslokj1806
      @keylanoslokj1806 2 ปีที่แล้ว

      How is that bioinformatics project going?

  • @marcphilippe7417
    @marcphilippe7417 5 ปีที่แล้ว +13

    From what I can gather via job searches, there are plenty of jobs for Python (Django based) webstack developers here in the UK. That said, I'm not in the workforce yet so that could be misleading...

    • @biomorphic
      @biomorphic 5 ปีที่แล้ว +1

      True.

    • @orbitalair2103
      @orbitalair2103 5 ปีที่แล้ว +1

      Remember when COLDFUSION was the only job openings? same thing.

    • @marcphilippe7417
      @marcphilippe7417 5 ปีที่แล้ว

      Yeah Stef is trying to sell his PHP course...

    • @cla1814
      @cla1814 5 ปีที่แล้ว +1

      @@marcphilippe7417 Stef sells both Python and PHP courses.

    • @cla1814
      @cla1814 5 ปีที่แล้ว +1

      Anyway here some real data.
      w3techs.com/technologies/history_overview/programming_language
      Python usage is actually declining as is quite small in real world.
      PHP is really huge and have multiple niche markets that are bigger than Python in the web development world. PHP is better for contract and freelancing world and in my opinion a lot better if you are starting out. The great thing about PHP other that it's huge niche market (wordpress, drupal, magento, laravel) is that PHP is very similar to Javascript unlike Python. Learning PHP has made me understand Javacript in a deeper way since syntax is similar. For example PHP and JS call Arrays and Objects the same while phython calls the same thing dictionary and lists.. In the end you should learn the 3 languages PHP/JS/ and Python if you serious about web development. For example if you plan to do a web scrapper for a client do it on Python. Then learn C# and Java.
      The language is just a tool once you know the fundamentals of Web Development and Programming. All languages follow similar or same rules.

  • @chaosopher23
    @chaosopher23 5 ปีที่แล้ว +1

    Borland C 2 is how I learned to code in C, I taught myself with a copy of Kiernighan & Ritchie. It was almost natural to move to C++.

  • @JoseCastillo-qq3hx
    @JoseCastillo-qq3hx 4 ปีที่แล้ว

    Stefan, great information, thanks very much. I have a question about what you mean by webstack. Do you mean the services behind it? (web server, possible app server, backend DB), or scripting languages to support the webstack? Or languages to write content? Can you provide some details around what you mean by webstack?
    Thanks

  • @mtsurov
    @mtsurov 4 ปีที่แล้ว +5

    Fun fact: Civ IV was written in Python.

    • @sciencecompliance235
      @sciencecompliance235 4 ปีที่แล้ว

      mtsurov Python is also used in some capacity in Eve online. I think it's used for meshing the servers.

    • @wajeehulhassan_vii
      @wajeehulhassan_vii 4 ปีที่แล้ว

      Civ VI is my favorite, and now using Python previously used to use Java

  • @codergopher8270
    @codergopher8270 5 ปีที่แล้ว +30

    "Python's where its at. You can do anything with it."

    • @themindstorm9947
      @themindstorm9947 4 ปีที่แล้ว +1

      Do you have a link to this ad? Need it for research purposes

    • @codergopher8270
      @codergopher8270 4 ปีที่แล้ว

      @@themindstorm9947 An educated one, I see. I don't have the link, but I'd search around on TH-cam. Look for "udemy".

    • @TwstedTV
      @TwstedTV 4 ปีที่แล้ว +1

      but as this video says and many others like it, people cant get jobs unless you hold a masters degree in data science or cs.
      so for those with out it, are pretty much screwed as your chances of getting a job in python field has dropped by 98%

    • @anythingeverything2659
      @anythingeverything2659 4 ปีที่แล้ว

      @@TwstedTV
      Cisco networking. No degree required.

    • @TwstedTV
      @TwstedTV 4 ปีที่แล้ว

      ​@@anythingeverything2659
      yes thank you, I do know that :)
      thanks though :)

  • @RodTechTalk
    @RodTechTalk 4 ปีที่แล้ว

    Great Video , discovery the same outcome during job search

  • @SilentWatcher000
    @SilentWatcher000 4 ปีที่แล้ว +2

    Finally some common sense honesty! I totally agree with Stef here. Learning Python is great for learning to program, which you can then apply to any language.

  • @pisquared1827
    @pisquared1827 5 ปีที่แล้ว +16

    You are right about "you are not going to get a job in AI, data science, or engineering/scientific programming unless you are a scientist, data scientist, or engineer". However there are a lot of scientists, data scientists, or engineers out there who are going to be programming in future. Python is the next generation Visual Basic, and its real power is that it is interpreted and therefore easy to test and debug, and unlike Visual Basic it is standardised and well thought out.

    • @carlsmith8593
      @carlsmith8593 5 ปีที่แล้ว +4

      The SciPy community are generally replacing _MATLAB_ with Python, because Python is open source, and MATLAB is expensive. VB was never a popular choice with scientists, and is only ever really used (by anyone) to script office applications on Windows. The few scientists that are moving from VB to Python will just be people that developed enough computer literacy to stop relying on Windows and Office for everything. It has nothing to do with standardization or language design.

    • @pisquared1827
      @pisquared1827 5 ปีที่แล้ว +1

      @@carlsmith8593
      I am speaking from the point of view of an engineer. Besides office automation, there are a lot of engineers who use VB script to automate Windows applications for CAD, FEM, Data Conversion, etc. and to transfer data to/from Excel and to use Excel as a format for data entry and data presentation (mainly for ad hoc applications and quick and dirty scripting. Python is way better in all respects by virtue of the huge range of Python libraries, and the idiosyncrasy, closed nature, and lack of modularity of VB script, but engineers continue to use VB script because they use Excel a lot for calculation and data input and results presentation and they are very familiar with it, but also because the documentation on the win32com module and its use isn't particularly good and the CAD/FEM/engineering application vendors usually only give examples and documentation in VB script.
      The area in which Python beats everything else out there is where you need to create an ad hoc program that does very sophisticated things without having to script everything from the ground up. Its interpreted nature, self documentation, introspection, and context sensitive hints, make it brilliant for quick ad hoc code, while its modularity, and the vast array of scientific, engineering, and data processing libraries makes it possible to call rigorous well written and maintained code and use it intuitively from the quick and dirty ad hoc code. This is the secret to Python's success - it simply blows everything else out of the water in this respect.
      Python is a programming language for people who need to solve problems quickly and in a maintainable and rigorous way, rather than one to write new commercial applications.

    • @carlsmith8593
      @carlsmith8593 5 ปีที่แล้ว +6

      @@pisquared1827 - I deleted my last message. It was a bit over the top. The video got under my skin a bit, and I was having a shitty day, and kind of took it out on you. I was being a dick. You obviously understand that Excel is limited, but if engineers can get stuff done with it, it's not for me to say they're wrong. My mum's an accountant, and they use Excel a lot as well. They have more sophisticated tools that each do one thing well, but use Excel as a general tool for hacking stuff together. I assume it's more like that in your environment too. Again, sorry mate. One of those days.

    • @pedrofernandez9506
      @pedrofernandez9506 5 ปีที่แล้ว +4

      @@carlsmith8593 thank you for that. We all have a bad day every now and then but not so many people come back to make things right ;)

    • @sailorbob74133
      @sailorbob74133 5 ปีที่แล้ว

      How is python better than Perl?

  • @dwh19891218
    @dwh19891218 5 ปีที่แล้ว +5

    Cooperation job: java c# c++ usually require master in cs
    Startup - midsize: javascript/node python ruby php
    Freelance: javascript php

  • @showsjohn
    @showsjohn 5 ปีที่แล้ว

    How would C# be for a first(ish) language? Are the job prospects any better for those lacking a degree? I started with Python, enjoyed it, but quickly learned the end game is mostly in areas with advanced math. That basically eliminates me from perusing those fields. I've always been more interested in learning to development desktop apps. Is C# the way to go here? I've read a lot of opinions that Javascript is taking over that as well.

  • @luisluiscunha
    @luisluiscunha 5 ปีที่แล้ว

    Nice video ending. Beautiful view :)

  • @Alche_mist
    @Alche_mist 5 ปีที่แล้ว +24

    IMO Python is the best programming language for non-programmers. To do personal stuff or just scientific data analysis (or just plain old statistics, if you dislike R like me), it's great because it's so easy and not demanding on the coder whose main expertise is not programming. The same reason is why Python is such an amazing learning language.

    • @ianzen
      @ianzen 5 ปีที่แล้ว

      Do you think it's due to syntax choice? If other languages had wrapper python syntax do you think they'd get more traction?

    • @Alche_mist
      @Alche_mist 5 ปีที่แล้ว +1

      I'm a non-programmer myself, but I think it's partially because of syntax choices (it's very forgiving in that regard), partially because of conceptual choices (dynamic, duck typing etc. - you don't have to care about everything) and partially about rich and easy to manage package ecosystem (such as SciPy suite).
      Basically, it's not significantly harder than what you would use for similar thing anyway (think Matlab/Octave, R, even more complex Excel works) and after the initial dash, it is not that much about programming and more about work to be done.
      Yeah, forgiving is the word.

    • @biomorphic
      @biomorphic 5 ปีที่แล้ว +1

      @@ianzen it's because the language is simple and limited. You can't really express yourself in Python. There are not interfaces, for example, or traits, or abstract classes (well, using a lib), not even information hiding. It's just a set of conventions that no one really follows. PHP, which is not a champion, is a much more difficult and expressive language. It's about the syntax, it's just there aren't many way to use it. Take C++, is so powerful that you can write the same code in 10 different ways. Using templates, composition, multiple inheritance, etc. But to do that, you need to master the language. JavaScript is mainstream for the same reason, because it's easy and limited. People learn it quickly and get stuck with it. That's why we have that shit of Node.js.

    • @biomorphic
      @biomorphic 5 ปีที่แล้ว +1

      ​@random phallus dear Phallus, it's pretty clear to me that you don't know the difference between an interface and an abstract class. ABC, which I know and I have used, extensively, is a module, it's not a language construct. Interfaces are not even implemented because Python supports multiple inheritance, which Java, for example, does not. Again, you are confusing the concept of property with the one of information hiding. Have you ever heard about private, protected and public? Maybe it's time that you go back and study some C++. Then we can talk.

    • @biomorphic
      @biomorphic 5 ปีที่แล้ว +1

      @random phallus Sir, you really need to read some books.

  • @souravpal6406
    @souravpal6406 4 ปีที่แล้ว +3

    I have no affinity or aversion for python or any programming language for that matter, however, I do not like this practice of belittling programming languages that people personally do not prefer or are familiar with. It only confuses up and coming students who want to pursue a career in tech. Opinions like these are detrimental to the tech community and should be expressed with caution. To be honest, nobody learns java or c++ as their first language in the 21st century. It simply isn't practical to focus on syntactical jargon instead of focussing on core programming concepts.

  • @ellaiahpusa
    @ellaiahpusa 5 ปีที่แล้ว

    very interesting and insightful discussion and very honest. Thanks.

  • @yvrelna
    @yvrelna 3 ปีที่แล้ว +1

    I used to work with a company that makes real money games in Python. Well not the game frontend, that part runs in HTML5 canvas, as our graphical requirements are quite modest and HTML5 runs everywhere, but the server side is Python.
    When I left that company I've worked in other companies writing 100k+ lines Python/Django web apps, in system administration writing Docker automations in Python.
    So yeah, I've moved around in Python, and not a single one of those jobs I've worked are data scientists or AI-related.
    I think one of the strength of Python is that it's quite a versatile language. It's used in data science yes, but it's also used in system administration scripts when you outgrow bash, web applications when you outgrow PHP, and you can use it to write desktop applications as well. It's not *the* language in all of these fields, but it fares very well in all of these.
    Yes, there are a few places it doesn't do as well, mobile being the biggest one. But you do have quite a wide variety of fields using Python, not just data science.

  • @pillmuncher67
    @pillmuncher67 4 ปีที่แล้ว +15

    So, you're saying, like, to become a programmer, one has to learn MORE then ONE programming language?? Who would've thought...
    Also, real programmers build web sites with a soldering iron.

  • @freezycold
    @freezycold 5 ปีที่แล้ว +15

    I got a job as a software developer with just Python knowledge

    • @cyberrelations729
      @cyberrelations729 4 ปีที่แล้ว

      How did you land that gig? And how are you doing to date?

    • @razzer57
      @razzer57 4 ปีที่แล้ว +1

      Based on your TH-cam profile, you don't know nothing about programming and maths, I think your comment is fake!

    • @aniketphatak951
      @aniketphatak951 3 ปีที่แล้ว

      @@razzer57 lol

  • @noweare1
    @noweare1 5 ปีที่แล้ว

    Good video, no wasted time, good info, thank you.

  • @CRogers
    @CRogers 5 ปีที่แล้ว +1

    Blender 3D, GIMP, Inkscape, and many others have Python integration too, so it's a great language for interacting with advanced software without having to recompile it. It's also possible to program for Android with Python and Kivy.

  • @Colstonewall
    @Colstonewall 5 ปีที่แล้ว +20

    Python was my first love, and the more I look at other languages (and use them) the more I love Python. . .If I was going to make a CMS, it would damn well be in Django.

    • @lincolnsand5127
      @lincolnsand5127 5 ปีที่แล้ว +1

      Python was my first language. I loved it until I found java. I loved java until I found C/C++. I now use mostly C++ or java. The more languages I learn, the less I use python.

    • @ChumX100
      @ChumX100 5 ปีที่แล้ว +1

      Wagtail CMS is not half bad...

    • @lexsoft3969
      @lexsoft3969 5 ปีที่แล้ว

      @@lincolnsand5127 From simple to difficult but powerful languages. Do you think you will love Assembly when you find it ? :)

    • @lincolnsand5127
      @lincolnsand5127 5 ปีที่แล้ว

      @@lexsoft3969 I use assembly for low level stuff sometimes but it's a pain to use

    • @purpleice2343
      @purpleice2343 5 ปีที่แล้ว +3

      When people say "I love using Python", but then they tell you that they use Pandas, NumPy, SciPy and all that crap which actually means "97% of my code isn't even Python, just 3rd party libraries that I have do all the work for me".
      Lmao. If Python is so great, why all the good libraries for it are written in low level programming languages?

  • @sangoviabillar
    @sangoviabillar 5 ปีที่แล้ว +7

    I agree with you Stefan... Python it is definitely a good to have, but to me not as good to get specialized on it unless you work in AI. I haven't seen any video of you talking about Scala ? I have a similar feeling with it, although It seemed a Java killer a while ago, it went down for a while and now it looks like it found a it's right place in the AI niche. Love your channel !

    • @StefanMischook
      @StefanMischook  5 ปีที่แล้ว

      Thanks! Ahh ... we are seeing more and more developers with some experience discovering the channel.

    • @purpleice2343
      @purpleice2343 5 ปีที่แล้ว +1

      It's never good to get specialized in Python.
      Python brings NOTHING to the table on it's own, the only reason to use it is good libraries like NumPy that can be interacted with through Python.
      OpenCV, TensorFlow and whatever else you'd use for AI is all written in C/C++ and you might aswell use a real language to interact with those.
      I'll never understand this hype.
      I love using Python when I can, but I don't see it as anything better than better text processing tool than awk and better real program executor compared to bash. It's really great to be able to quickly throw something together and just have it work because all the work has been done for you, but most of the time you can't simply rely on others to do the work for you and you have to get your hands dirty, which Python will never allow you to, you'll have to write code in C/C++ and that's where your dreams of using Python for everything will fall apart.

    • @GabrielPettier
      @GabrielPettier 5 ปีที่แล้ว

      @@purpleice2343 you are thinking about going low level, that's one place where Python itself doesn't shine - though you can compensate by writing CPython extensions, through the C api, or using Cython - Python shines more at abstraction, making a complex program easy to write because abstractions are really easy to define. The syntax makes a complex codebase shorter, easier to navigate and understand. When needed, you can do metaprogramming easily (though, of course, overdoing it will make your code very hard to reason about), and by default, your code will look more like plain english, than machine language. I think the future of programming is more on the high level than the low level, we have complex problems to solve, and to be able to do it, we need to hide implementation details, and have abstractions that are easy to reason about. This definitly has a cost, performance-wise, but when you identify bottlenecks, you can still come back and replace the criminaly-slow parts with Cython code, and have an easy to maintain, yet performant application.

  • @georgefolgers8731
    @georgefolgers8731 4 ปีที่แล้ว

    Thank you, saved me so many mistakes , really well stated.

  • @attemptedcoding
    @attemptedcoding 5 ปีที่แล้ว

    Interesting video. Thanks

  • @chrise5238
    @chrise5238 5 ปีที่แล้ว +6

    Python is great for web dev with flask or django

    • @HankAstral
      @HankAstral 5 ปีที่แล้ว

      True but you also need javascript - this is the point

    • @davidbasil2727
      @davidbasil2727 5 ปีที่แล้ว

      pointless without js these days

    • @gabrielmcgann7736
      @gabrielmcgann7736 5 ปีที่แล้ว +2

      @@HankAstral But you need js with any other backend languaje too, so its the same. Django is pretty magic. I did a personal page in less than 30minutes with django.

    • @HankAstral
      @HankAstral 5 ปีที่แล้ว

      @@gabrielmcgann7736 Exactly. You need JS for everything web related regardless of the backend language. Python may be an excellent choice for this backend (as may php) but you will always need JS. This video is addressing the point that: if python is your first language you will need to learn another (i.e. JS) before you can get a job in web development. A lot of newbies go into programming with python (I did it myself) thinking that this is all I need to get work. Python is a great language to learn coding but is a stepping stone not a complete destination and in that sense anyone new to coding who wants a job is probably better off learning JS. And then Python.

  • @plekkchand
    @plekkchand 5 ปีที่แล้ว +5

    Blah blah blah . As they used to say, Everyone's an expert now. And now with You Tube , we have the pleasure of meeting all of them.

  • @cloudguru3018
    @cloudguru3018 5 ปีที่แล้ว +1

    It's also great choice for system and network automation.

  • @successfulpeople
    @successfulpeople 5 ปีที่แล้ว

    Hi Stef, do you have a PHP tutorial or course from beginner to advance? Thanks

  • @storm14k
    @storm14k 5 ปีที่แล้ว +5

    I get job leads looking for python all the time. I rarely see PHP but I do see Python for web.

    • @fbarnea
      @fbarnea 4 ปีที่แล้ว

      I have a feeling it's location based as well. I find that searching in different cities gives different results in terms of language.

  • @_hold_the_line_
    @_hold_the_line_ 5 ปีที่แล้ว +14

    Java is verbose and structured enough to make it easy to read, thus making it a great corporate investment. Code that is hard to read and understand is a liability.

    • @dutchdykefinger
      @dutchdykefinger 5 ปีที่แล้ว +2

      Where does python position itself? because i think the forced indenting looks like dog shit

    • @purpleice2343
      @purpleice2343 5 ปีที่แล้ว +1

      Python positions itself where languages like bash do.
      There's no difference between calling ffmpeg from bash using a command line and calling numpy functions from Python.

    • @infiltr80r
      @infiltr80r 5 ปีที่แล้ว

      @@dutchdykefinger Forced indenting is amazing. It turns code readable with no effort. I have no idea why you'd have a problem with it.

  • @kirbyurner
    @kirbyurner 5 ปีที่แล้ว

    Once you factor in Jupyter Notebooks for doing any kind of scientific paper type stuff, with embedded calcs, you have the possibility of using Python wherever we used to see just "dead" (in the sense of unexecutable) math expressions. Same space as Matlab and IDL (both proprietary). Yes, all these jobs require more education than code schools alone provide, but lets not restrict all these technical subjects to just data science (sounds too specialized?). I'm glad you mentioned CAD / Animation.

  • @jacobmoore8734
    @jacobmoore8734 4 ปีที่แล้ว +1

    I think there was a time when one could self-teach his (or her) way into a data science career. Showing that you can use a NN or some ML model to solve a task, automate a workflow, etc. was really impressive. But for better or worse, educational materials on DS tools are extremely abundant and hiring managers have taken note. It's no longer impressive to use a random forest to classify some tweets as positive/negative. At least not enough to get a job in DS without any credentials. But that said, I think DS tools/technologies could help your workflow in many professions. For example, an HR hiring manager might learn to use a NER tagger though SpaCy to tag skills, educational degrees, etc in a resume, increasing his/her productivity. I think this is the trend we're going to see a lot more of in the future. Access to ML will become more abundant. It will be hard to land a full time, official DS role but don't be surprised if some ML familiarity is expected in various managerial roles. Just my thoughts!

  • @MylesGmail
    @MylesGmail 5 ปีที่แล้ว +10

    Can u do a Kotlin video soon?

  • @R3AktoRMacedonia
    @R3AktoRMacedonia 5 ปีที่แล้ว +3

    In 2019 you cant afford to "know" only one language, we are not the 1960's any more.

  • @MR-jj5dn
    @MR-jj5dn 5 ปีที่แล้ว +1

    What do you think about Embarcadero C++ Builder Stefan?

  • @sebastiandrozd18
    @sebastiandrozd18 5 ปีที่แล้ว

    What would you recommend in my situation? I'm 26 and I'm a stockbroker in chicago. I'm learning python currently so I can learn trading algorithms and make to be able to create software in that field. I do not have a college education however. So I'm just wondering if there's even a point since why wouldn't some firm take a PhD math student instead of me.i don't blame them

  • @amirdashti
    @amirdashti 4 ปีที่แล้ว +6

    So, to my experience, you gotta know CPP or C-based programming languages deeply to be a good programmer. Choosing Python is the worst idea to start programming because it is not following style and logic of normal programming languages. If you start with Java or C you would be good at almost all languages and you can easily switch and use Managed CPP, C#, PHP, ect. Good Luck

    • @Imperial0666
      @Imperial0666 4 ปีที่แล้ว +3

      C actually can be simple enough for a beginner to learn. you learn how to program and you also can learn how the computer actually works. The OOP aspects of C++ can be a little too much for a beginner.

    • @jscorpio1987
      @jscorpio1987 4 ปีที่แล้ว +3

      Amir Dashti I couldn’t have said it better myself.

  • @Bm23CC
    @Bm23CC 5 ปีที่แล้ว +5

    Python was designed for people in science who can also program already so that they could write code quickly. People should be mindful of that.

    • @BrunodeSouzaLino
      @BrunodeSouzaLino 4 ปีที่แล้ว +1

      That's not what Python was designed for. Python originally came from a language called ABC, which was designed to replace BASIC, Pascal and AWK and intended for teaching and prototyping.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 5 ปีที่แล้ว +1

    Fred Brooks, in his classic _The Mythical Man Month_ from a few decades ago, made the point that the only way forward to significantly improve programmer productivity was to move to higher- and higher-level languages, which abstracted away more and more of the lower-level details -- what he called “metaprogramming”. His example, AppleScript, unfortunately has not stood the test of time, but others, like Perl, PHP and Python, certainly prove the point. Look at the huge accumulation of toolkits around these languages, and how much work they save you.
    Python is easily the best example, simply because its core language is so small, yet so versatile, that the kinds of things you can do with library code is just amazing.

  • @anupamadissanayake1299
    @anupamadissanayake1299 4 ปีที่แล้ว +1

    remember that the video you are watching is a miracle of python (it is the backend)

  • @haythemmzoughi4257
    @haythemmzoughi4257 5 ปีที่แล้ว +9

    It's "blender", the 3D software which uses Python

    • @brandonbailey4491
      @brandonbailey4491 5 ปีที่แล้ว +2

      and Maya

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 5 ปีที่แล้ว +4

      Blender implements DOM (Document Object Model) scriptability with Python -- objects in a Blender document appear as Python objects, and can be manipulated with common Python idioms like attribute access, indexing, iteration etc.

    • @helge000
      @helge000 5 ปีที่แล้ว +2

      Actually, the whole pipeline and every major software package (Houdini, Maya, Nuke, etc.) uses Python ~2.7 (!). So, a lot of backend work in VFX studios is done in Python.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 5 ปีที่แล้ว

      @@helge000 2.7?? That will drop out of support in less than a year pythonclock.org/

    • @purpleice2343
      @purpleice2343 5 ปีที่แล้ว

      Python community is retarded.
      They want to have powerful language, but don't want to put any effort into it.
      And what do they do...? Just nothing, this is the reason why Python 2.7 is still being talked about nowadays.
      They already leech off C/C++ libraries wrapped in Python for all their work, and they are still too lazy to finally add () around their print statements and move to he real version of the language.
      Even C++, possibly the most toxic community ever, has braincells and constantly moves forward even though they could be same morons like Python kiddos, still using constructs that should have been buried 30 years ago.

  • @DTQC
    @DTQC 5 ปีที่แล้ว +3

    AI, data science... and don't forget devops!

  • @DevlogBill
    @DevlogBill 2 ปีที่แล้ว

    Stefan I have an interesting question to ask. Would this approach be a smart move for someone who is still a "newbie" such as myself.If I were interested in learning a difficult intermediate language like Java or C#. Would it be a viable option to learn Python first in order to learn the fundamentals and afterwards. Once he or she has a concrete or a decent understanding of the fundamentals, maybe around 3 months or so? Next, pivot to a languages mentioned earlier in order to reach their goal to become a back-end developer. Would this be a viable method in order to reach one's goal to quickly become a back-end developer. Or would it realistically make more sense to just simply become a web developer which has a lower entry point into the tech industry and afterwards pivot into a back-end developer position? Because it seems no one is hiring junior back-end developers in NY unless you have a degree with a portfolio in NYC. They are quick to turn you down with out a college degree these large enterprises.
    The alternative would be for me to learn JavaScript and PHP which I am also considering, either way I am eager to learn and take on any challenge, I don't give up so easily thanks Stefan for reading my very long rant.

  • @Guytron95
    @Guytron95 4 ปีที่แล้ว +1

    When using python for machine learning there's another factor: performance is derived directly from GPUs or TPUs for the most part (excepting RNNs which don't parallelize well) That isn't an option with website delivery or stand-alone desktop, mobile apps etc. So the performance hit from python isn't a problem for data science types whereas an online gaming engine simply couldn't afford that not to mention the GPUs will be used up rendering scenes instead of driving learning gradients.
    Loving your videos, by the way. Between you, Engineering Man and Code Bullet I might just get back into programming professionally again. I've been out for about 8 years tho I've still been writing code, just for myself. Don't think there's a treatment course which could break my addiction to code.

    • @DanielFisaha12
      @DanielFisaha12 2 ปีที่แล้ว

      Most ML modules are written mostly in C, you would definitely notice the speed

  • @MaxDamageTV
    @MaxDamageTV 5 ปีที่แล้ว +58

    This guy sounds like he hasn't had a good night's sleep in 20 years... xD

    • @pedrolopez8057
      @pedrolopez8057 4 ปีที่แล้ว +12

      welcome to software. he's only 28 btw

    • @Seekingtruth-mx3ur
      @Seekingtruth-mx3ur 4 ปีที่แล้ว +3

      @Champagne davy he's trolling. Stefs says he's been coding professionally since the mid 90's,that would not be possible if he was 28. My guess he's around his 40's early 50's,but that doesn't matter.

  • @orbitalair2103
    @orbitalair2103 5 ปีที่แล้ว +3

    Oracle just levied a $1500 PER app PER Processor PER year fee for Java. Also the JRE IF you redistribute it (contact Oracle for fee schedule in this case). 99% will take the Python path (or other open source php, etc), only a few will pay the fees. Java is dead, oracle killed it.

    • @thorick590
      @thorick590 5 ปีที่แล้ว +1

      serious enterprises that depend on serious enterprise systems such those enabled by java and it's environment, will pay the license fee because they need it and they can afford it.

    • @charliegnu
      @charliegnu 5 ปีที่แล้ว +3

      On the other hand, Microsoft has made C# open source and is releasing more and more of their libraries as open source. What strange times to be living, but I'll take it.

    • @downnow5854
      @downnow5854 5 ปีที่แล้ว

      Most people would just use OpenJDK anyways.

    • @noweare1
      @noweare1 5 ปีที่แล้ว

      @@charliegnu And ....there's bash for linux on Windows10 , basically a real live linux operating system running in windows (no graphics though)

  • @benvin10365
    @benvin10365 5 ปีที่แล้ว

    For people who are not interested in game or web development and are focusing on Data Science, A.I., and Automation, what languages beyond Python are recommended?

  • @krumbergify
    @krumbergify 5 ปีที่แล้ว

    Our product is written in C/C++ but we use Python and Go for a lot of tools, build scripts and CI management.

  • @slosh5411
    @slosh5411 5 ปีที่แล้ว +4

    Python is a #1 programming language in the network engineering.

    • @Ryu53898
      @Ryu53898 5 ปีที่แล้ว

      Golang is raking the lead in this field

  • @ImGonnaShout2000
    @ImGonnaShout2000 5 ปีที่แล้ว +36

    I'd rather program in Python than JavaScript...

    • @EvoPortal
      @EvoPortal 5 ปีที่แล้ว +6

      JavaScript is not a programming language. Python is.

    • @str-rf8sy
      @str-rf8sy 5 ปีที่แล้ว +7

      @@EvoPortal why is JavaScript not a programming language?

    • @EvoPortal
      @EvoPortal 5 ปีที่แล้ว

      @@str-rf8sy It's far to limited and specific to be called a programming language. Thats WHY its called javaSCRIPT. It's a scripting language not a programming language. The two a completely different IMO.

    • @str-rf8sy
      @str-rf8sy 5 ปีที่แล้ว +5

      @@EvoPortal which languages do you consider true programming languages?

    • @bishopoftroy
      @bishopoftroy 5 ปีที่แล้ว +14

      @@EvoPortal you sound so 2005 :))))

  • @emzaet391
    @emzaet391 5 ปีที่แล้ว

    Thanks for information, I am from argentina, I know css and html and js (basic), but This year I was learning c++ but you're right The hardware now is better and faster than before. Maybe JS and PHP is a better choose.

  • @kitsinu1
    @kitsinu1 4 ปีที่แล้ว +1

    2:58 What is that weird moving circle up and left looking at you from your head?