Why Some Say ‘Don’t Learn Python’: Pros, Cons & Who It’s For

目次

1. Introduction

When you search the internet for “Don’t use Python,” you may encounter negative opinions and criticism about Python. For programming beginners or those about to start learning Python, this can make them wonder, “Is it really okay to learn Python?” and feel uneasy. However, why do people say “Don’t use Python”? Python is a globally popular programming language used by many engineers. Yet, some claim that it’s better to avoid it. If you proceed with learning without understanding the reasons, you might regret it, thinking “It wasn’t what I expected” or “I should have chosen a different language.” In this article, we will thoroughly explain the reasons behind the “Don’t use Python” advice while outlining Python’s advantages and disadvantages. We will also clarify the characteristics of people who are suited for Python and those who aren’t, helping readers choose the programming language that best fits them. If you’re wondering, “Should I avoid Python?” please read this article to the end and make the best choice for yourself.

2. Characteristics of People Who Should Skip Python

For those wondering whether they should learn Python, here’s the conclusion up front. By outlining the traits of people who are suited to Python and those who aren’t, you can use this as a guide to choose the programming language that fits you.

People Who Are Not Suited for Python

If you have the following goals or mindsets, you should choose a programming language other than Python.

1. People Who Need High-Performance Development

Python is an interpreted language and tends to be slower than compiled languages like C++ or Go. In particular, it is not suitable for real-time system development or applications that handle massive traffic.
  • Suitable alternatives: C++, Rust, Go

2. People Who Primarily Focus on Mobile App Development

Python is not a mainstream language for mobile app development. For Android, Kotlin is recommended, and for iOS, Swift. While you can build mobile apps with Python, it is rarely chosen in typical development environments.
  • Suitable alternatives: Swift (iOS), Kotlin (Android), Flutter (Dart)

3. People Who Need Strict Type Checking in Their Systems

