Martin Maly answers some questions about building a dynamic language using the DLR:
Friday, February 29, 2008
DLRScript: use DLR-based languages in the Script tag of a normal HTML Page
An intriguing new project has just surfaced on Codeplex:
DLRScript is a SilverLight 2.0 sample using the DLR. It lets you use DLR-based languages in the Script tag of a normal HTML (or .aspx, or .jsp or .php, etc.) page.
This is an alpha and should work with the Silverlight 1.1 alpha, but is aimed at Silverlight 2 - due to be released (well - a beta anyway) at Mix 2008 shortly. So far it only works with IronPython, but is intended to work with all the DLR languages. It allows you to include scripts (marked with DLRScript) in webpages using Python!
DLRScript is a SilverLight 2.0 sample using the DLR. It lets you use DLR-based languages in the Script tag of a normal HTML (or .aspx, or .jsp or .php, etc.) page.
This is an alpha and should work with the Silverlight 1.1 alpha, but is aimed at Silverlight 2 - due to be released (well - a beta anyway) at Mix 2008 shortly. So far it only works with IronPython, but is intended to work with all the DLR languages. It allows you to include scripts (marked with DLRScript) in webpages using Python!
Labels:
silverlight
Thursday, February 28, 2008
Twining: IronPython DSL for Database Update III - Plus Other Incidentals
MetaDeveloper continues his exploration of IronPython with an update to his DSL for working with databased:
Unfortunately Peter Seale includes IronPython in his list of things that he won't be learning!
Mark Ramm has written an interesting entry on the JVM as a Platform for Dynamic Languages which is relevant to IronPython. An interesting debate in the comments follows.
I've also found an interesting link from late last year that I don't think I've posted before: on integrating IronPython with Visual Studio 2005.
Unfortunately Peter Seale includes IronPython in his list of things that he won't be learning!
Mark Ramm has written an interesting entry on the JVM as a Platform for Dynamic Languages which is relevant to IronPython. An interesting debate in the comments follows.
I've also found an interesting link from late last year that I don't think I've posted before: on integrating IronPython with Visual Studio 2005.
Wednesday, February 27, 2008
Apodora: A New Web Testing Tool
Actually a blog entry from inCisif.net (who have their own testing tool scriptable in IronPython), about Apodora - which apparently is a new web testing tool (free and open source) programmable via (and based on) IronPython:
Python GUI Programming Platforms for Windows
The GITS blog has a great entry showing the code (and results) for quite a few of the alternatives for Windows GUI Programming. It includes all the usual suspects (well, most of them), as well as native-win32 with ctypes and IronPython and Windows Forms:
Extending Abobe Flash Player and AIR with Python and Ruby
An intriguing blog entry about an Adobe experimental project. It is a C/C++ cross- compiler for the flash player and AIR. This means that you can (will be able to?) cross-compile the Python / Ruby/ lots of other language runtimes and then run them in Flash. The blog entry contrasts this approach to the DLR which requires the re-implementation of dynamic languages - hence IronPython and IronRuby.
The project is already beyond proof-of concept, they even have Quake III cross-compiled and running in Flash.
Quake 3 has already been ported to managed code, but this is even more impressive. Whether the Python interpreter can be cross-compiled to run on top of another runtime (with completely different basic types), without changing the language semantics at all, has yet to be proved - but it is a very interesting project. (It also means that Python/Ruby will possibly be enabled only by additional optional downloads - but don't forget that IronMonkey is another possibility for browser scripting with Python.)
The project is already beyond proof-of concept, they even have Quake III cross-compiled and running in Flash.
Quake 3 has already been ported to managed code, but this is even more impressive. Whether the Python interpreter can be cross-compiled to run on top of another runtime (with completely different basic types), without changing the language semantics at all, has yet to be proved - but it is a very interesting project. (It also means that Python/Ruby will possibly be enabled only by additional optional downloads - but don't forget that IronMonkey is another possibility for browser scripting with Python.)
Saturday, February 23, 2008
IronPython in Action Available for Pre-Order
IronPython in Action is now up on Amazon and available for pre-order:
Labels:
book
Friday, February 22, 2008
Ironclad 0.1 Released:
William Reade (and an able team of companions from Resolver Systems) have been working on a project to allow you to use Python C extensions from IronPython. The first release is now available (still very much a work in progress) as a google code project, and you can read the details on my blog:
First Look at Silverlight 2
A preview from Scott Guthrie on what we can expect from the forthcoming beta release of Silverlight 2.
Silverlight is the Microsoft browser plugin for creating Rich Internet Applications, and is scriptable with IronPython. Silverlight 2 was previously known as Silverlight 1.1, and the new release (next month) will include rich controls and APIs including network support and threading. Scott's blog says:
The Beta1 release of Silverlight 2 is 4.3MB in size, and takes 4-10 seconds to install on a machine that doesn't already have it. Once Silverlight 2 is installed you can browse the Web and automatically run rich Silverlight applications within your browser of choice (IE, FireFox, Safari, etc).
Silverlight is the Microsoft browser plugin for creating Rich Internet Applications, and is scriptable with IronPython. Silverlight 2 was previously known as Silverlight 1.1, and the new release (next month) will include rich controls and APIs including network support and threading. Scott's blog says:
The Beta1 release of Silverlight 2 is 4.3MB in size, and takes 4-10 seconds to install on a machine that doesn't already have it. Once Silverlight 2 is installed you can browse the Web and automatically run rich Silverlight applications within your browser of choice (IE, FireFox, Safari, etc).
Labels:
silverlight
IronPython DSL for DB Update II
Metadeveloper posts an update to his IronPython DSL for working with databases:
Thursday, February 21, 2008
Embedding PowerShell in IronPython and vice versa
PowerShell and Python may both be scripting languages, but their strengths are in different areas. This blog entry by Steve Gilham shows how the two can play nicely together:
Labels:
powershell
Wednesday, February 20, 2008
Want to Work on Languages at Microsoft?
There are several job vacancies on the Microsoft dynamic languages team. These include devs and testers for IronPython and IronRuby. John Lam's blog has the details:
Get List of Types from Assembly in IronPython
Saqib Ullah shows how easy .NET reflection is in IronPython by listing all the types in an assembly:
Labels:
reflection
SharpDevelop 3.0 Beta 1 Available
SharpDevelop 3.0 Beta 1 (a Windows IDE for .NET) is now available. One of the new features is IronPython support:
IronPython DSL for ETL
David Seruyange has been experimenting with creating a Domain Specific Language for working with databases:
Lang.NET Videos Available
Videos from the Lang.NET 2008 conference have gone up (Silverlight 1.0 required to watch videos). Videos available include talks by Jim Hugunin, Seo Sanghyeon, Martin Maly and Giles Thomas:
Labels:
conference,
videos
Sunday, February 17, 2008
Graphics with SDL, OpenGL and the Tao Framework
Sylvain Hellegouarch has posted some examples of working with OpenGL, from IronPython, to the IronPython Cookbook:
- OpenGL - Initializing Context With GLFW
- OpenGL - Rendering a spinning triangle with GLFW
- SDL for 2D Graphics with Zoom
Friday, February 15, 2008
OpenSimulator Python Scripting via realXtend
This is all new to me, but it looks really interesting. This is a blog post introducing the new 'Open Simulator' planet aggregator, and the work of realXtend.
OpenSimulator is an Open Source Application Platform which can be used for creating immersive 3D Virtual Interactive Environments such as Virtual worlds. According to the blog entry they have had a lot of work contributed by realXtend:
Creating an open source platform for interconnected virtual worlds is the goal of realXtend project. We collaborate with OpenSim, OpenViewer and realXtend viewer projects.
Their work includes:
On the serverside, RealXtend have implemented some nifty features such as Python scripting support (via IronPython)
OpenSimulator is an Open Source Application Platform which can be used for creating immersive 3D Virtual Interactive Environments such as Virtual worlds. According to the blog entry they have had a lot of work contributed by realXtend:
Creating an open source platform for interconnected virtual worlds is the goal of realXtend project. We collaborate with OpenSim, OpenViewer and realXtend viewer projects.
Their work includes:
On the serverside, RealXtend have implemented some nifty features such as Python scripting support (via IronPython)
Labels:
games
Wednesday, February 13, 2008
Techdays 2008
Not everything that is good in the IronPython world happens in the English Language (duh!), but it is only occasionally I can understand enough to post news on non-English events. This one seems straightforward enough though, it is an IronPython talk by Alcides Fonseca at Techdays 2008 in Portugal:
Labels:
conference
Installing Python.NET 2.0 Alpha 2 on Windows XP
Feihong Hsu explains how to install (including compiling from source with the free Visual Studio Express 2008) Python.NET 2 Alpha 2 for Windows XP. Python.NET is an alternative to IronPython that lets you use the .NET framework from CPython:
Tuesday, February 12, 2008
Download Modules on Demand with Resolverforge
Resolverforge implements a 'require' function that you can place before imports. If the required module is not available then it will be downloaded. A Windows Forms message box is used to ask the user to confirm the download.
Resolverforge was implemented for the Resolver One spreadsheet program, but should work fine with any IronPython code where Windows Forms is available. (i.e. not inside ASP.NET!)
This is only a client-side implementation. Currently it fetches individual Python files from a respository on the Resolverhacks site (although the repository it uses is configurable). At some point there will be a companion website for uploading modules to.
Resolverforge was implemented for the Resolver One spreadsheet program, but should work fine with any IronPython code where Windows Forms is available. (i.e. not inside ASP.NET!)
This is only a client-side implementation. Currently it fetches individual Python files from a respository on the Resolverhacks site (although the repository it uses is configurable). At some point there will be a companion website for uploading modules to.
Labels:
resolver
Python Mini Benchmark
After the debate on comp.lang.python about Python vs IronPython performance, 'sokoide' has posted a mini-benchmark comparing Python and IronPython (but heed Steve Holden's wise words on benchmarks in the newsgroup thread).
It appears to benchmark an implementation of the N-Queens puzzle (although I don't think he has posted the code used). In this benchmark IronPython comes out as a clear winner.
Interestingly Python on Windows appears to do better than Python on Mac OS X. In the past this has been attributed to Visual Studio (the Windows compiler) being optimised for performance where gcc is optimised for portability.
It appears to benchmark an implementation of the N-Queens puzzle (although I don't think he has posted the code used). In this benchmark IronPython comes out as a clear winner.
Interestingly Python on Windows appears to do better than Python on Mac OS X. In the past this has been attributed to Visual Studio (the Windows compiler) being optimised for performance where gcc is optimised for portability.
Labels:
benchmarks,
performance
Saturday, February 09, 2008
Academic Resource Kit from Microsoft Romania
IronPython is included in the "Academic Resource Kit", a DVD of free tools put together by Microsoft Romania:
Wednesday, February 06, 2008
Tenuous Links
A few recent links that are more or less relevant to IronPython...
- Ruby.NET is dead, long live IronRuby
- Alex Reich Hypothesises that a Microsoft Yahoo merger might mean more IronPython use
- Claudio M. E. Bastos Iorio looks at how VB.NET is returning to its roots through the influence of the DLR and IronPython
- A comp.lang.python discussion on whether IronPython is really faster than CPython
- The Da Vinci Machine Project is an experimental Java project which is their answer to the DLR (how Sun is furthering dynamic language support on the JVM). "This project will prototype a number of extensions to the JVM, so that it can run non-Java languages efficiently, with a performance level comparable to that of Java itself."
- Curt Hagenlocher announces a new project that will generate static assemblies from IronPython code, so that classes defined in IronPython can be used from other .NET languages. This will become a CodePlex project, but he has posted some code.
- Cobra - a new .NET high level language, with Python inspired syntax. The docs include a Comparison to Python. Features include:
- a clean, high-level syntax
- It runs on Windows, Mac and Linux
- static and dynamic binding
- first class support for unit tests and contracts
- compiled performance with scripting conveniences
- ...and more
Labels:
languages
Building on the DLR
Tomas Restrepo has a series of posts on building a language with the DLR, drawing from both the provided ToyScript example and IronPython:
Labels:
dlr
Grabbing SQL 2005 Blobs with IronPython
A post, with code, on grabbing 'blob data' from SQL Server 2005 from IronPython:
Debugging Memory Problems in IronPython
Kamil Dworakowski has done an update to his post on the "Static Subject to Observer Mapping Anti-Pattern" that was causing a memory leak in Resolver One. This post details the tools and techniques he used to trace the memory leak in an IronPython application.
Tuesday, February 05, 2008
Hephaestus Games Engine replacing Lua with IronPython
Pirogoth, one of the developers of the Hephaestus Games Engine, blogs about the decision to change their development languages:
http://torquedev.blogspot.com/2008/02/changes-in-air.html
- IronPython will replace Lua as the scripting language
- C# will replace C++
http://torquedev.blogspot.com/2008/02/changes-in-air.html
Friday, February 01, 2008
More from Lang.NET
Lang.NET is now over, but it left a lot of impressed people - particularly the presentations on the DLR and Mono (and Resolver of course).
- Morning Coffee with Devhawk - who rates Martin's talk on the DLR as the coolest Microsoft talk and was also impressed with Mono and Moonlight and the new Second Life script runner which uses the Mono engine (which should allow second life scripts to be written in IronPython in due course). His take on Resolver: "Creating a spread-sheet based app development environment is one of those ideas that seems obvious in retrospect".
- Mig Tamale in da Sim - Miguel is also back from the conference and has a screenshot of Secondlife on Linux: "The work that we are doing on Mono's runtime to support Silverlight (the sandbox system and the hardening of the runtime) is going to enable the use of other programming languages to script components on Second Life". (He also posted a blog entry commenting on the Mono/Second Life integration.)
- Perl 6 on the DLR - impressed by the DLR, Mr. Colliertech (who's real name I still haven't worked out) wonders what it would take to get Perl running on the DLR. (Hell freezing over I hope personally, but people have to try...)
- The Resolver - Coding the markets has finally given Resolver a spin: "Where it scores big over Excel is in exposing its internals, specifically the calc model and worksheet in one seamless view."
- Lang.NET Highlights from Knowing.NET - I intend to write more about Resolver soon. Like OneNote, this is one of those applications that give you a shock of recognition -- "Yes! This is what I want!"
- West Coast Grid Discovers Resolver One - The title says it all: "Hey, Excel: Resolver One understands .NET. Are you learning?".
Labels:
conference,
dlr,
mono,
resolver,
secondlife
Subscribe to:
Posts (Atom)