Contents tagged with JavaScript
-
Scott Guthrie presents at NDDNUG
Scott gave a whirlwind presentation to a standing room only crowd at the North Dallas Dot Net User Group tonight. A wide range of topics were covered from IDE tips and tricks to ASP.NET tips to MS AJAX to LINQ and DLINQ (I still like to call it DLINQ rather than LINQ to SQL). I'm still not sure how all this got packed into a little over 2 hours. :)
-
ASP.NET AJAX 1.0 (excitement builds)
I just downloaded beta 1 of ASP.NET AJAX today. Wow! Lots and lots of changes. The type system has been greatly simplified. I like this. The move to prototypes over closures was a good decision. The core scripts are much easier to read and comprehend as well. The CTP download has been a 404 for me this evening so I haven't had a chance to dive into it.
-
A great article on functional programming...
http://www.defmacro.org/ramblings/fp.html
This article was a great overview of many of the aspects of functional programming. With what Micosoft is doing to the CLR and C# and VB it would seem that functional programming is making advances into the main stream. His article has imaginary Java samples and if you squint your eyes when he creates a class to hold a function you can see delegates.
I studied functional languages such as LISP and ML in college but quickly lost track of them after years of programming in corporate IT. To catch back up I've been spending the better part of a year studying functional programming concepts. While its been challenging at times, there have been alot of aha and oh yeah moments.
Since I have a great comfort level with C syntax I started my ride on the functional wagon with COmega. This is where I really began to "get" things like closures. I even found myself purposfully writing my own code to mimic a closure in good ol C# 1.0 for certain situations like Regex match evaluators. Once you see the "patterns" that higher order functions exhibit you can write them in plain imperative code. This will make you hunger for language constructs to do this work for you. Its like writing OO code in assembly language.
C# 2.0 Added true closures to the language with anonymous delegates. Woo hoo no more private nested classes to hold lexical context! (at least not that I write).
At PDC I got to see the preview of C# 3. This takes anonymous delegates a step further with "lambdas". There's lazy evaluation galore with LINQ. It would seem that MS has been bitten by the functional bug. Even the Atlas client APIs make good use of the functional elements of JavaScript.
I've also ventured out into IronPython and Ruby. These are great places to practice functional programming techniques.
The real challenge moving forward is finding the right balance. Theres no doubt in my mind that functional programming techniques are headed to the main stream. With the populatrity of Ruby and Rails and Microsoft adding functional capabilites into C# and VB the winds of change are blowing.
Link dump so I can keep track of what I'm researching:
COmega: http://research.microsoft.com/Comega/
LINQ: http://msdn.microsoft.com/data/ref/linq/
F#: http://research.microsoft.com/fsharp/fsharp.aspx
IronPython: http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
Ruby: http://www.ruby-lang.org/en/
Ruby.NET: http://www.plas.fit.qut.edu.au/rubynet/
IronRuby: http://wilcoding.xs4all.nl/Wilco/IronRuby.aspx
RubyCLR: http://www.iunknown.com/articles/2006/06/19/rubyclr-drop-4
Atlas: http://atlas.asp.net/Default.aspx?tabid=47
#Smalltalk: http://www.refactory.com/Software/SharpSmalltalk/index.html
brianbec's blog:
http://weblogs.asp.net/brianbec/default.aspx
http://weblogs.asp.net/brianbec/archive/2006/06/01/Lambdas_2C00_-Closures_2C00_-Currying_2C00_-and-All-That.aspx -
Microsoft Product Name Generator
Feel free to customize your own. Here's the srcipt source:
-
The Future of JavaScript.
http://ajaxian.com/archives/the-future-of-javascript-an-update-from-brendan-eich
I'm a big fan of JavaScript. It's amazing how versatile it is. Just look at all the AJAX libs that have popped up (e.g. Atlas). It's good to see that there is some thought being put into keeping this great programming tool up to date.
Iterators and generics in .NET 2.0 has laid the foundation for things to come in C# 3.0 (LINQ). I'm kind of wondering if some of these JavaScript features could be built upon to add some LINQ like functionality to JavaScript.
The article points out that there are many similarities between ECMAScript and Python. Admittedly I'm not that familiar with Python. I guess it's time I got serious with IronPython.NET. After many years of doing corporate web development with Microsoft tools (VB,C#,JavaScript) I've started to miss those college days of developing with many different languages for different kinds of problem domains. Thanks to things like JavaScript, Cw, IronPython and C# 3/LINQ my interest in other programming languages is peaking again.
All this focus on programming languages lately has just reminded me that it is a great time to be a developer!
If I have seen farther than others, it is because I was standing on the shoulders of giants - Isaac Newton -
Javascript libraries roundup
Here is a great list of javascript goodies for all you AJAX/Web 2.0 junkies:
-
E4X! Where have you been all my life?
How in the heck did I miss this? After seeing a couple of blog posts here on weblogs.asp.net about E4X I went out and did a bit of googling. In case you missed the boat like I did here's the scoop: E4X is a set of extensions to java script that was standardized back in June of 2004. It basically makes XML a first class citizen of the language (hmmm wonder where some of the ideas for XLINQ came from?). There are a couple of implementations of note that I have found. Namely firefox 1.5rc1 and macromedia action script.
-
Why JavaScript is one of the coolest languages around.
Every time I go back to coding any JavaScript I discover new things that I never knew were there. It's like the language that keeps on giving. :)