On The Insider: Mackenzie Phillips Arrested

Explore alternative languages for .NET development

Tags: .NET, Middleware, Application servers, Programming languages, Tony Patton, Microsoft .NET, CLR, COBOL, Fortran, .NET Newsletter

  • Save
  • Print
  • Digg This
  • 1

Takeaway: Discover how you can leverage your existing programming skills to build .NET applications using a number of alternative languages (besides C#, VB.NET, or J#) for the .NET Framework.

When .NET was first introduced, I had to giggle when the merits of the Common Language Runtime (CLR) were heralded; some IT pros said you could use almost any language to develop .NET code (as long as it was ported to the platform). I laughed since COBOL and Fortran were included in the list of possibilities. I hadn't seen either language since my school days, so I couldn't imagine anyone choosing either over C# or VB.NET. Well, of course, I was wrong, and the alternative .NET language landscape is very much alive. Before I discuss the alternative languages, I'll provide you with a quick run-through of the CLR.

The CLR

The CLR is the foundation of the .NET Framework. It is the core runtime engine in the.NET Framework for executing applications. It is based on the Common Language Infrastructure (CLI) international specification. Language compilers generate IL (Intermediate Language), which is passed to the CLR for execution.

The generated IL is the same regardless of the development language used, so your COBOL .NET, C#, or Pascal .NET code all compile into the same IL. It is an excellent platform for cross-language development/support. Given the standard architecture of the CLR, there are a number of non-.NET languages that have been ported to the environment. Therefore, you can spend time learning the platform while coding in a familiar language. Let's take a closer look at the other languages (besides C#, VB.NET, or J#) available to .NET developers.

Weekly .NET tips in your inbox
TechRepublic's free .NET newsletter, delivered each Wednesday, contains useful tips and coding examples on topics such as Web services, ASP.NET, ADO.NET, and Visual Studio .NET.
Automatically sign up today!

Alternative languages

In addition to COBOL, other older languages like Fortran and SmallTalk have been ported to .NET, along with newer languages such as Python and Ruby. Here is a sampling of the available languages:

  • COBOL: Fujitsu NetCOBOL for .NET brings the future to COBOL. After all, why restrict the mainframe language to all of the legacy code that was last touched to deal with Y2K issues? Utilize that seemingly-defunct skill set by building powerful Windows- or Web-based applications with COBOL. You can even use it to code ASP.NET.
  • Fortran: This is the scientific language of choice. Fortran's biggest advantage is the ability to easily handle calculations—regardless of complexity. It is no longer restricted to labs and campuses across the world as it is now available for the .NET world. (And I thought I typed my final line of Fortran during my college career.)
  • Pascal: My first programming job was with a local company that developed and continued to support an application for package delivery. The software was written with Borland Pascal. I remember being astonished at seeing Pascal outside of the classroom or a VAX environment. Well, now I can dust off the Pascal skills and utilize it to develop .NET applications with Borland Delphi, TMT .NET, or Component Pascal.
  • SmallTalk: I've been told countless times that SmallTalk is the ultimate object-oriented language, but I have no firsthand knowledge to validate the claim. (If you do have firsthand knowledge of SmallTalk, please write about your experiences in the article discussion.) It was created at the famous Xerox PARC lab and continues to be used today. An implementation is now available for the .NET Framework with #Smalltalk and S#.
  • RPG: This is one that truly blows my mind. I was briefly introduced to RPG during a high school class years ago, but I never was faced with it in the real world. If you want to utilize that RPG knowledge with .NET, check out Visual RPG.
  • Perl: My first real Web project entailed extensive use of Perl. I have to admit it is a powerful language, and many UNIX/Linux administrators take advantage of it every day. If you want or need to meld that Perl knowledge with .NET development, then check out the Perl Dev Kit.
  • PHP: The PHP language has exploded over the past few years. I have been impressed with it when I used it on a couple of smaller projects. It has grown from a scripting language to a robust development language, and the .NET Framework has not been ignored. PHP Sharp brings PHP to .NET.
  • Ruby: I've never had the opportunity to work with Ruby, but a couple of my friends love it. It has a devoted following and offers a way to utilize Ruby skills in the .NET world. The Ruby/.NET Bridge allows you to use Ruby and .NET objects together. The NetRuby interpreter is also available.

In addition to the porting of existing and established languages to .NET, new languages are in the works. One example is F#, which Microsoft is developing to provide all the great features that developers love without being tied to features found in previous incarnations (like existing languages).

Maybe you have a favorite language from the past that you'd love to use for .NET development? If you can develop it yourself, keep an eye on language developments at the .NET Language Developers Group site and the Microsoft Research site.

Another way to go

While you may be perfectly happy with your current language, you might be intrigued by ports of older languages to the .NET platform or interested in a new language in the works. Personally, I spend plenty of time just keeping up with C# and VB.NET developments, but no two developers are the same. The landscape of available .NET languages seems to affirm Microsoft's claim that .NET is a language-agnostic platform.

Miss a column?

Check out the .NET Archive, and catch up on the most recent editions of Tony Patton's column.

Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.

  • Save
  • Print
  • Digg This
  • 1

Print/View all Posts Comments on this article

PHPCSTruter  | 07/19/06
F# - Make more in less codeMattiasW  | 07/19/06
F#'s statusJustin James  | 07/19/06
yeah . . .apotheon  | 07/22/06
CFML (aka ColdFusion)kevin@...  | 07/19/06
CFML Implementation - More info please!jwilson@...  | 07/20/06
New Atlanta are the developers of Blue Dragonkevin@...  | 07/20/06
YA.NLUDSterling "Chip" Camden  | 07/19/06
Expecting moredarkmoonman@...  | 07/19/06
Same here...Justin James  | 07/19/06
SmalltalkMark Miller  | 07/19/06

What do you think?

Article Categories

Security
Security Solutions, IT Locksmith
Networking and Communications
E-mail Administration NetNote, Cisco Routers and Switches
CIO and IT Management
Project Management, CIO Issues, Strategies that Scale
Desktops, Laptops & OS
Windows 2000 Professional, Microsoft Word, Microsoft Excel, Microsoft Access, Windows XP,
Data Management
Oracle, SQL Server
Servers
Windows NT, Linux NetNote, Windows Server 2003
Career Development
Geek Trivia
Software/Web Development
Web Development Zone, Visual Basic, .NET
advertisement
Click Here