The World's Most Popular Programming Language

preview_player
Показать описание
Why is Python so popular with software developers as a programming language? What are its qualities? What are its limitations? Dave Farley gives his opinion on Python and the importance of picking the right languages.

-

Get my FREE Guide - sign up for my latest "How To Adopt GREAT Programming Habits".

-

🖇 LINKS:

-

⭐ PATREON:

Join the Continuous Delivery community and access extra perks & content!

-

👕 T-SHIRTS:

A fan of the T-shirts I wear in my videos? Grab your own, at reduced prices EXCLUSIVE TO CONTINUOUS DELIVERY FOLLOWERS! Get money off the already reasonably priced t-shirts!

🚨 DON'T FORGET TO USE THIS DISCOUNT CODE: ContinuousDelivery

-

BOOKS:

and NOW as an AUDIOBOOK available on iTunes, Amazon and Audible.

📖 "Continuous Delivery Pipelines" by Dave Farley

NOTE: If you click on one of the Amazon Affiliate links and buy the book, Continuous Delivery Ltd. will get a small fee for the recommendation with NO increase in cost to you.

-

CHANNEL SPONSORS:

#softwareengineer #software #developer #python #pythonprogramming
Рекомендации по теме
Комментарии
Автор

I have seen enough Python runtime errors to never touch Python again until it becomes a statically typed compiled language. I am talking about errors that in any sane language COULD NEVER HAPPEN due to compiler-enforced correctness.
edit: And the **kwargs ... oh my god, the **kwargs

fubarhandle
Автор

Something that irks me about python is the dependency hell in bigger projects where all sorts of dynamically linked C/C++ libraries have to be pulled in because the heavy lifting cannot be done in python. Conda environments are a workaround, but they are a pain to set up and maintain.

TheBackyardChemist
Автор

I know it's a lot of work to record your own work and additionally create commentary over it, but I LOVED the relatively raw footage of you doing TDD on somebody's existing Java code. PLEASE do this for your Python videogames you're making, if it's not too much work :D. I would love to see the TDD process of working with such low-level things, and it would DEFINITELY inspire myself to jump into this type of development.

antdok
Автор

Python is undoubtedly a versatile language, but as someone who primarily works in other languages, I find several aspects of Python frustrating when I work with it. It seems the Python community likes to be different just for the sake of being different, and uses different conventions than literally everyone else rather than for any technical advantage and I absolutely hate it.

Also python dudes like to shove python everywhere, even where it doesn't belong, like embedded systems or frontend Webpages

anb
Автор

I work with Python extensively for my job. We usually reserve comments to explain why something is done not what is done. Especially for scientific and engineering code it can really help to have a comment on where the math in a function comes from or why the math is there. We also heavily use the Python system and to further improve we often use dataclasses for input and output for functions with more complicated inputs and outputs. This is much better than a dictionary and it works as a contract for the function that other systems can rely on.

For scientific and engineering code python fits extremely well because there are so many good libraries for Python to solve these types of problems. The libraries also tend to be highly optimized so you pay very little performance penalty for using Python. I especially love libraries like numba because you can compile Python code under certain circumstances to high performance code.

Immudzen
Автор

As a developer, who worked professionally using C#, Python, Typescript and Go and not professionally with Java and Rust. I would say in my experience Python indeed has been the easiest to start with and the simplest to use. But on the other hand it was the most complex of all languages in this list to actually create working software. While C# was the easiest. I'm speaking about average mid-high complexity web based enterprise. Of course there are different areas, like ML or smaller stuff, where you can use variety of Python ecosystem to quickly create something. And Python will shine there.

vd
Автор

Im a data engineer and built my team's ETL system as a Python application with each pipeline being a "plugin". I absolutely love it — its so simple and widely supported that I can write a new pipeline or automation in as little as a few hours or 1-2 days. If i ever hit a roadblock, theres probably someone else who has already solved the problem. The community is great

con_keister_door
Автор

I really dislike python for anything much more complicated than a standalone script. It is a good replacement for shell script or pearl and to play around on AI stuff, more than that is a big "no" for me.

ibraimgm
Автор

Low overhead and uncluttered syntax are the magic of Python. I think a lot of developers have come to python later in their careers from spending so much time working in the freight trains we call Java (and the million libraries you need to make it useful) and C# (with the megatons of libraries it has).

nerdobject
Автор

I started playing with Python around ‘94 or ‘95, but I got my first job using it in ‘08. One additional thing I like about Python is how easy it is to extend with C. That thing chewing up all that time in the profiler can magically vanish with not a lot of work.

edhodapp
Автор

Python is easy to pick up but hard to master with lots of hidden complexities. Especially compared to something like Lua, which is far better designed. I also see a ton of bad Python code. Maybe as much as bad Perl code.

ssssssstssssssss
Автор

When I took over our python codebase, the first thing I did with a major restructuring was to introduce types to every variable and parameter. Saves you so many headaches. But yes, the biggest problem I have is the amount of bugs that you only catch with an extensive test base (that is still in the making for us) or while live - which is less than ideal.

DagarCoH
Автор

For backend work I'm primarily a C# guy but have started doing python not as a replacement but as a compliment as all the natural language stuff is there.
Literally starting a week ago barely knowing the default filenames I already have in production some language detectors and sentiment analysis engines available via a web end point - and the process has been amazingly easy so it is winning me over.

Similar to others I couldn't see me building large scale applications using it due to the type non-safety but for a bunch of endpoints offering internal services it's awesome.

judgewest
Автор

What do you think about async in Python? Having had to use it a lot, I can't get rid of a thought that async is an atrocious hack to Python

sergiysanin
Автор

What really makes python great is the c integration.

You can rum very efficient c packages natively. Practicly all datascince packages use it heavily in some fourm.

Now c as a compiled languge can integrate with almost 0 overhead with other languges like c++ rust or fortran.

So if u look at the source for numpy eigun decomposition it's was written I. The 70s in fortran

nevokrien
Автор

Never understood people's addiction to Python. Slow, with non-uniform language constructs e.g. special syntax for dictionary comrehension etc . Awfull underthought package and environment management system.
For me javascript /typescript on nodejs is much more natural choise for quick prototyping and personal projects.
NB: my experience - 20+ years of professional software dev, with around 25 languages under the belt, from COBOL through C++ to Js, Lua, go etc.

simonkuzin
Автор

I’ve been working in Python for about 5 years and the main thing I miss from Java is checked exceptions. We have a large multi-million line Python code base and it’s very difficult to make sure we catch the correct exceptions. I often have to dig down through dozens of layers of code to determine what could be raised in a function call.

We end up patching the system to fix these missing exception checks frequently.

Also the number of time prod has raised “foo is not iterable” is always fun too.

jonp
Автор

I agree with everything... Except Python is a no-go for me due to 1) Not type strict 2) White space indentation

pm
Автор

Also the typing syntax for Python isn’t really static typing. It’s type hints. Python will still let you pass the wrong type and attempt to run the program, it just warns you about it now.

It’s still a huge improvement and I always use the type hints, but it’s not actually static typing.

jonp
Автор

If mojo is really that fast, we can use python instead of rust or java with the simplicity of python

jadeflon