Recent Blogs About the Oxygene Language:
Oxygene is a Next Generation Object Pascal language development environment for creating managed applications for the Common Language Runtime – including Microsoft .NET and Novell's open source Mono framework – and the Java Runtime Environment – including regular Java and Android.
The new Oxygene 5 is a state-of-the-art compiler for managed platforms which is based on and stays true to its roots in Object Pascal, while at the same time taking the Pascal language into the 21st century by providing new and cutting-edge language technologies, from Class Contracts over support for Parallelized Execution to Aspect Oriented Programming. Oxygene supports all the features available in C#, Visual Basic .NET or Java, but goes beyond and takes developer productivity to a new level.
Oxygene is integrated deeply with the standard infrastructures provided by the respective frameworks – be it .NET or Java. It integrates with specialized tool-chains such as ASP.NET, WPF or Android and is tightly integrated with the Visual Studio 2010 IDE, giving developers a first class development experience, regardless of the platform.
With Oxygene being written in itself, the compiler runs on Windows, Mac OS X and Linux, giving developers a lot of flexibility in their working environment. It also generates 100% CLI-compliant assemblies for a wide variety of versions of the Common Language Runtime, including, of course, .NET 2.0 through 4.0 and Mono, but also the .NET Compact Framework, Silverlight and MonoTouch, as well as 100% pure JVM .jar files when building for Java or Android.
Editions
Oxygene is available in two separate editions, one for .NET (including Silverlight, Mono and other versions of the CLR) and one for Java (including Android). When combined, these two editions work together to provide one consistent user experience and development environment across both platforms.
Embarcadero Prism™
Oxygene for .NET is distributed and released under the Embarcadero Prism brand name in cooperation with our friends and partners at Embarcadero.
Buy your copy of Oxygene now – for .NET, Java or both – in our secure online store. Or get a free trial to give Oxygene for .NET a test drive, risk-free for 30 days, without technical limitation.
The IDE: Visual Studio 2010
Visual Studio 2010 is the new flagship IDE for Microsoft’s .NET Framework. Oxygene 5 ships with a copy of the Visual Studio 2010 Shell included in the box and also supports installation to higher-level SKUs of Visual Studio 2010 (such as Professional or Ultimate), if present.
Oxygene integrates deeply with Visual Studio to provide the same level of IDE experience that developers see using Microsoft’s own languages such as C#, Visual Basic or F# &ndash and then some. This includes support for the new WPF-based source code editor, participation in all the different tool chains provided for technologies such as WPF, WinForms, Silverlight, ASP.NET, WCF, and many more, as well as complete integration with the powerful Visual Studio debugger.
On top of the regular IDE experience, Oxygene extends the IDE with its own technologies that go beyond just the language. This includes a wide range of features, four highlights are provided below:
Oxygene 5 adds new and advanced error reporting to the Visual Studio source editor that will make you more productive in finding and resolving errors and warnings in your code.

Combined, these four features will change the way you code and interact with the compiler, and make you more productive than ever. Read more about these features in our blogs here and here.

