The O’Reilly Network has put online a few interesting development articles with subjects of Java & Lisp, Python on OSX and managed C++ on .NET.“Lisp and Java“
Why learn a new programming language? Among other excellent reasons (such as good, old-fashioned intellectual curiosity), there’s the opportunity to pick up useful techniques, tricks, and idioms that you can apply in your day-to-day programming life. At its best, studying a new language can give you the kind of conceptual shift that illuminates thorny problems in a new light. Even if your mainstream language of choice doesn’t provide the special-purpose syntax that you find in a language you’re exploring, you can often find a way to implement the underlying technique in a useful manner.
“Writing Managed Wrappers with Managed C++“
Welcome back! It has been a very long time since the last article in this three-part series. The second article focused on the ability to mix managed and unmanaged code in the same module, which is an ability that is unique to Managed C++; no other CLR language possesses this capability. In this installment, I will take this one step further. I will show you how to take existing legacy unmanaged C++ code, and make it usable from any CLR language in the managed world. This is accomplished via managed wrappers, which act as a managed proxy for the unmanaged C++, thus allowing that existing code to be used from C#, VB.NET, or any other .NET language. I don’t have to tell you how valuable this ability is to businesses that have lots of existing C++ code that they wish to use from C# or VB.NET.
“Panther, Python, and CoreGraphics“
Mac OS X Panther includes many updated developer tools. Among them is an enhanced version of Python 2.3 with its own SWIG-based bindings to the CoreGraphics library. Creating PDFs, JPEGs, and documents in other graphical formats just became a lot easier. This article summarizes the capabilities in the Python CoreGraphics module and shows how to use CoreGraphics to rescale and decorate images for publication to the Web.