Friday, November 14, 2003

More on F#

F# is an implementation of the core of the Caml programming language for the .NET Framework, along with cross-language extensions. The aim is to have it work together seamlessly with C#, Visual Basic, SML.NET and other .NET programming languages. In particular it is the first ML language where all the types and values in an ML program can be accessed from some significant languages (e.g. C#) in a predictable and friendly way.

Purely functional languages like Haskell are excellent within certain niches, but unfortunately some simple programming exercises can quickly turn into problems that require a PhD. to solve. Purely imperative programming languages like C or Pascal do not provide satisfying mechanisms for abstraction or data manipulation. Purely object oriented languages like Smalltalk are excellent for some dynamic applications but do not provide static guarantees. Typed class-based languages like C# and Java contain a very large number of constructs, and it can sometimes be difficult for programmers to choose how to model their problem, and sometimes result in very large amounts of code just to solve quite simple problems. In contrast, languages such as Caml provide a smaller number of simple, orthogonal constructs which work together to allow for succinct yet efficient solutions to programming problems.

F# provides a subset of the OCaml libraries, so you don't have to use .NET libraries if it is not appropriate. It is possible to write large applications that can be cross-compiled as either OCaml bytecode, OCaml native code or F# code, for example, the F# compiler itself is written this way. This lets you reuse the investment you make in the core of a project while letting you write some parts of your application as F# code that makes use of .NET extensions.


Go to Microsoft Research

F#

F# is a relatively small research project designed to demonstrate that it is possible to easily implement ML-like languages for use on the .NET Framework. There are no current plans to commercialize F#, and the source code for the F# compiler is due to be published in June 2003. F# is public, on-going research, and Microsoft Research regularly and openly collaborates with universities on programming languages. There has been a long tradition of implementing ML-like languages within research laboratories as these have been widely accepted as foundational languages for programming language research, including the Caml project (encompassing both Caml-light and OCaml), New Jersey ML, Moscow ML, Dependent ML and many extensions to Standard ML. The implementations have often proved useful in practice, and are often used for teaching the foundations of programming. more info on Microsoft Research

Tuesday, November 11, 2003

Architecture - Diagram Longhorn

The architecture diagram of Longhorn *(points to MSDN) is here

Longhorn - certain definitions
Lornhorn - The new gen of Windows

Avalon - An even bigger leap forward for the Windows Graphics Subsystem than the introduction of DirectX. XAML will play a big role not only in WinForms, but look for a XAML to ASP.NET renderer as well.

Aero - The look and feel catches up to Mac OS X, and introduces some interesting twists, such as Common Dialogs for People.

Indigo - To protect your current investment, stick with ASMX and you won't go wrong. Don Box says Objects are baked. They're done, you use them, be happy. Use objects interally in your apps, but start getting your head around the differences between explicitly working with a remote object and sending a messsage. Messaging doesn't equal RPC. Boundaries between applications are explicit. Share schema, not type. Benjamin Mitchell has some great notes from Omri's talk.

ADO.NET 2.0 - more “database independant“ and a DBProviderFactory pattern makes it even more clear.

WinFS - NTFS still has many good years under it (although a better defragmenter couldn't hurt) but WinFS adds a new world of Metadata to Documents and Settings. WinFS's System.Storage will let us query metadata on our content with SQL, OLEDB, COM, or managed APIs. It is truly the base of the pyramid.


Thanks to marvin for providing me certain defns.

Why i like tablet PC

A wonderful article on why tablet PC is more important in today's lives. I had a great trouble in noting down the math formulae and physics formulae in my book (for my handwriting was the worst in my class). So my teachers had tough time correcting my papers, infact i used to impress my mom by talking to her all about the studies whatever i did (inspite of that i got the low marks). I wish Tablet PC was there during my school days (ofcourse!! correction should be on the online)

A new CLR Profiler

The CLR Profiler includes a number of very useful views of the allocation profile, including a histogram of allocated types, allocation and call graphs, a time line showing GCs of various generations and the resulting state of the managed heap after those collections, and a call tree showing per-method allocations and assembly loads. You can download it from here.

Webservices vs. Remoting

My teched blog has an article on webservices vs. remoting. You can have a look at it . If it is interesting write me back , then i will be motivated to write more :).

Patterns in ASP.NET

Maxim has a very intersting article on the patterns in ASP.NET .

Monday, November 10, 2003

Verizon - Topcoder winners

Seems verizon topcoder winners have been announced. My boss (Louis Fox) had appreciated the talent in chennai.

Looking @ the way the chennai guys have done. It makes me feel proud to be in chennai.
Anyway..


Krishnam Raju Jampani was the top scorer of the 25 finalists in the two-hour championship round held at Verizon's TIDEL Park facility here on November 7, and earned a cash award of Rs. 50,000. Arun Prakash Balakrishnail, Satish Chandran and Arun Venkataswamy won Rs. 30,000, 20,000, and 10,000 respectively.


hmmm...lots of money ...guys why dont u part some to me also ;)