Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I need a really good reason to use Python

Tags:

python

I have been trying to make a case for using Python at my work. We use C# and ASP.NET for basically all of our development. 80% or more of our projects are web applications. It seems natural that we would look at some of the nice dynamic web languages (Ruby, Python, etc), and with things like IronRuby and IronPython, I started seriously investigating.

I love Python. It's a beautiful, expressive language. It's a joy to code in, for sure. The multitude of python modules and frameworks make it very appealing. Problem is, I cannot think of any specific problems, any specific hurdles that would require a language like Python. ASP.NET gives us RAD, it gives us a full-featured framework and all that good stuff. Also, we all already know C# and have lots of projects in C#, learning a new language just because doesn't quite work.

Can you guys help me think of something to finally convince my boss to really learn Python and start using it on projects?

Edit: I know that no problem requires only one language, I just meant, are there any specific problems in which dynamic languages excel over static languages.

Edit again: Let me also mention that my boss prompted ME to investigate this. He has put aside hours to research these languages, find a good one, learn it, and then figure out how we can use it. I'm at the last step here, I do not need a lecture on why I should consider my motivation for changing something my company does because they do it for a reason.

like image 833
goldenratio Avatar asked Oct 30 '08 01:10

goldenratio


People also ask

What is a good reason to learn Python?

Python is a very popular programming language today and often needs an introduction. It is widely used in various business sectors, such as programming, web development, machine learning, and data science. Given its widespread use, it's not surprising that Python has surpassed Java as the top programming language.

What is the use of Python in real life?

The major fields include Machine Learning and AI, Web Development, Data Analytics, Game Development, IoT, Application Development, and Game Development. Many sectors including the healthcare sector, finance sector, aerospace sector, and banking sector rely heavily on Python.


1 Answers

"Can you guys help me think of something to finally convince my boss to really learn Python and start using it on projects?"

Nope.

Nothing succeeds like success. Use Python. Be successful. Make people jealous.

When asked why you're successful, you can talk about Python. Not before.

Choose projects wisely: things where a dynamic language has significant advantages. Things where the requirements are not nailed down in detail. Things like data transformations, log-file scraping, and super-sophisticated replacements for BAT files.

Use Python to get started doing something useful while everyone else is standing around trying to get enough business and domain information to launch a project to develop a complicated MVC design.


Edit: Some Python to the Rescue stories.

  • Exploratory Programming
  • Tooling to build test cases
  • What's Central Here?
  • Control-Break Reporting
  • One More Cool Thing About Python Is...
  • In Praise of Serialization

And that's just me.


Edit: "boss prompted ME to investigate", "figure out how we can use it" changes everything.

The "finally convince my boss to really learn Python" is misleading. You aren't swimming upstream. See How Do I Make the Business Case for Python for the "convince my boss" problem. The edit says you're past this phase.

Dynamic languages offer flexibility. Exploit that. My two sets of examples above are two areas where flexibility matters.

  • Requirements aren't totally nailed down. With a dynamic language, you can get started. Rework won't be a deal-breaker. With Java (and C++ and C#) you are reluctant to tackle devastating design changes because it's hard to break everything and get it to compile and work again. In Python, devastating changes aren't as expensive.

  • Design is in flux because you can't pick components. You can write Wrappers and Facades very easily in Python. It's a scripting language. And, Python modules compose into larger aggregates very simply.

  • Coding is in flux because requirements and design keep changing. It's scripted -- not compiled. You just make a change to the code and you're off and running. Testing is easier because the work cycle is shorter. It isn't code-compile-build-test it's code-test.

  • Testing is in flux because the requirements keep changing. Same as above. The work cycle is shorter and faster.

like image 123
S.Lott Avatar answered Sep 22 '22 15:09

S.Lott