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."
"Microsoft is working on a functional language...".
Heh...funny. We're finally getting some humor around here.
This space intentionally left blank.
I've been waiting for the .ANNOUNCEMENT, but .MAYBE I'm .HOPING for too .MUCH.
Being sharp isn't a good thing... It's actually common for singers who don't know how to sing to sing sharp... Yet, Microsoft likes C#, and X# (X isn't even a note this time.) I am excited though. I am waiting for someone to tune Microsoft a bit and perhaps release b-flat, or perhaps D##.
Sometimes being sharp is useful (in the right key), but if you already know the key is C, C# is not a good note to hit.
~ kjrose
Are you porting GNU/Emacs to .mono yet?
"Flyin' in just a sweet place,
Never been known to fail..."
This press release from 1998 talks about Microsoft adopting Haskell (a purely functional language with lazy evaluation).
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!
Okay, I'm convinced that this is April 1st in disguise. First the quardruple-speed browser, then the SCO patent issue, then the porno cellphones, and now this - Microsoft Lisp.
--
viqsi - See "vixen"
If we do not change our direction we are likely to end up where we are headed.
Just go ahead and take every language that you did not have a hand in and make something like it.
Maybe just give it a couple of things here and there to make it work better with microsoft products and slap a # on some letter.
This killing us slowly with your "new" stuff is well...killing me.
The next thing you know they are going to be taking something like unix and adding a letter to it and calling it the greatest thing sence sliced bread...oh wait, someone already did that with an L... guess you missed that one but you can steal it!
Neck_of_the_Woods
#/usr/local/surf/glassy/overhead
1. Expand .NET framework to cater to the 50 or so programmers out there who like both M$ and functional programming.
2. ???????
3. PROFIT!
"You can't just import an XML file and magically have it available to your program. You have to first put it through some sort of transformation, which requires work that is unnatural or unwieldy." -- Sean McGrath
yes you can
-
ping -f 255.255.255.255 # if only
Uh there are many many documents on lisp on the web along with studies that show that using lisp can speed up development. (actually they only show that people that use lisp devel faster - there can be other reasons why this relationship exists other than direct causality.)
Just for a few examples of where a lisp-like language is used - just about any game, AI, knowledge based systems, etc.
I was looking for a way to do a lot of XML processing in a lisp like language. Any suggestions other than this?
X# sounds like it is trying to achieve some of the goals of the Water language (Water posting on Nov 22, 2002.) Given that XML standards are used for defining APIs, data types, data, RPC, and presentation, it only seems logical to extend XML to handle general purpose logic. Working with XML from Java feels like writing a Java program using C libraries -- everything is a foreign call.
I am highly skeptical of things like this because it seems to just be microsoft attempting to control an xml based data language as a reaction to a similar open language, xquery, being developed by the w3c.
I dunno. Depends on what you mean by "real development". The main limiting factor seems to be the number of people who know Lisp well. If I had to hire a team to do a project in Lisp, I'd probably have to train them all. However, I used to know many very, very smart people who designed complex real world systems in Lisp. They just tended to work in a rather rarified stratosphere of problem domains: not your payroll and website kind of stuff, but horrible, complex and intractable problems.
Lisp is a great hackers language, because it seems like you can code as a way of thinking about a problem, an approach that is usually disasterous. Perhaps the awful syntax makes a necessity of the virtue of abstraction. I'd guess that in part this is because programs are data , rather than organizing things around compilation units, which leads to a differnt kind of rhythm to programming.
I wonder whether anybody has used extreme programming with Lisp; it seems like the lisp tendency to build small compact bits of code would be a natural fit.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I have a feeling this X# language will be even less adopted then even C#.
.NET server is being renamed to windows 2003 server. Why? remember those useless non-specific .NET adds on TV, in magazines everwhere?
.NET" Apparently MS marketers have discovered that they pushed the ".NET" trademark so hard... that the public is confused and the original meaning of .NET technology has been completely lost amoung all the hype.
.NET.
Basically, if anyone has being paying attention to the news... it seems the upcoming windows
"That's business with
Goes to show that sometimes millions spent on advertizing doesn't always make a product:)
I guess this is a little offtopic... but it sounds to me that X# will most likely be absorbed by the marketing mess that is
Good riddance:)
--Zuchini
P.S. I can't spell, cuz I'm lazy.
I'd love to think that Haskell was getting this kind of attention, but text at the bottom of the page reads:
"This bogus press release made the rounds on April Fools Day, 1998. Not long after this was released, Simon Peyton Jones announced his move to Microsoft (an event that caught the author of this press release by complete suprise!)."
1. They've been through re-hab
2. No need for creating hash lookups any more
3. X Sharp = Blunt
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
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
The next thing you know they are going to be taking something like unix and adding a letter to it and calling it the greatest thing sence sliced bread
:
August 1980: Microsoft announces XENIX OS, a portable operating system for various 16-bit microprocessors. XENIX is an interactive, multi-user, multi-tasking system. It will be able to run all of Microsoft's existing system software, and also be compatible with the programs written for UNIX OS.
[Xenix was actually an OEM version of Unix licensed by ATT]
August 1984: Microsoft announces that it will use XENIX and MS-DOS for its new personal computer, the IBM PC AT. The new PC sets the standards in multi-user systems. Both of its operating systems support the Intel APX-286 microprocessor.
see here and here
As for Linux
July 1991
> Message-ID:
> Date: 3 Jul 91 10:00:50 GMT
>
> Hello netlanders,
>
> Due to a project I'm working on (in minix), I'm interested in the posix
> standard definition. Could somebody please point me to a (preferably)
> machine-readable format of the latest posix rules? Ftp-sites would be
> nice.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Gee, I hope so. Otherwise a lot of the software I've written for my employer's trading business the past few years isn't real.
Christopher Fry and Mike Plusch have developed the Water language. Christopher Fry was one of the original developers on Macintosh Common Lisp when it was Coral Software. Water was designed to be as easy as Basic, but give you all the power (and more) of Lisp. Water was designed to support both object-oriented programming and functional programming. It uses the ConciseXML syntax and uses the syntax for data, logic, and presentation. Water is an All-Level Language because it can be used for both high-level and low-level tasks.
Hmm, not OS unfortunetly. I wouldn't want to do any major coding in something with no OS implementation..
The article is largely incorrect.
X# is an extenstion to C# to enable easy quering and manipulation of XML data; layered on top of XQuery.
There is an article in /. called "Water, a Newish Web Language Out of MIT" about a functional language created at MIT (www.waterlang.org).
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#.
And there is another language that is, IMHO, far more interesting than xslt. It is called CDuce.
It is a strongly typed language (xslt is not). And this add a lot of robustness.
Moreover, it has a real syntax (close to ML's one)
It is still beta, though.
this would be why I asked, I've never seen anything more than AI stuff done in LISP.
Then you probably want links like Franz success stories, or perhaps this from ALU. Or Digitool. And of course these are just Common Lisp references; you can surely dig up similar things for other languages as well.
The samples below come from the Waterland website. ConsiceXML violates XML specifications the same way HTML does.
doc/fast_intro.html
Furthermore I do not understand the way they seem to mix values in text and tags. I mean
simply scares the hell out of me. I mean or would be acceptable. These would readable or exploit the structure of XML. I do not want to offend anyone by any means, but what on earth are these Water(TM) people think they are doing?I like C. I like Java. I like C++, LISP, Perl, Prolog and Python. I even like .BAT (4dos), sh, HTML and XML.
I even can see the use of Visual Basic,
but why would anyone want to use XML to write code?
To optimize it using XSLT? Or only to <BUZZ>blah</BUZZ>?
This is not a language.
This is slang.
Being fluent in it characterizes savages.
giel.y contains 2 shift/reduce conflicts