|
Kuldip Oberoi, Product Line Manager in Developer Tools and Emerging Internet Technologies at Sun Microsystems, discusses the upcoming release, Sun Studio 12, and why it is the most important release to date. Q&A on Upcoming Sun Studio 12 Release
Q:
What is Sun Studio software?
A:
Sun Studio software, previously known as Forte Developer and Sun Workshop, is an integrated developer tool chain freely available on the Solaris Operating System and Linux platforms. Its features include the following:
A preview of the upcoming release is available through the Sun Studio Express program. The Sun Studio Express 2/07 build is also the basis of the Sun Studio 12 Early Access program. Compatibility is a big concern for this audience. How does Sun Studio software address this?
A:
Compatibility exists at different levels -- source, binary, and application. With Sun Studio software, Sun addresses all these levels. With source compatibility, once you have your application successfully building and running on the SPARC or x86 architecture, there is minimal effort to get it to work on the other. In regards to C++ ABI compatibility, differences in compiler implementations, even between subsequent versions of the same compiler, have caused C++ developers either to be stranded using an older compiler version that matches their libraries or reworking and recompiling all their binaries. With Sun Studio software, not only has the C++ ABI been stable for several releases, but the latest version allows developers to link objects and libraries created with earlier versions. Developers can leverage performance and other benefits of the latest release as well as the investment in software they already produced. Finally, once you have your application working on the Solaris platform, you are able to preserve the investment for the future. With some other operating systems, developers are finding major issues when trying to recertify their applications on newer OS releases. With Sun's large investment into application compatibility, applications written 10 years ago for the Solaris 2.6 release work, unmodified, on the Solaris 10 OS today. In fact, the Solaris Application Guarantee Program includes both source and binary: This is a reflection of our confidence in making application porting, between releases, an activity of the past. Let's switch gears and discuss a significant systems change that is occurring with multicore architectures becoming more popular. Do compilers and tools impact application development for these type of systems?
A:
One of the most significant trends to impact C, C++, and Fortran developers is the parallelism offered in multicore architectures. With the advent of the UltraSPARC T1 processor and the resulting Sun Fire T1000 and Sun Fire T2000 systems, multicore architectures have entered the mainstream in enterprise computing. While offering tremendous throughput advantages, developers need to ensure application parallelism to take full advantage of these new systems. Many environments, such as web or application servers, provide a multiprocess or multithreaded environment today. For C, C++, and Fortran developers, there is added importance in using the compiler technology that takes advantages of these architectures as well as tools and libraries to simplify the development of multithreaded applications. Sun Studio software includes compilers with autoparallelization capabilities, OpenMP support, thread profiling, and most recently, thread analysis. With these thread analysis capabilities, developers can quickly identify common multithreaded programming errors, including data races and deadlocks. In summary, creating high-performing multithreaded applications in less time. We've spoken a lot about the Solaris platform. Does Sun Studio software support other platforms?
A:
Yes! We have supported Linux with our IDE and tools, but not compilers, for the past three releases, but the Sun Studio Express build fully supports the Linux platform with the same optimizing compilers that we have on the Solaris platform. Linux developers will have access not only to improved application performance, but to the complete tools and set of libraries as well. This is especially crucial for folks developing for both Linux and the Solaris OS. With the same environment, users can boost application performance and simplify development across both platforms. Talking about productivity, are C, C++, and Fortran developers still primarily using vi and emacs as their editors?
A:
While those environments are very productive and customizable, we are finding that many developers have become accustomed to a productive IDE in other environments and are seeking similar functionality with their C, C++, and Fortran development on Solaris and Linux platforms. To address that, Sun has been innovating on a next-generation IDE based on NetBeans 5.5.1 that folks can use today via the Sun Studio Express program. Many developers use the GNU Compiler Collection (GCC). Would Sun Studio software be of interest to them?
A:
Certainly! There are several reasons why developers using GCC today would be interested in Sun Studio software. The optimizing compilers produce application runtimes that, on average, are 10-50% faster on x86 systems and 40-300% faster on SPARC processor-based systems. For more information, see our benchmarks. For C++ developers, ABI compatibility eases compiler upgrades allowing folks to spend more time innovating and less time recompiling. In addition, application vendors can statically link the C++ runtime library, which reduces the extra packaging and dependencies that many developers may face, especially on Linux. What if someone just can't change compilers mid-project?
A:
One of the great things about Sun Studio software is that it's integratable. You can keep using the GCC, but also use the available Sun Studio tools. For instance, unlike other common debuggers, the dbx debugger in Sun Studio software works with both GCC- and Sun Studio software-based binaries and is scriptable with any easy-to-use GUI. Do you ever get a memory leak? The Sun Studio memory debugger, known as Runtime Checking (RTC), identifies memory use, allocations, and leaks with both GCC- and Sun Studio software-based binaries. Finally, get a visual profile of the performance of your application using the performance analysis tools. With both clock and hardware-counter based date, you can collect and profile a variety of runtime metrics to help identify, and eliminate, performance bottlenecks in your application. What do you think are the biggest misconceptions about Sun Studio tools for GCC users?
A:
In the past, Sun Studio software cost thousands of dollars, which precluded some users from adopting our compilers, but cost is no longer an issue because this software became free, without restrictions, a few years back. Also, Sun Studio compilers are showing increasing improvement in working with code that is based on GCC. Adopting Sun Studio software is probably easier than you expect. Would developers working on the Java platform be interested in Sun Studio tools?
A:
Sure! Sun Studio software allows Java developers to debug Java code, including Java Native Interface (JNI) code, as well as do system profiling of their Java applications. In many ways, the debugger (dbx) operates on Java code in a similar fashion as it does with C, C++, and Fortran code. For applications based on JNI, developers can actually step from Java code into native code and back out into Java code to track down those hard-to-find JNI issues. In addition, the Performance Analyzer within Sun Studio is able to collect data from a system as well as directly from the Java Virtual Machine (VM). When you go to analysis, you not only are able to find out where your application is spending its time, but you get a visual display that allows you to quickly identify the function or line of code that needs to be improved. This is great! Where can I learn more?
A:
Check out the Sun Studio website on the Sun Developer Network (SDN). It's full of guides, technical articles, community forums, and downloads. |
|
|
| ||||||||||||