Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Good dynamic programming language for .net recommendation [closed]

Well, after a long time writing .net programs in C# I started to feel angry and frustrated about all that syntactic trash that comes with statically typed languages. Now I want to change to dynamically typed languages, that takes advantage of CLI. So I searched a bit around and I didn't like of what I saw. I first looked for IronPython. But the project feels disorganized, it just didn't look well at all. Then I heard about Boo. I liked boo's, the ideal and all, but it kinda feels like the project is halted. Then I heard of IronRuby, but the project is still at beta, and so I decided to wait until it gets more mature.

So as I couldn't find a good CLR compatible dynamic language, I'm asking you guys what do you(would you) use?

Since people started asking what is the reason for not choosing IronPython. Well the reason is, like I stated earlier, it seems disorganized. Why?

1- The homepage points to another page at codeplex, the homepage should be clean and just point the advantages of IronPython, take the IronRuby page as an example http://www.ironruby.net/ its that hides language-developent stuff from the user(even though the user has to access IronRuby's svn prior using it). What kind of issues IPython was trying to addres when it was created. Is there a page with that kind of information? Well the page is there, but its hidden on the 'More Information Page' among a bunch of meaningless links to articles. On Boo's page its at clear sight named as Manifesto http://boo.codehaus.org/BooManifesto.pdf .

There is more but the feeling that I have is that IPython is just a home-brewed interpreter, despite the quality that it can actually have. I felt that it was safer to download Boo and use IronPython(but no worries Microsoft I had also downloaded IPython).

About Duck-Typing and Boo's static typing they both seems to work fine for me.

like image 462
Diones Avatar asked Oct 05 '08 22:10

Diones


2 Answers

I'd still use Boo. I'm not sure why you believe Boo has been halted. Development sometimes seems slow, but there are multiple people currently working on bug fixes as demonstrated by this list of recently fixed issues (bugs).

For those unfamiliar with Boo, it's very similar to Python, but includes things that Python does not (like string interpolation and syntatic macros). You can compile Boo programs or use Boo through the "Boo Interactive Shell" booish.

By the way, I didn't like IronPython either when I looked at it a couple years ago. To me it looked like a straight port of Python to the CLI, but as far as I could tell it did not include new features typical .NET development requires.

EDIT: IronPython does seem to have progressed since I first looked at it (thanks for Curt pointing this out). However I have not bothered to look at IronPython again since I found Boo.

like image 99
Kevin Avatar answered Sep 22 '22 02:09

Kevin


In terms of practical usability IronPython is going to be your best bet right now.

Why are people suggesting Boo? It's a statically typed language, which is not what this question is asking for. Yes, I know it has optional duck typing, but really if Boo-related information is acceptable to the question author then the question should really be edited to make that clear.

Regarding IronPython, you said you didn't like it, but there really isn't any response I can give to critical comments that are so vague :)

Alternatively, I would suggest that you take a look at cPython. A couple points:

  • You can building .exe files with py2exe and other tools.
  • Much larger access to 3rd-party Python libraries and frameworks
  • Access to Windows APIs via pywin32
  • Python extension writen in C are usable (unlike IronPython, though there are efforts underway to improve this situation)

You will find that you really don't need .NET for most things. Of course this all depends on your application. For integrating with existing .NET code then obviously you have to use IronPython.

like image 24
teratorn Avatar answered Sep 22 '22 02:09

teratorn