CppCon, The C++ Conference 2025 Alex Dathskovsky ☕ Dathskovsky: "C++ ♥ Python" youtu.be/9uwDMg_ojdk As C++ programmers, many of us have embraced Python as our second language due to its versatility and ease of use, particularly for algorithm development (Maybe we should change the false writing of C/C++ to C++/Python because its more accurate :)). However, one major challenge we encounter is Python's inherent slowness as an interpreted language. In this talk, we propose a paradigm shift by redefining our approach as C++/Python, emphasizing the symbiotic relationship between the two languages. By leveraging various binding tools, we can significantly accelerate Python's performance and unlock its true potential. We will explore many binding tools and understand the advantages and disadvantages of each one. We will explore CPython and understand GIL pitfalls. By the end of this talk, attendees will have a comprehensive understanding of various binding tools available for accelerating Python and their respective advantages and disadvantages. Armed with this knowledge, C++ programmers will be empowered to bridge the gap between the two languages, enhance their algorithm development process, and unlock the full potential of Python. --- Alex Dathskovsky Alex has over 18 years of software development experience, working on systems, low-level generic tools and high-level applications. Alex has worked as an integration/software developer at Elbit, senior software developer at Rafael, technical leader at Axxana, Software manager at Abbott Israel and now a group manager a technical manager at Speedata.io an Exciting startup the will change Big Data and analytics as we know it .On His current Job Alex is developing a new CPU/APU system working with C++20, Massive metaprogramming and development of LLVM to create the next Big thing for Big Data. Alex is a C++ expert with a strong experience in template meta-programming. Alex also teaches a course about the new features of modern C++, trying to motivate companies to move to the latest standards.
C++ and Python: Bridging the Gap with Binding Tools
More Relevant Posts
-
Most Python developers think they understand encapsulation. They don’t, and honestly, Python intentionally breaks what most of us were taught in Java/C++. No private No protected No compiler enforcement Yet… senior engineers still build safe, maintainable, encapsulated systems in Python. The real problem isn’t “public attributes”. It’s shared mutable state, reference leaks, and uncontrolled mutation. In this article I break down: - Why _ and __ are not about privacy - How encapsulation actually fails in real Python code - Why @property, defensive copies, immutability, and __slots__ matter - The mental model seniors use: ownership > visibility If you’ve ever said “Python has weak encapsulation”, this one might change your mind. 👉 Read here: https://lnkd.in/gTpdybv5 #python #softwarearchitecture #backend #engineering
To view or add a comment, sign in
-
Most Python developers think they understand encapsulation. They don’t, and honestly, Python intentionally breaks what most of us were taught in Java/C++. No private No protected No compiler enforcement Yet… senior engineers still build safe, maintainable, encapsulated systems in Python. The real problem isn’t “public attributes”. It’s shared mutable state, reference leaks, and uncontrolled mutation. In this article I break down: - Why _ and __ are not about privacy - How encapsulation actually fails in real Python code - Why @property, defensive copies, immutability, and __slots__ matter - The mental model seniors use: ownership > visibility If you’ve ever said “Python has weak encapsulation”, this one might change your mind. 👉 Read here: https://lnkd.in/gYnqnefQ #python #softwarearchitecture #backend #engineering
To view or add a comment, sign in
-
The runtime offers new features for Python: an experimental async API and access to many native Python libraries like NumPy.
To view or add a comment, sign in
-
The runtime offers new features for Python: an experimental async API and access to many native Python libraries like NumPy.
To view or add a comment, sign in
-
Introduction to Python for Scripting and Automation Python is one of the most popular programming languages in the world today, and for good reason. It is simple, readable, and powerful, making it an excellent choice for beginners and professionals alike. While Python is widely used in web development, data science, and artificial intelligence, one of its most practical and underrated uses is […] The post Introduction to Python for Scripting and Automation appeared first on Blog Info Heap . Learn More: https://lnkd.in/dGWiC8KW www.bloginfoheap.com
To view or add a comment, sign in
-
Python Daily Tip #1 Python uses indentation to define code blocks, not braces {}. This will raise an error: if x > 0: print("Positive") This works: if x > 0: print("Positive") Why? Indentation is part of Python’s syntax, not just a formatting convention. If you’re coming from Java or Kotlin, think of indentation as mandatory braces. If this was helpful, like the post and leave a comment. Follow for daily Python tips. #Python #AndroidDevelopers #JavaDevelopers #SoftwareEngineering #ProgrammingTips
To view or add a comment, sign in
-
Just released erlang_python 1.0.0 I wanted to use Python ML libraries from Erlang/Elixir without the usual headaches - no HTTP APIs, no message queues, no subprocess juggling. So I built this. erlang_python embeds Python directly in the BEAM VM using dirty NIFs. You call Python functions like they're local, and the type conversion just works. Same API from Erlang or Elixir. What's interesting: The GIL problem is solved three ways: - Python 3.12+ sub-interpreters each get their own GIL - Python 3.13 free-threaded builds have no GIL at all - Or just spread work across BEAM processes like you normally would It's async-native. Call Python async functions, stream from generators, run concurrent I/O with asyncio.gather. With streaming, you get tokens as they're generated which is great for LLMs. Good fit for embeddings, semantic search, and RAG pipelines. The docs have examples for all of that. Works on Linux, macOS, FreeBSD. Python 3.11+, OTP 27+. https://lnkd.in/eHh9txfe https://lnkd.in/eX_9cUVH #erlang #elixir #python #ml #ai
To view or add a comment, sign in
-
🚀 Python 3.15 is bringing a long-awaited feature: frozendict! 🐍 If you’ve ever wished for an immutable version of a dictionary—similar to how a tuple is to a list—Python 3.15 (via PEP 814) is officially making it happen. What is frozendict? It is a built-in, immutable mapping type. Once created, you cannot add, remove, or update keys and values. Why should you care? 1️⃣ Hashability: Because it’s immutable, a frozendict is hashable. This means you can finally use a dictionary as a key in another dictionary or add it to a set. 2️⃣ Safety & Intent: It allows developers to pass configuration or state around an application with the guarantee that it won't be modified downstream. It’s a huge win for functional programming patterns in Python. 3️⃣ Performance: Immutable structures allow for internal optimizations that aren't possible with standard dicts, potentially leading to faster lookups and lower memory overhead in specific scenarios. Take a look: https://lnkd.in/dc3vUHpp
To view or add a comment, sign in
-
-
Nuitka is a Python-to-C compiler that turns your Python modules into standalone executables by translating them to C and compiling the result. As you can imagine, it is a fundamental tool for the Python and open-source community, especially when, as a developer, you are required to distribute your Python applications. That said, I recently wrote a detailed bug report for Nuitka v2.8.9 that has been highly valued by their lead developer and its fix will be part of the incoming major release (v4.0.0). It feels good to be able to contribute, when possible, to the open-source community, which has given me so much over the years as an engineer. There’s a misconception that you need to be a 10x developer and be able to patch open-source products yourself in order to contribute to the community. That’s far from true. Even if you are not patching open-source code yourself, you can still make terrific contributions in dozens of ways - for example by writing valuable bug reports. Thanks to the breakthrough technology known as "devcontainers", it's nowadays possible to clearly communicate how your environment is configured and address one of the primary causes of many bug reports: lack of reproducibility. #opensource #development #nuitka #python https://lnkd.in/dmkAaCxC
To view or add a comment, sign in
-
More from this author
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development