Python is a dynamically typed language. Types are determined at runtime, which can lead to bugs from type errors. In large-scale corporate development or projects where bugs have a big impact, statically typed languages (such as Java or C#) are often preferred.
  • Suitable alternatives: Java, C#, TypeScript

4. People Who Want to Develop Embedded Systems or IoT Devices

Python consumes a lot of memory and is not suitable for embedded systems or IoT device development. In this field, C and Rust, which can closely interface with hardware, are preferred.
  • Suitable alternatives: C, Rust

5. People Who Prefer Languages with Greater Code Flexibility

Because Python requires code blocks to be unified by indentation, it can be stressful for those who want to use {} (curly braces) or write code more freely.
  • Suitable alternatives: C++, JavaScript, PHP

People Who Are Suited for Python

On the other hand, Python is an optimal choice for people with the following goals.

1. People Who Want to Do Data Analysis, Machine Learning, or AI Development

Python has become the de facto standard in data science and AI, with many libraries (NumPy, Pandas, TensorFlow, etc.) available. Since this field is expected to continue growing, learning Python offers a significant advantage.

2. People Who Want to Start Web Development Easily

Python offers excellent web frameworks such as Django and Flask, allowing even beginners to create web services relatively easily. Python is especially suitable for developing web applications that involve data processing.

3. Beginners Who Want to Learn Programming with a Simple Syntax

Python is known for being “readable” and “easy to write”, making it one of the most beginner-friendly languages. Learning Python first also makes transitioning to other programming languages smoother.

4. People Who Want to Leverage It in Their Job

Python has high demand in companies, making it recommended for those who want to apply programming to their work. In particular, there are many job openings in data analysis, AI development, web development, and the finance sector, and having Python skills gives an advantage in the job market.

Summary

Python is a popular language used in many fields, but there are scenarios where it isn’t the right fit. Compare who is suited and who isn’t, and choose the programming language that matches your goals. ✔ People Unsuitable for Python:
  • High-performance systems that need fast processing
  • Want to develop mobile applications
  • Prefer statically typed languages
  • Want to develop embedded systems
  • Value code flexibility
People Suited for Python:
  • Data analysis and AI development interest
  • Want to develop web applications
  • Beginners who want to learn programming
  • Want to use Python in their job
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. Basic Overview of Python

Python is one of the programming languages supported by engineers worldwide. It is widely used especially in data analysis, AI development, and web development, and its simple syntax and extensive libraries are its appeal. This section explains Python’s basic features and uses.

What is Python?

Python is a programming language developed in 1991 by Dutch programmer Guido van Rossum. It is based on the philosophy of “simple and readable code” and is used by everyone from beginners to advanced developers. The main features of Python are as follows.
  • High readability and simple syntax
  • Interpreted language (executes code line by line)
  • Open source with an active community
  • Rich libraries and frameworks are available
  • Cross‑platform support, running on various OSes (Windows, macOS, Linux)
These characteristics make Python low‑cost to learn and a programming language that is easy for beginners to use.

Main Uses of Python

Python is used in many fields, but its use is especially notable in the following areas.

1. Data Analysis & AI Development

Python enjoys overwhelming popularity in data analysis, machine learning, and AI development. By leveraging libraries such as NumPy, Pandas, and Matplotlib, you can easily process and visualize large datasets. Additionally, using frameworks like TensorFlow or PyTorch makes AI model development straightforward.

2. Web Development

Python offers powerful web frameworks such as Django and Flask, making web application development easy. With these frameworks, server‑side logic can be implemented simply.

3. Automation & Scraping

Python is also well‑suited for automating simple tasks. For example, the following tasks can be easily automated.
  • Web scraping (data collection)
  • Automated processing of Excel and CSV data
  • Automated email sending

4. Game Development

Python is also used for game development. In particular, using the Pygame library allows you to create simple 2D games. However, it is not suitable for full‑scale 3D games or AAA titles.

5. Networking & Cybersecurity

Python is also used in network development and security. For example, it is suitable for developing tools for packet analysis and network scanning.

6. Embedded Systems (with limitations)

Python is used for programming small computers such as Raspberry Pi. However, due to its high memory consumption, it is not suitable for embedded systems that require real‑time processing.

Python Adoption Examples

Python is widely adopted by companies and research institutions. Here are examples of organizations that use Python.
  • Google: Uses Python for parts of YouTube and internal tools
  • Instagram: Builds its web services using the Django framework
  • Dropbox: Much of its server‑side is implemented in Python
  • NASA: Uses Python for data analysis and simulations
  • Netflix: Uses Python for its recommendation system (recommendation algorithms)

Conclusion

Python is a programming language used by everyone from beginners to experts, and it excels especially in data analysis, AI development, web development, and automation. However, it is not suitable for systems that require real‑time processing or mobile app development, so it is important to compare it with other languages based on your goals.

4. Main Reasons Why People Say “Don’t Use Python”

Python is a globally popular programming language, but some people express negative opinions like “Don’t use Python.” So why does Python receive such criticism? This section explains the main reasons why Python is criticized in detail.

1. Slow Execution Speed

Python is an interpreted programming language that executes code line by line, so it is said to be slower than compiled languages (such as C++ or Go). In particular, Python’s slowness can be an issue in cases like the following. ✔ Scenarios Where Python Is Considered Slow:
  • Systems that require real-time processing
  • Large-scale data processing
  • Game or VR development
Alternative languages: C++, Go, Rust

2. Potential Errors from Dynamic Typing

Python is a dynamically typed language, allowing you to use variables without specifying their types in advance. This flexibility makes it easy for beginners to learn, but it also has the downside of being prone to bugs.
x = "10"   # string
y = 5
print(x + y)  # Error (type mismatch)
Situations Where Python Type Mistakes Are Problematic:
  • Large-scale projects
  • Systems that require robustness
Alternative languages: Java, C#, TypeScript

3. Not Suited for Mobile App Development

Python is rarely used in the field of mobile app development. ✔ Reasons Why Python Is Unsuitable for Mobile Apps:
  • Lack of an official development environment
  • Performance issues
  • Limited support
Alternative languages: Swift (iOS), Kotlin (Android), Flutter (Dart)

4. Not Suitable for Embedded Systems or IoT

Python is not widely used in the embedded systems (hardware control) and IoT (Internet of Things) domains. ✔ Reasons Why Python Is Unsuitable for Embedded Development:
  • High memory usage
  • Poor at real-time processing
  • Difficult low-level control
Alternative languages: C, C++, Rust

5. Enforced Indentation Can Be Stressful

Python defines code blocks using indentation (whitespace).
def greet():
    print("Hello")
        print("World")  # ← error if indentation is off
Scenarios Where Python Indentation Becomes an Issue:
  • Inconvenient for people who want to use {}
  • Causes trouble in team development
Alternative languages: C++, JavaScript, PHP

Summary

Summarizing the main reasons people say “Don’t use Python,” we get the following. ❌ Things Python Is Bad At
  • Slow execution speed, making it unsuitable for high-performance processing
  • Dynamic typing leads to more bugs in large projects
  • Not mainstream for mobile app development
  • Unsuitable for embedded systems or real-time control
  • Enforced indentation doesn’t suit those who dislike it
Areas Where Python Excels
  • Data analysis, machine learning, AI development
  • Web development (Django, Flask)
  • Automation of tasks (scraping, data processing)
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

5. Benefits of Python

In the previous section, we explained the reasons why some say “don’t use Python.” However, Python is a popular programming language widely used around the world and has many advantages. In this section, we’ll explore Python’s strengths and benefits in detail.

1. Readable, Simple Syntax for Beginners

One of Python’s biggest features is its high code readability and simple syntax. Compared to other programming languages, it has fewer unnecessary symbols and rules, allowing you to write code intuitively. ✔ Example demonstrating Python’s high readability (comparison with other languages)
def greet():
    print("Hello, World!")

greet()
People who are well-suited for Python’s syntax
  • Programming beginners
  • People who want to write concise code
  • People who prioritize maintainability

2. Rich Libraries and Frameworks

Python offers a large number of libraries (external tools) and frameworks, which can be used for a wide range of purposes. ✔ Areas where Python’s libraries excel
  • Data analysis (NumPy, Pandas, Matplotlib)
  • Machine learning & AI (TensorFlow, PyTorch, scikit-learn)
  • Web development (Django, Flask, FastAPI)
import pandas as pd

data = {'Name': ['Tanaka', 'Sato', 'Suzuki'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)

print(df)

3. Overwhelming Share in Data Science & AI Development

Python is the most widely used programming language in data science and AI (artificial intelligence). ✔ Reasons why Python is popular for AI & data analysis
  • Comprehensive machine learning libraries (TensorFlow, PyTorch, scikit-learn)
  • Strong at numerical computation and statistical processing (NumPy, Pandas)
  • Easy graph and data visualization (Matplotlib, Seaborn)

4. Runs on Any OS or Environment

Python is a cross‑platform language that runs on any OS such as Windows, macOS, Linux. ✔ Ease of setting up Python environments
  • The same code runs on both Windows and Mac
  • Virtual environments (venv, Anaconda) make switching environments easy
  • Can also run in cloud environments (Google Colab, AWS Lambda)

5. Large Community and Comprehensive Documentation

Because Python is a popular programming language worldwide, its community is extremely active. ✔ Robust learning support for Python
  • Official documentation is easy to understand
  • You can ask questions on technical forums like Stack Overflow
  • Abundant resources in Japanese (Qiita, Zenn, etc.)

Summary

Python offers many advantages, including a simple syntax, rich libraries, strengths in data analysis and AI development, flexible environments, and a large community. ✔ Python’s strengths
  1. Simple, beginner‑friendly syntax
  2. Powerful libraries and frameworks
  3. Overwhelming share in data analysis & AI development
  4. Cross‑platform operation
  5. Robust learning environment and community
Especially, demand is high in data analysis and AI fields, and having Python skills can increase an engineer’s market value.

6. Who Is Suited for Python and Who Isn’t

We’ve covered Python’s advantages and disadvantages in detail so far, but many people are still wondering, “Is Python really right for me?” In this section, we’ll outline the characteristics of people who are a good fit for Python and those who aren’t, clarifying what goals make Python a suitable choice.

People Who Are Suited for Python

1. Those Who Want to Do Data Analysis, Machine Learning, or AI Development

Python is the most widely used programming language in data science and AI. If you’re interested in any of the following applications, learning Python is worthwhile. ✔ Where Python Shines
  • Data Science (statistical analysis, data analytics)
  • Machine Learning & Deep Learning (image recognition, natural language processing)
  • Finance & Marketing Analytics (data‑driven decision making)

2. Those Who Want to Develop Web Applications

Python is also well suited for web development, especially backend development (server‑side processing). ✔ Python‑Friendly Development
  • Simple web app development (Flask)
  • Large‑scale web service development (Django)
  • REST API development (FastAPI)

3. Those Who Want to Automate Tasks or Scrape Data

Python makes it easy to create automation scripts that streamline everyday tasks. ✔ Examples of Automation with Python
  • Web scraping (Selenium, BeautifulSoup)
  • Data processing & report generation (Pandas, openpyxl)
  • Automated email sending (smtplib)
  • File organization & manipulation (os, shutil)

4. Beginners Who Want to Learn Programming with a Simple Syntax

Python is one of the best languages for programming beginners. Compared with other languages, its syntax is intuitive, easy to understand, and has a low learning curve. ✔ Why Python Is Beginner‑Friendly
  • Simple syntax → concise and readable code
  • Clear error messages → easy to debug
  • Abundant learning resources → YouTube, Udemy, official documentation, etc.

5. Professionals Who Want to Leverage IT Skills in Their Careers

Python is in high demand in corporate development and data‑analysis roles, so acquiring the skill can broaden opportunities for career moves or side projects. ✔ Jobs That Benefit from Knowing Python
  • Data Scientist
  • Machine Learning Engineer
  • Web Engineer
  • IT Consultant
  • Systems Developer

People Who Are Not Suited for Python

1. Those Who Need to Build High‑Performance Systems

Because Python’s execution speed is relatively slow, it’s not suitable for systems that require real‑time processing. ✔ Development Areas Where Python Is Unsuitable
  • Game engine development
  • High‑frequency trading (HFT) and other finance systems
  • Real‑time control of IoT devices
Alternative Languages
  • C++ (games, high‑performance processing)
  • Rust (safety and speed)
  • Go (high‑performance server‑side)

2. Those Who Want to Develop Mobile Apps

Python isn’t well suited for mobile app development. While frameworks like Kivy and BeeWare exist, it’s more common to use Swift (iOS) or Kotlin

7. FAQ (Frequently Asked Questions)

Among people interested in Python, many wonder, “What’s Python really like?” In this section we pick common questions about Python and answer each in detail.

Q1. Is Python suitable for beginners?

Answer: Yes, Python is very suitable for beginners. Python has a simple syntax and intuitive structure, making it an easy-to-learn language for programming beginners. ✔ Reasons Python is beginner‑friendly
  • Simple syntax (uses indentation instead of braces {} to define structure)
  • Readable and easy to understand
  • Clear error messages
  • Abundant tutorials and learning resources

Q2. How much of an issue is Python’s slower execution speed?

Answer: It becomes an issue in scenarios requiring high‑performance processing, but for most use cases it isn’t a problem. Because Python is an interpreted language, its execution speed is slower compared to compiled languages like C++ or Go. ✔ Cases where Python’s slowness is problematic
  • Game development (requires real‑time rendering)
  • High‑frequency trading (financial systems requiring millisecond‑level processing)
  • Real‑time control of IoT devices
Ways to compensate for Python’s slowness
  • Cython (combines Python with C for speed)
  • Numba (uses JIT compilation to boost performance)
  • Implement performance‑critical parts in C++ or Rust and call them from Python

Q3. Can you develop mobile apps with Python?

Answer: It’s possible in principle, but generally not recommended. Python has mobile development frameworks such as Kivy and BeeWare, but the mainstream for native app development is Swift (iOS) and Kotlin (Android). ✔ Issues with mobile development in Python
  • Weak official support
  • Low performance
  • Scarce information and rarely used in real‑world development
Languages suited for mobile app development
  • iOS → Swift
  • Android → Kotlin
  • Cross‑platform → Flutter (Dart)

Q4. Does Python have a promising future?

Answer: Python’s future prospects are very strong. Python continues to grow, especially in areas such as data analysis, AI development, and web development, where it has a strong impact. ✔ Reasons why Python’s future looks bright
  • Growth alongside AI and machine learning advancements
  • Dominant share in the data science field
  • Increasing use in web development (Django, Flask)
  • Used for enterprise automation (RPA)

Q5. What are the differences between Python and other programming languages?

Answer: Python is a “simple and highly versatile” language.
LanguageKey FeaturesDifferences from Python
C++High performance, suited for game developmentExecution speed is overwhelmingly fast, but the learning curve is steep
JavaDesigned for large‑scale development, statically typedStrict typing reduces bugs, but code can be verbose
GoFast and strong in concurrencyTargeted at high‑performance server‑side processing
RustCombines safety and speedStrict memory management, high safety
JavaScriptFor web front‑end developmentRuns in browsers, serving different use cases than Python
Python excels in “ease of writing” and “versatility,” and its hallmark is that even beginners find it easy to learn.

Summary

Is Python suitable for beginners?Yes, its simple syntax makes it easy to learn.Is Python’s execution speed slow?It can be an issue for high‑performance needs, but it’s fine for most use cases.Can you build mobile apps with Python?It’s possible, but using Swift or Kotlin is more appropriate.Does Python have a promising future?It continues to grow in AI and data analysis, so its prospects are strong.What are the differences between Python and other languages?It’s highly versatile and easy for beginners to learn.

8. Summary

So far, we have explained in detail Python’s characteristics, the reasons it is sometimes told to be avoided, its pros and cons, who it is suitable for and who it is not, and common questions. In this section, we will summarize the final decision on whether you should learn Python.

Overall Summary of Python’s Pros and Cons

Python’s Advantages
  1. Simple, beginner-friendly syntax
  2. Powerful libraries and frameworks
  3. Dominant share in data analysis and AI development
  4. Cross‑platform compatibility
  5. Rich learning resources and community support
Python’s Disadvantages
  1. Slower execution speed
  2. Potential errors due to dynamic typing
  3. Not well suited for mobile app development
  4. Unsuitable for embedded systems and real‑time processing
  5. Mandatory indentation can be stressful for some

Characteristics of People Who Should Learn Python

People Who Are Well‑Suited for Python
  • Want to do data analysis or AI development
  • Want to build web applications
  • Want to automate tasks
  • Want to learn a beginner-friendly programming language
  • Want to leverage IT skills in your job
People Who Are Not Well‑Suited for Python
  • Need high‑performance processing for development
  • Focus primarily on mobile app development
  • Work on large‑scale projects that require strict type safety
  • Prioritize code flexibility

Conclusion: Should You Learn Python?

Python is a programming language that is easy to learn even for beginners and highly practical. In particular, it is an extremely powerful tool in the fields of data analysis, AI development, web development, and automation. On the other hand, because it is not suitable for areas that require high‑performance processing or mobile app development, you may want to consider other languages depending on your goals. If you’re wondering, “I want to learn programming but don’t know which language to start with,” starting with Python is one of the best choices. This is because Python is a simple language geared toward beginners, and transitioning to other languages is easy.

If You Decide to Learn Python, What Should You Do Next?

Python Learning Steps
  1. Learn the fundamentals of Python (e.g., Progate, Udemy, YouTube, etc.)
  2. Write simple programs (practice basic syntax)
  3. Take on practical projects (web scraping, data analysis, etc.)
  4. Dive deeper into Python specialties (data analysis, machine learning, web development, etc.)
Mastering Python not only boosts your skills as an engineer but also enables you to automate tasks, perform data analysis, and apply it in many other scenarios.

Final Summary

Python is sometimes told to be “avoided,” but that’s because its suitability depends on the purpose. However, if you aim for data analysis, AI development, web development, or automation, Python can be considered one of the optimal choices. I hope this article provides useful criteria for deciding whether to learn Python. Please choose the programming language that fits your goals and keep learning!
侍エンジニア塾