ProductsDesktop Server Red Hat Enterprise Linux OpenStack Platform For IBM POWER For IBM System z For SAP Business Applications Red Hat Satellite Management For Scientific ComputingExtended Update Support High Availability High Performance Network Load Balancer Resilient Storage Scalable File System Smart Management Extended Lifecycle SupportAccelerate Automate Integrate Red Hat JBoss BPM Suite Red Hat JBoss Developer Studio Portfolio Edition Web Framework Kit Application Platform Web Server Data Grid Portal Fuse Red Hat JBoss A-MQ BRMS Red Hat JBoss Fuse Service Works JBoss Operations Network JBoss Community or JBoss enterprise Red Hat JBoss Data Virtualization
SolutionsWhy Red Hat Why open hybrid cloud? The new IT Public cloud Cloud resource library Private cloud Infrastructure-as-a-Service (IaaS) Platform-as-a-Service (PaaS) Cloud applications and workloadsSolaris to Red Hat Enterprise Linux Migration overview Migrate from your UNIX platform How to migrate to Red Hat Enterprise Linux Upgrade to the latest Red Hat Enterprise Linux release JBoss Enterprise Middleware Benefits of migrating to Red Hat Enterprise Linux Migration services Start a conversation with Red Hat
TrainingPopular and new courses Red Hat JBoss Administration curriculum Core System Administration curriculum Red Hat JBoss Middleware Development curriculum Advanced System Administration curriculum Linux Development curriculum Cloud Computing, Virtualization, and Storage curriculum
ConsultingSOA and integration Business process management Cloud and virtualization Custom Software Development Enterprise Data and Storage Systems management Migrations
Fedora 13 Spotlight Feature: Exploring New Frontiers of Python Development
April 27, 2010
by Fedora Team
This is the second post in our blog series highlighting some of the cool features slated for Fedora 13. Our first spotlight feature focused on improvements in NetworkManager. This second post dives into several new and innovative features planned for Fedora 13 that we believe will be useful to Python developers of all levels. Early in the development cycle, Fedora engineering team member and contributor David Malcolm started working on more intelligent tracing and debugging features that solve some common difficulties. This work serves as an example of how Fedora leads by solving technical problems through the power of open source.
The release of Fedora 12 included SystemTap 1.0, a tracing utility that allows developers to instrument code, to see how its flow corresponds to various system activities such as reading from devices, or consulting bits of memory. You can read more about SystemTap in this interview with Will Cohen, a tools engineer at Red Hat. In that interview, which was conducted for the release of Fedora 12, Will mentions that he expected SystemTap to evolve beyond the Linux kernel to include higher-level user applications. In Fedora 13, we plan to include static probes, which application developers can use to understand how their code is interacting with system resources.
SystemTap includes its own scripting language, and David Malcolm used this capability to develop a Python-based “top” function, to show Python activity across the entire running system. But beyond that, he also created an additional script that developers can use to see their applications calling and returning from individual Python functions. The combination of these tools in Fedora 13 can give developers immediate insight not only into their program’s flow, but also into how their application spends its time, and where bottlenecks might be occurring.
But that’s not all. We anticipate that Fedora 13 also will include a new feature for integrated debugging of Python and C/C++ libraries using the GNU debugger (gdb). The Python programming language is simple, readable, and powerful, but it is not as fast as those that are compiled into pure machine code. Programmers often use Python with compiled libraries written in C or C++ language to enhance speed. However, in the past this made debugging more difficult as a program would wind its way in and out of the different kinds of code. In Fedora 13, though, the GNU debugger can provide information needed to debug both the interpreted and the compiled code, making the developer more effective at identifying and squashing bugs.
To watch David Malcolm explain some of these features, and give an on-screen demonstration of how they work, check out the video below on Python in Fedora 13. You can also read a Fedora community interview and information page about Python in Fedora 13 here.
And to see these features in action, you can try out the Fedora 13 Beta pre-release, which is available here. The final release of Fedora 13 is expected to be available in mid-May. Look for additional blogs in the coming weeks highlighting other cool features slated for Fedora 13.