Oxygene provides the ability to directly paste C# code found on the web or in sample projects.
Since C# is the most widely used language in the .NET family, many tutorials, examples and open source projects are written in this C-based language. While Oxygene can of course link to and use classes from assemblies written in C# or any other .NET language, it is, however, sometimes more convenient to just reuse a class or even just a brief code snippet found online directly in a project.
The Oxidizer feature lets you import code written in C# and have it translated automatically into the Oxygene language: developers can either right-click in the source code editor and choose “Oxidizer|Paste C# as Oxygene” to paste a piece of code directly from the clipboard, or they can use the “Add|Import C#” menu in the Solution Explorer to load and translate an entire C# source file.
New in the latest version is support for importing legacy Delphi/Win32 and Delphi for .NET code to convert it to Oxygene syntax and get a head-start for porting your application to .NET or Java. Just as with C#, Delphi code can either be pasted or imported from file, and will be adjusted to the Oxygene syntax differences on the fly.
With the release of Oxygene for Java, Oxidizer has also been expanded with the ability to import Java language source snippets and files as a third option (for use in either Java and .NET projects, of course).
In addition to the many platforms supported by Visual Studio out of the box, Oxygene for .NET also provides its own tool chain for writing Cocoa applications for the Mac using Mono and the popular open source Monobjc bridge library.
Oxygene for .NET includes templates to easily get developers started with new applications, and specialized IDE and MSBuild tools that help them write and compile applications for the Mac. The IDE knows how to handle XIB files created by the Mac Interface Builder and can automatically generate strongly-typed classes to provide access to objects and events defined in the XIBs, from code. Oxygene also supports packaging up projects for deployment as “.app” bundles as part of the build process (within the IDE and from command line builds), using a customized MSBuild task, the so called MacPacking.
Mac support in Visual Studio is rounded off by an extensive properties page that lets the developer control all aspects of the MacPack process.
Oxygene for Java does not just bring the next generation Object Pascal to the Java and Android platforms – it also brings with it the full Visual Studio IDE experience. It goes without saying that Java developers will be able to leverage the full power of Oxygene's code editor, with all the Smart Editing features from code completion to Fix-Its and Enhanced Error Reporting (see above), or all the project management functionality of Solution Explorer.
But Oxygene for Java also includes a full-fledged Java debugger, letting you launch and debug your Java projects right from the IDE and debug them with all the features you love from the Visual Studio debugger. And this includes debugging Android applications, both in the Emulator and on your devices.
Oxygene for Java also comes with full MSBuild-integrated support for the Android tool chain, allowing you to build your Android projects all the way to ready-to-deploy .apk packages.
The Language: Oxygene 5
Oxygene is a modern language that was developed from the ground up for the managed environment. It was designed to fit in well with the .NET and Java frameworks, to leverage the strengths of the platform, and to not artificially attempt to persist outdated paradigms that no longer have a place in managed code. As such, it is designed around concepts like garbage collection and generics, has deep support for the single-rooted type system and the pure OOP nature of the CLR and JRE, and integrates new language concepts like sequences and nullable types natively into the language.
Being based on Pascal and Object Pascal, developers coming from a background in Delphi/Win32 or other Pascal dialects will feel right at home with Oxygene. It will expose them to brand new platforms with many exciting new capabilities (both on a language and framework level), while allowing them to leverage all their knowledge of Object Pascal. The many new language features that Oxygene provides are designed to work intuitively, fit in great with the "Pascal look and feel" of the language an stay true to Pascal's design philosophy.
Oxygene provides a true super-set of what is available in C#, VB.NET and Java, as well as the underlying CLR or JRE platforms. This means that C# or Java developers switching to Oxygene will not miss a single of their favorite language features. At the same time, Oxygene provides a wide range of extra features – from Class Contracts to AOP – that are not available in C# or Java.
And virtually all of the features are available across platforms, making it really easy to share code between .NET and Java projects.
Read more about what the Oxygene Language has to offer for Delphi, C# and Java Developers in our language overview and in the Oxygene Language Wiki.
Oxfuscator: Code Obfuscation for .NET
One of the advantages of managed code is that, rather than being compiled directly into native CPU instructions, it gets built into “IL”, a higher-level binary code that is abstract from the actual CPU type the executable may be run on and that contains enough meta data to be analyzed and verified to be “safe” by the runtime, before actual execution.
The downside of this is that the higher-level code can also be easier to disassemble and reverse engineer, because it contains the full names of classes and their members, as well as code structures that are relatively easy to put back into readable code. Tools like .NET Reflector or ILDASM, which ships with the .NET Framework SDK, allows developers to look at and understand the ongoings in compiled .NET assemblies.
Sometimes this is not desirable, as code may contain trade secrets or confidential business logic that should not be readily accessible to users of the application. This is where so-called code obfuscation comes into play. Obfuscation is a process that takes an existing .NET executable (or set of assemblies) and processes it to make the code unreadable with tools like Reflector, without actually changing the behavior or the code itself.
Embarcadero Prism XE2 includes a free license to RemObjects Oxfuscator, a state-of-the-art obfuscation solution that integrates directly into the Visual Studio IDE and MSBuild compilation process to let developers obfuscate their executables as part of the regular compile cycle. Oxfuscator provides its own project type and can process assemblies generated with Oxygene, C# or any other .NET language. It can be controlled and configured using Attributes inside the code, or via its project property pages within the IDE.
Oxfuscator is also available separately (for C# or VB developers) from our secure online shop for $149.—
You can read more about RemObjects Oxfuscator here.
