X# Functional Programming from Microsoft?
TheSync writes "SearchWebServices.Com has an article claiming that Microsoft is working on a functional language named 'X#'. The language is supposed to be data-oriented and LISP-like, but set up to handle XML."
Does anyone else get upset when XML is called a "programming language"? I mean, just because an acronym ends in the letter L doesn't make it a "programming language".
Isn't XSLT a functional language? It's a wonderfully helpful tool when working with XML. How would another language (X#?) help the situation?
I'd love to see more XSLT systems be built. XSLT becomes powerful when everything is XML, and everything can be obtained via HTTP. This is why Web Services (SOAP/etc) won't take off the way the web has. You can't address the object in a Web Service, you can only address its proxy. Not to mention that all of those objects have some odd proprietary interface to them, instead of the ubiquitous GET/PUT/DELETE of HTTP.
Wow, I really went off topic.
To sum up: Use XSLT!
Both Common Lisp and Scheme have long had packages for transforming XML (a language with EVEN WORSE syntax than Lisp) into Lisp and back again.
.net or java.
And a decent Common Lisp compiler absolutely smokes
First off I'm not sure whether to give this any weight. We have an article quoting a guy who doesn't even claim to have much inside knowledge about what is going on. The only thing I can throw in is that the head of Microsoft language development is looking for languages that handle niche problems much better than high performance general purpose languages even at the cost of drastically reduced performance; that is Microsoft is seriously considering another major scripting language even further from C++/Java than VB is. So this X# rummor does fit with the known facts; which is far short of saying its true.
d ocume nt_data_structure));
// x = 99
But anyway lets assume it is true. I think it would be absolutely wonderful. C is a great language in terms of performance, its a terrible language in terms of just about everything else: to use the old 60's expression
C programers know the cost of everything and the value of nothing while LISP programers know the value of everything and the cost of nothing. Once Microsoft included a functional language as part of Visual Studio it would open people's minds regarding all sorts of different paradigms, the same way that Visual Basic opened people's mind to event driven programming. Functional programming is very very powerful; and in some ways very natural.
Its becoming increasing obvious that writing high performance software is killing the ability for people to write understandable software. Imagine you file saving routines could be as easy as:
write_to_file(filename,(data_structure_dump(
Where data_structure_dump was generic (like Perl's datadumper) and part of the language.
Somebody below made the comment about Lisp being an excellent language for thinking about a problem while you are coding. I agree; why not have programs evolve naturally from programmers understanding the problem? Then the code gets cleaned up; and at the end the ineffecient loops that are killing performance get taken out and replaced by C++. I think that's a lot better than writing the program multiple times using: very detailed requirements then use cases then UML then C++. Why not have the use cases be the prototype for the program?
Finally this is a minor point but C, C++ and JAVA all have terrible terrible string manipulation. Why can't they have native to_data("Jan 1, 1983") or at least have:
string a = string("76" + 23)// a = "7623"
int x = int("76" + 23);
Anyway while this barely qualifies as a rummor I certainly hope it is true. If anyone from Microsoft is reading this thread pass it up the chain that this is one customer who would be thrilled with X#.