Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The C program Prog when ported to Java would be called JProg, a port to C++ would be Prog++ and a port to Python would be called PyProg. These names are all quite obvious. But the C# port would be called IronProg, which strikes me as strange.

Why is it that programs ported to Visual Basic or C# are often called Iron*?

Examples: IronPython, IronScheme, IronRuby, etc.

share|improve this question
Perhaps, marketing? – FishBasketGordo Dec 13 '11 at 18:36
Most of the programs or tools tend to be called something-sharp or nSomething. Now the language conversions were IronRuby and IronPython . . . – Wyatt Barnett Dec 13 '11 at 18:36
Because .NET is strong – Raynos Dec 13 '11 at 18:36
It's not ported to C#, it's ported to .NET - doesn't answer the question, but an important distinction and there are quite a few programs called *.NET (e.g. Paint.NET, and Visual Studio had a .NET in it for one version). – delnan Dec 13 '11 at 18:36
See this thread with John Skeets excellent answer:… – Falcon Dec 13 '11 at 18:39
up vote 10 down vote accepted

Are they? I've mostly seen stuff with 'N' at the beginning, e.g., "NHibernate", "nUnit", "NAnt", "Noda Time", etc.

There's an "IronLanguages" project that does IronPython, IronRuby, etc., but it seems mostly to be concentrating on porting programming languages to the CLR.

Here's a blog post explaining the name. It quotes the creator of the IronPython project:

I'll give you the story, but I'll give you the short version 'cause it's not very good.

At the time, I had a consulting company called "Want of a Nail Software". "Want of a Nail" is based on a children's poem. It's about the importance of small things. I've always kind of believed in the importance of small things. Part of the story of IronPython's actual performance is it wasn't one big thing - Everybody wants to know "What was the one big thing?" There were some big things, but most of it was all the small things - paying attention to performance in every place.

So, that was the consulting company and "Iron" seemed to match.

There were some obvious names: Python.Net, Python#, nPython - All of those were taken. All of the URLs for those were registered.

I didn't want to reuse any of those names, so "Iron" was just kind of a name that appealed to me at a visceral level - I like the feeling of "IronPython".

There's a little bit of "Iron Chef" in it, although I'm always reluctant to admit that.

share|improve this answer
It also ended up being bacronymed to "It Runs On .NET". – Adam Lear Dec 13 '11 at 18:48
Yes, that's mentioned in the link, but the blockquote is already big enough. – Adam Jaskiewicz Dec 13 '11 at 18:56

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.