Two New Microsoft Languages - AsmL and Pan 65
AlphaAlien (from neonerds.net) writes: "Another Microsoft Programming Language -- AsmL. AsmL is the Abstract State Machine Language. It is an executable specification language based on the theory of Abstract State Machines. AsmL allows you to test incomplete code due to it being executable on the fly. This doesn't mean it'll execute invalid code though, only that you can execute code segments for instant experimentation (similar to the test-debug function in Visual Studio, but more flexible/powerful). In case you're not tired of all these new Microsoft languages, here's another, Pan. Pan is an experimental embedded language and compiler for image synthesis and manipulation, based on principles from functional programming. The Pan compiler turns descriptions of images and image effects into efficient machine code for use with either a stand-alone program, DirectXTransform for web-page embedding (viewable with IE 5.5 or later), or as a PhotoShop plug-in for use with hosts like Adobe PhotoShop and JASC PaintShop Pro (has only been tested with latter at this point, but should work with former)." You can
download Pan from here.
Pan as Postscript NG? (Score:2)
Of course, here is where I insert the knee-jerk comment about having code embedded in an object with Microsofts reputation for security regarding such things.
However, while the technology is very compelling at first glance (Inovation? From Microsoft? Faugh!), I'm just disheartedened that there is little chance it will make it to the world outside Microsoft products, if it even survives at all (there is little real world interest in these sort of things at the moment).
Re:Pan as Postscript NG? (Score:2)
I assume that they will next come up with the IAMB-PENT to allow the SIMIAN in the ZOO to interact with the BARD...
the future of C (Score:5, Funny)
not to continue using C for serious programming projects. As I will
explain, I feel that C needs to be retired, much the same way that
Fortran, Cobol and Perl have been. Furthermore, allow me to be so bold
as to suggest a superior replacement to this outdated language.
To give you a little background on this subject, I was recently asked
to develop a client/server project on a Unix platform for a Fortune
500 company. While I've never coded in C before I have coded in VB for
fifteen years, and in Java for over ten, I was stunned to see how
poorly C fared compared to these two, more low-level languages.
C's biggest difficulty, as we all know, is the fact that it is by far
one of the slowest languages in existance, especially when compared to
more modern languages such as Java, C#, and VB. Although the reasons for
this are varied, the main reasons seems to be the way C requires a
programmer to laboriously work with chunks of memory.
Requiring a programmer to manipulate blocks of memory is a tedious way
to program. This was satisfactory back in the early days of coding,
but then again, so were punchcards. By using what are called
"pointers" a C programmer is basically requiring the computer to do
three sets of work rather than one. The first time requires the
computer to duplicate whatever is stored in the memory space "pointed
to" by the pointer. The second time requires it to perform the needed
operation on this space. Finally the computer must delete the
duplicate set and set the values of the original accordingly.
Clearly this is a horrendous use of resources and the chief reason why
C is so slow. When one looks at a more modern (and a more serious)
programming language like Java, C# or - even better - Visual Basic
that lacks such archaic coding styles, one will also note a serious
speed increase over C.
So what does this mean for the programming community? I think clearly
that C needs to be abandonded. There are two candidates that would be
a suitable replacement for it. Those are Java and Visual Basic.
Having programmed in both for many years, I believe that VB has the
edge. Not only is it slightly faster than Java its also much easier to
code in. I found C to be confusing, frightening and intimidating with
its non-GUI-based coding style. Furthermore, I like to see the source
code of the projects I work with. Java's source seems to be under the
monopolistic thumb of Sun much the way that GCC is obscured from us by
the marketing people at the FSF. Microsoft's "shared source" under
which Visual Basic is released definately seems to be the most fair
and reasonable of all the licenses in existance, with none of the
harsh restrictions of the BSD license. It also lacks the GPLs
requirement that anything coded with its tools becomes property of the
FSF.
I hope to see a switch from C to VB very soon. I've already spoken
with various luminaries in the C coding world and most are eager to
begin to transition. Having just gotten off the phone with Mr. Alan
Cox, I can say that he is quite thrilled with the speed increases that
will occur when the Linux kernel is completely rewritten in Visual
Basic. Richard Stallman plans to support this, and hopes that the
great Swede himself, Linux Torvaldis, won't object to renaming Linux
to VB/Linux. Although not a C coder himself, I'm told that Slashdot's
very own Admiral Taco will support this on his web site. Finally,
Dennis Ritchie is excited about the switch!
Thank you for your time. Happy coding.
Re:the future of C (Score:1)
Clearly this is a horrendous use of resources and the chief reason why C is so slow. When one looks at a more modern (and a more serious) programming language like Java, C# or - even better - Visual Basic that lacks such archaic coding styles, one will also note a serious speed increase over C
Re:the future of C (Score:2)
argh, moderators on crack again.
As a (primarily) VB developer I thought it was hilarious, good job!
Oh, maybe you didn't know, but VB Script is even better, it's much faster than even VB since all variables are the same type, saving a lot of computing power instead of trying to keep track of all those strings and ints and crap. Go Variant!
Re:the future of C (Score:1)
Well this is obviously a very well thought out joke. Thankfully the person that moderated it as Troll instead of Funny won't procreate, as girls don't like men with no sense of humour (if the moderator is a girl we have a problem since boys like anything female)
The interesting thing is that while joking the poster has (unknowingly?) actally made a few good points.
Requiring a programmer to manipulate blocks of memory is a tedious way to program
Garbage-collection will save lives (by preventing programmers from going insane and shooting around wildly with an AK-47). Java's references instead of C's pointers also makes life easier. Most of the things that can be done in C/C++ can be done in Java. If all you need is a simple GUI and no fancy stuff in the background, VB is fine (if you program for windows that is). VB.net might make the fancy stuff posssible too I am told.
Ofcourse if execution speed is the only thing that matters C (or assembly if you can do it) is the way to go. But if developement time matters C is no longer (IMHO) the best choice.
Re:the future of C (Score:1)
Re:the future of C (Score:1)
Amusing, but not original. This was posted to comp.lang.c and several other newsgroups on April 27.
See the original (?) C: A Dead Language [google.com].
AsmL - A joke? (Score:5, Funny)
Re:AsmL - A joke? (Score:2)
Pan? (Score:2)
Re:Pan? (Score:2)
As a simple caveman I find myself suddenly confused and unable to tell the difference between the MS product PAN and Pimp Ass Newsreader. From a trademark sense I think MS has dilluted this product name.
Re:Pan? (Score:1)
cool, but (Score:1)
Will these eventually be rolled into thousand dollar developer packages, or will they stay free?
What security holes will be found in them?
How compatible are these tools with GPL tools?
If the answers are favorible, I might start using a microsoft product after a long, long hiatus
Re:cool, but (Score:1)
Security holes? They're there. Just like any other platform - you gotta evaluate that risk yourself. Compatible? I'm sure EMACS can shell out to the c# compiler....hehehe. If you need to develop Windows apps,
ASML (Score:2, Funny)
Another Shitty M$ Language
Whodda known?
Asml, ASM, and other implementations (Score:1)
Actually, AsmL has a quite interesting story.
AsmL is one of the various implementations of the language known as ASM (Abstract State Machine, as stated in the story), developed mainly by Yuri Gurevich in the last ten years. The language in itself is nice, similar to LISP in some aspects: no local environments, totally dynamic scoping, higher-order, mostly untyped.
There are several implementations (see this U.Mich. page [umich.edu]), even one in Tcl release under GPL/LGPL/MPL (XASM [xasm.org]).
As far as Asml goes, I tried it. Version 1.5 is a compiler to the Visual C++ language (it's not really C++, you know). The pair is slow: on a small project (~ 300 lines with comments) it took some seconds to compile to C++, and then about 10 (ten) minutes to compile to native code (on a Celeron 433, 640MB ram, Win98 (it's a dual-celeron, but you know, 98 doesn't use the other processor)). Then, it failed to execute due to an unitialized pointer error. Fact is, AsmL does not have pointers! I threw it away, and rewrote the project in Perl ;-)
MS Pan name infringes on (open source) newsreader (Score:1)
"Apple" is a common word as well (Score:1)
with such a common word as a name, it's extremely unlikely that they could trademark it for anything other than a newsreader
with such a common word as a name, it's extremely unlikely that Steve Jobs and Steve Wozniak could trademark "Apple" for anything other than a home microcomputer
Re:"Apple" is a common word as well (Score:1)
Re:MS Pan name infringes on (open source) newsread (Score:2)
1. Windows (operating system, conflict with user interface element that was already in wide use when it was developed).
2. Digital Nervous System (used as a pointless phrase in ads, conflicts with Domain Name System).
3.
4. Windows XP (operating system, conflixts with Extreme Programming).
5. X-box (game console, conflicts with X terminals from X Window System).
And that doesn't include the use of terms that describe existing classes of products such as "SQL Server", "Internet Explorer", etc.
Now for an hour through the research site. (Score:5, Informative)
A few notes from the past half-hour:
PAN is old. The fricking code was last updated 2 years ago. I've seen that page before. 2 YEARS AGO.
anyways. here's another note.
http://research.microsoft.com/~dbwilson/ -- this guy's pretty funny as far as Microsoft goes. He's releasing some stuff under the GPL on Microsoft's server, as well as linking to GNU Emacs for Windows. I think he deserves a raise.
Re:Now for an hour through the research site. (Score:1)
Now why would you want to tell us that? You know there are microsuxx spies around every corner, now you've probably cost the guy his job
I'm only paranoid because they are all after me
This guy's groundbreaking research: (Score:1)
Infinity is really nine million nine hundred ninety-nine thousand nine hundred ninety-nine.
Re:Ability to execute incomplete code (Score:1)
http://www.microsoft.com/mac/products/office/20
"Q: Will the virus impact my Macintosh if I am using a non-Microsoft e-mail program, such as Eudora?"
"A: If you are using a Macintosh e-mail program that is not from Microsoft, we recommend checking with that particular company. But, most other e-mail programs like Eudora are not designed to enable virus replication."
Re:$40 Billion (Score:2)
Microsoft Research, not Microsoft (Score:5, Insightful)
Incidentally, MSR Cambridge has some of the best programming language researchers in the world! (Personally, I wish the linux world had more tolerance for new PL ideas..)
Re:Microsoft Research, not Microsoft (Score:2)
what?! how many languages must linux support? linux uses gcc for its compiler which is designed to allow people to more easily support new languages. plus there are tons of other languages supported - functional, logic, scripting, procedural, oo, and more.
and look at the languages used to build on top of linux. c, c++, modula-3, perl, python, shell, tcl/tk, elisp, scheme, caml, fortran, java, objective-c. i've used pieces of s/w on linux systems that use all of those (not at once). and those are just the ones i know of.
Re:Microsoft Research, not Microsoft (Score:2, Insightful)
Re:Microsoft Research, not Microsoft (Score:2)
Interesting. I'd better go tell my boss that we have to switch from Python to C++ for the QT based Client we're developing for our system.
Re:Microsoft Research, not Microsoft (Score:1)
Pan is an embedded DSL for image manipulation,
embedded in the pure lazy functional language
Haskell.
This is not some part of the evil empire's plans
for taking over the world, so far as I know
I am quite sure that the empire is not even aware of this power that is hidden from the dark side, yet funded by it.
Re:Microsoft Research, not Microsoft (Score:2)
I think this should be a poll topic: Your favorite research lab? Lawrence Livermore, MSR, Thomas J. Watson Research, AT&T Bell Labs, Cowboy Neal's Bedroom.
Re:Microsoft Research, not Microsoft (Score:1)
Well, of course that it is JUST a research lab, but all research has some sort of purpose, like biotech firms try to develop new cures and such. This research lab's purpose is to develop new technologies to compensate for M$'s inability to innovate (most of M$'s technologies are copied or licensed from others), and the purpose of M$ is to take over the world with their shitty software.
Therefore, this research lab essentially is part of M$, and they help with putting put out "crappy, buggy software" and help them "take over the world." Their ideas are not open to all, and they strive for competetive ends which do not benefit all of mankind, only M$ and it's loyal ass-kissers.
Re:Microsoft Research, not Microsoft (Score:1)
This is simply not true. They publish their ideas in scientific journals, just like other research labs, and publish open source software. It's true that some of their research is oriented towards Microsoft products, but MS itself hardly ever actually adopts MSR ideas. If you think I'm wrong, point me to some MSR technologies that have been patented and then used exclusively by MS, or something like that.
Re:Microsoft Research, not Microsoft (Score:2)
don't put out crappy, buggy software
No, i worked there, they do.
-Jon
Not a new concept... (Score:2)
Re:Not a new concept... (Score:2)
As Paul Graham once noted, you see the PERL people scoffing at the C people and you see the Python people looking down at the PERL people. You'll notice those languages, in that order, C->Perl->Python are slowly getting closer to becoming LISP. LISP was, as far as I can remember, the first interactive language.
LISP still is, in my opinion, the most powerful language ever devised. What other language can claim that you can make it an OO language, at run-time, via LISP code. You can add type-checking, at run-time, via LISP code. Code is data and data can be used as code. CLOS kicks ass. LISP kicks ass.
Not that I don't like Python. It's a cool language. But it's complete lack of method overloading and type-checking make it less than ideal for large-scale projects or sophisticated OO projects. If you like Python, checkout Stackless Python. Very cool. Great support for tail recursion. Better continuation support. Good stuff.
Anyway, about AsmL. I looked at the example code. For a language based on state machines, it sure was low-level. It looked more like a even-more-verbose pascal. Take a look at the IO example. Good GOD! So many nested if-statements just to open a file and write to it.
Anyway, have a good day,
Justin Dubs
OS alternative to AsmL (Score:2, Insightful)
I was kind of sorry to see that ASM's inventor, Yuri Gurevich, left the University of Michigan for Microsoft Research. However, I'd probably take private research over the hassle of teaching while doing research.
Image description language... (Score:1, Informative)
For more information see W3C's SVG web site [w3.org]
for useage of SVG see: The Apache batik project [apache.org]
There is also an excelent O'Reilly book by J. David Eisenberg [barnesandnoble.com]
If you truly want to be on the cutting edge of graphics then you should look into SVG.
Sgis
"Truth is a personal pronoun." (john 14:4)
Ah, Microsoft (Score:1)
However, I can't help but wonder: What's next?
It seems like every day they "invent" a new programming language...
I wonder when Bill# is coming out. That'll be awesome. In Bill#, you just type a bunch of jargon for code, and then when it executes (no matter the code), it shows a picture of Bill Gates, transfers money from your bank account (let's say 50% of everything in it), and then (this is the best part) crashes your computer and forces you to reinstall Windows XP (AGAIN).
Just think of the possibilities: you can spend hours just slamming keys on the keyboard (and get paid $40/hr to do so) and then at the end of the day - viola, your boss (who presumably has no intelligence whatsoever) thinks you've done something!
Now, if only it could be hacked to transfer money into your account in Switzerland ;-)
Ah, Microsoft.