Building Intelligent .NET Applications 213
Scott Forsyth writes "'Building Intelligent .NET Applications' is an excellent primer book into the world of Artificial Intelligence (AI) in the business world, specifically related to Microsoft technologies. It is an introduction to the world of Artificial Intelligence (AI) for .NET programmers. It is the first book I have seen that shows professional .NET developers how to incorporate AI into their daily programming. In this accessible guide, developers learn how to enhance new and existing .NET applications with intelligent agents, data mining, rule-based systems, and speech processing." Read the rest of Scott's review.
Building Intelligent .NET Applications | |
author | Sara Morgan Rea |
pages | 269 |
publisher | Addison Wesley |
rating | |
reviewer | Scott Forsyth |
ISBN | 0-321-24626-8 |
summary | An excellent primer book into the world of Artificial Intelligence (AI) in the business world, specifically related to Microsoft technologies. |
Sara dives quite deep into four different branches of the vast world of AI with a great balance of conceptual theory, code samples and real world scenarios. She leads the reader though the complete process of obtaining the technologies to full implication with complete code. Both Visual Basic.Net and C# can be downloaded online while the book gives all examples in Visual Basic.Net.
Sara explores four of the most popular AI technologies by building real-world sample applications that readers can use as the basis for their own applications. Some of the more interesting portions include; Applications that talk-critical for companies seeking to automate their call centers, Speech-enabled mobile applications, Multimodal speech applications, Data-mining predictions, which uncover trends and patterns in large quantities of data, Rule-based programming for applications that can be more reactive to their environments, Multiple software agents that are able to keep remote users up to date and sample applications for Windows and the Web.
The book starts out with a one chapter overview called "Instruction" which is exactly that. It introduces the reader to Business Artificial Intelligence and lays the groundwork for the rest of the book. Immediately in chapter two the book dives into Microsoft Speech Server which is the first of four main technologies that are covered in this book. Microsoft Speech Server is covered until Chapter 5 when the book dives into Data-Mining predictions. Chapter 7 gets into Rule-based systems and Chapter 8 into building Agents.
Chapter 9 finishes off the book with an excellent overview of Artificial Intelligence. In fact, for an overview of AI and Microsoft's investment into it now and in the near future, the final chapter of the book was my favorite. Sara painted an exciting picture of what is in store, as well as opening my eyes to things that exist already. AI isn't a thing of the distant future; in fact there is an exciting array of mature technologies in use and available today.
Personally I felt that Chapter 9 would have made a better introduction chapter. I didn't feel that Artificial Intelligent or Business AI was covered in much depth in the first chapter of the book. By the time chapter 2 dove in deep into the first branch of the four topics, I still had some unanswered overview questions in my mind. After reading Chapter 9 though, the need I felt for more general information was met.
Now with Microsoft Speech server, applications that can talk and interact intelligently with a user is not only possible, it's relatively easy and affordable, even for the small business. Developers can create powerful, intelligent applications that are specific to their business. You can create fully database-driven talking applications that understand speech, talk back (not like a rebellious 15-year-old) and respond differently to each unique situation. This can be used for a telephone application, someone sitting in front of a dumb terminal with audio capability or for a fully configured computer application. Dream big, the options are endless, the solutions are within reach.
Running reports against data has been common for decades, but consider intelligent agents that will dig, analyze, determine a new direction to dig by itself, and return relevant patterns and trends in the data that were never discovered before. Sara covers this very topic with theory, code examples, scenarios and clear and precise explanations.
Agents that self perpetuate, learn their new environment and respond accordingly are the way of the future. The most obvious and painfully in-your-face examples are malicious worms and spyware applications. Worms lodge themselves in an environment, take advantage of their new home by finding important information like a list of emails addresses, and then they spread automatically, continuing this vicious cycle. Spyware agents also install themselves in an environment and start interacting with it to get information to send back to their creator. Now, consider the endless possibilities where Agents can be used for good, and are in use today. The author covers this very topic.
I wouldn't say this book is a general overview of Business Intelligent Design, but rather a specific look at four major technologies and a few minor technologies. The Microsoft products covered are Microsoft Visual Studio.Net, Microsoft Speech Server and SASDK, Microsoft SQL Server, Online Analytical Processing (OLAP), BizTalk Server, Microsoft Agent, Background Intelligent Transfer Service (BITS) and I'm sure a couple other smaller technologies that I didn't list. In addition to these, Sara briefly covers SQL Server 2005, Analysis Services 2005, and Longhorn with Avalon, Indigo, and WinFS.
One of the characteristics of a good technical book is making the complex subjects sound simple. The author has done a tremendous job of that in this book. The range of topics that she covers at first glance seems complex, but at no point does she leave the reader overwhelmed. At the same time she doesn't over explain or drag on needlessly.
This book is about the IA (Intelligent Applications) part of AI (Artificial Intelligence). It focuses on Microsoft solutions for Speech solutions, Agents, Data Mining and Rule-Based Systems, and does a great job of it."
You can purchase Building Intelligent .NET Applications from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Oh, Good Lord... (Score:4, Funny)
Re:Oh, Good Lord... (Score:2)
.NET?! Intelligent Design?! Slashbot overload!!
Re:Oh, Good Lord... (Score:3, Funny)
How to design intelligent
Step #1: Install GNU/Linux from distro of choice (spawn 50 more troll replies to this about why a different distro would work better... also 100 or so replies about *BSD or Mac OSX would be better)
Step #2: Install Apache webserver -- Strangely there is a lot of consensus on this one.
Step #3: Install MySql or DB of choice (again spawn 37 more troll replies to this about why a different database would work better...
Re:Oh, Good Lord... (Score:3, Informative)
Re:Oh, Good Lord... (Score:2)
I prefer the real thing (Score:2, Funny)
I think they should start with genuinely intelligent programming, and move on from there.
Re:I prefer the real thing (Score:3, Insightful)
I think a more likely reaction is: do users even want intelligence? As for me, I value "predictability" more than "intelligence." If I click the "Tools" menu in Outlook, I sure want to see "Options" listed below there, even if I haven't used it before. All this crap they've put in applications like Office to "hide" features I haven't used recently makes the menus far harder for
Re:I prefer the real thing (Score:2)
How about Cut vs. Copy? (Score:2)
How about RAM vs. ROM? ROM is RAM, it's just read-only RAM. It's RO-RAM. How about my hard drive? Yep, that's RAM too. It's simply persistent RAM, as opposed to the volatile RAM that lives in sticks on your motherboard.
Re:How about Cut vs. Copy? (Score:2)
That said, perhaps "Copy here" or "Move here" is what should appear in the menus, which is exactlywhat comes up when you drag and drop a file in Windows using the right mouse button.
When you develop an application you ha
Re:I prefer the real thing (Score:2)
In six months I need to change menu settings again, so I vaguely recall "Tools/Options." I click "Tools", but now there is no "Options" choice. M
Re:I prefer the real thing (Score:2)
Re:I prefer the real thing (Score:2)
Re:I prefer the real thing (Score:2)
Re:I prefer the real thing (Score:2)
Re:I prefer the real thing (Score:2)
Turing Test Time (Score:1, Interesting)
That test also makes great birth control (Score:2)
Re:Turing Test Time (Score:2)
WTF, over? (Score:4, Funny)
Because as we all know, AI isn't about theory, it's about implementation.
For my next trick, I'll write a book that shows professional .NET developers how to incorporate sorting technology into their daily programming.
Chapter 1: The Bubble Sort
... .NET Still Ain't Making It Any Faster Or Better
Chapter 2: The Insertion Sort
Chapter nlog(n): Why Coding It In
Re:WTF, over? (Score:3, Insightful)
I enjoyed the book, but it left me wishing they would have split it into four and acutally gone into depth with them. I felt it was a very shallow representation of the capabilities of the technologies, and not as much of a theory book as I would have liked.
Re:WTF, over? (Score:2)
I'm a bit mystified here... (Score:4, Interesting)
Did M$ create some libraries specifically to support AI-esque functions, or is this book specifically about how to use
better branding (Score:3, Funny)
This is, of course, a registered trademark of MS now.
Intelligent .Net Applications? (Score:5, Funny)
Re:Intelligent .Net Applications? (Score:3, Informative)
Can we NOT put this to rest?
I am building a large Java Web application. A page hits runs thousands of lines of code (parameter extraction/conditioning, input validation, session control, database SQL generation/ access, etc). And still (on a 2GHz machine, 2G RAM) the execution time (from intitial servlet entry to final JSP generation) is below 1 millisecond.
Only Snarky jokes and trolls.... (Score:3, Insightful)
Uh, you know this IS slashdot, right?
From the Aricles of Slashdot, section 4, paragraph 3, I quote: "A quasi-humorous meme will be run into the ground until nobody remaining alive recalls the original humor behind the meme. If at any point during this process, somebody realizes that the meme isn't actually funny and states the fact in a post, they will be flagged as a troll by moderators."
Re:Intelligent .Net Applications? (Score:2)
But...what...score...is...it....given?!?! (Score:2)
Dream big, the AI options are endless (Score:2, Funny)
Computer: Sir, the whole system has crashed. How should I proceed?
Admin: That's okay, just fix it and reboot.
Computer: But I don't know how to fix it.
Admin: Did Big Blue 'not know how'? Did The WOPR ever fail us? Did HAL9000 ever need instructions? JUST FIX IT
I thought there might actually be some discussion (Score:5, Insightful)
Unfortunately, this is
If someone would actually enjoy a conversation about data abstraction, business application development, and advanced theory in
-Rick
Re:I thought there might actually be some discussi (Score:3, Insightful)
Another poster did have a good point, though, and most of what you were talking about (data abstraction and advanced theory) along with the the gen
Re:I thought there might actually be some discussi (Score:5, Informative)
Re:I thought there might actually be some discussi (Score:2, Informative)
I have worked in both
Re:I thought there might actually be some discussi (Score:4, Informative)
On that note, I can agree that automatically filling in objects with "textbox1" can be dangerous. I worked on a VB project with someone who wasn't a programmer and ran across these default names everywhere. When I had to re-write the code, it was difficult to read. But you know what? Bad coders are going to do bad things, no matter the language or development environment provides. If it wasn't filled in as "textbox1", he would have renamed it after some letter of the alphabet. I'll take "textbox1" over "x" anyday. (And sure enough, any variable that wasn't a UI object was named after letters in the alphabet)
I've worked a lot with UI development in both Java (Swing) and C#. I can definately say that the
If you think
Re:I thought there might actually be some discussi (Score:2)
Re:I thought there might actually be some discussi (Score:2)
Well, that's the part that I disagree with. I don't think the VS team is intentionally trying to make a product to allow people who don't know how to code, to write code. If that's what you're seeing a lot of, then I don't know for sure why that's the case. Maybe novices
Re:I thought there might actually be some discussi (Score:2)
That dialog is always visible in the IDE window.
What they really should do is have the compiler spit out warnings about "TextBox1" and the like.
Re:I thought there might actually be some discussi (Score:2)
I'm not trying to say VS.NET or
Re:I thought there might actually be some discussi (Score:5, Insightful)
Well, the "textbox1" thing is annyoing (and I believe it's fixed in 2005), that generally is the only property I have to change on a regular basis. The name of the control too, but I don't think you can really hold that against VS. If you're doing anything else (like making the font bold for the textbox), you can simply copy the control with the bold property set, paste it, then change its name. It will retain the Bold setting.
Then if all someone knows how to do is drag and drop, which is a good portion of
I'm sorry, but these programmers you're talking about are either not actually programmers or you're greatly exhaggerating the ability to make useful applications using only drag and drop. I would also say that there are countless programs that do nearly the exact same thing for Java stuff, but just like
You're dealing with bad programmers then. There is nothing unique to
But I think that Microsoft trying to turn programming into something that anybody can do is a big mistake. Programming robust,reliable, scalable systems requires knowledge that not everybody has. I say, leave the programming up to the people that know how, and keep everyone else far, far away.
if you only know how to drag and drop, you can put together a form, put some pretty widgets on it that do nothing when played with, and run it. That's it. The most complex thing that I can think of that VS does for you is create typed datasets. You can map some of the values in them to controls, but only if you are competent enough to populate the dataset and can either write a for-loop or understand databinding. You can not, even remotely, come close to being able to put together a semi-useful application without knowing how to code.
Then again, and as I said before, the ability to NOT have to code shouldn't be something that's snorted at. VS doesn't generate anything past mundane code that would simply eat up your time. i doubt you could even call writing what it generates as "programming."
It should also be noted that what you've brought up (and that you rightly noted) are all Visual Studio "problems." If anyone wants to argue against the merits of
You might want to give it another chance if you're doing Windows apps and don't need portability. I'm a Java-first kinda guy, but when I do a C# application it's a great and generally refreshing switch-up, not an excercise in pain as others on
Re:I thought there might actually be some discussi (Score:2)
Re:I thought there might actually be some discuss (Score:2)
I still don't understand why this bothers you. It only bothers me to the extent that they are misleading their students about their job prospects. It seems to me that most programming jobs consist of
Re:I thought there might actually be some discussi (Score:3, Interesting)
Programming IS hard and requires a lot of knowledge. I personally think that all
Re:I thought there might actually be some discussi (Score:2)
I'm sure you enjoy compiling everytime you need to make a visual change just to test it, I can assure you that I don't.
Re:I thought there might actually be some discussi (Score:2)
Re:I thought there might actually be some discussi (Score:2, Interesting)
I am curious, do you have the same problem with eclipse?
Then if all someone knows how to do is drag and drop, which is a good portion of
Ok, since we are gonna pull out unqualified statements, a
Re:Problem is Microsoft Doesn't Use .NET (Score:2)
Re:I thought there might actually be some discussi (Score:2)
Re:I thought there might actually be some discussi (Score:2)
OK, I'll feed the parent poster and hope he's not a troll. :)
I will concede that .NET is a great improvement over previous Microsoft development tools, and probably the best way to write rich-client Windows applications. The new 2.0 framework and VS.NET 2005 are quite improved over even their immediate predecessors.
Having said this, however, using the .NET still locks you into the Microsoft platform and Microsoft's development methodologies, both of which change constantly. As these change, perfectly
Re:I thought there might actually be some discussi (Score:3, Insightful)
Platform, yes. (Although there is mono) Methodologies? no. MS has 'best practices' and templates, but you can code in any way you want. Yes,
"both of which change constantly. As these change, perfectly good code becomes
Re:I think what he meant was... (Score:2)
2.0 is a completely new version however, and there are differences. I'm stuck still working in 1.0/1.1 so I can't attest to any specific syntax difference, but there are some slight changes in design fundamentals.
-Rick
Re:I thought there might actually be some discussi (Score:2)
Shouldn't it be enough to have conversations about data abstraction, business application development, and advanced theory by themselves? Why narrow the scope by focusing specifically on
The real problem is that there is no AI covered (Score:2)
Speech recognition might be marginally described as a technique for intelligent interface. Rule based programming is often used in AI systems. But the vast majority of the topics have NOTHING to do the
field of AI. If one adverise falsely, one should expect to get flaks...
Re:I thought there might actually be some discussi (Score:2, Funny)
I, as I'm sure you are already aware, am black.
Thanks you,
-Mr. Pot
Re:I thought there might actually be some discussi (Score:5, Informative)
I've played with this out of curiousity the first time about a month ago and was absolutly AMAZED! Now I'd never done any real voice recognition/voice synthisis programming before (unless you count some 1/2 assed playing around with MS Agents which I don't), so maybe it has been this easy for awhile (I really don't know) but I was floored at how easy it was.
It is more or less like developing a normal VB or C# application. If you are just doing really simple stuff, the whole damn thing can basically be done via drag-and-drop. If you need to get more advanced of course you can dig into the code (mostly XML actually) to refine stuff. Another nice this is you do all this right in the VS.NET IDE. So if you are used to that its all pretty easy.
I repeat that I've no real experience in other voice-enabled development environment so perhaps they are all this easy or others are much more powerful. As a first-timer expecting much complexity in VR work, I was completly blown away at how really trivial MS Speech Server and the related tools made it.
Re:I thought there might actually be .... (Score:2, Informative)
The parent isn't really flaimbait. I made the mistake of adopting .NET v1.1 using a mixture of managed and unmanaged C++. v1.1 was crippled with several major design flaws that were an absolute nightmare for support. When v2.0 came along an fixed these design flaws I though I was in for a treat (after all Microsoft had emphasized compatibility in the framework) little did I know they would go and change the entire syntax on me. Some friendly changes:
Re:I thought there might actually be .... (Score:2)
There are a lot of tools in
"the application development is business in itself (you will be busy for quite a long time writing even some not-so-complex apps)"
Uh okay. I have work on some amazingly complexe systems in
Re:I thought there might actually be .... (Score:2)
-Rick
I wonder if Intelligent .NET applications can... (Score:3, Funny)
Seriously, do we really need 2 reviews of the same book? Especially on the front page?
Re:I wonder if Intelligent .NET applications can.. (Score:2)
Go figure
Re:I wonder if Intelligent .NET applications can.. (Score:2)
It's astroturfing marketers. The marketers repeatedly submit articles and hope some will get through.
The editors aren't robots, they will make mistakes, this submission flood give them a false view of what's interesting and worthwhile, and it's statistically inevitable that repeats like this will happen. Many of the articles on slashdot these days are created by marketers trying to steal people's time for their own benefit and nobody else's.
---
Marketing talk is not just cheap, it has negative value.
IA ***NOT*** AI (Score:3, Insightful)
Re:IA ***NOT*** AI (Score:3, Insightful)
2) Nobody said hard AI
There are a lot of processes that are forms of artificial intelligence, without being equivalent to a human mind. While artificial conciousness is something like the holy grail of hard AI research, there is also a tremendous body of knowledge on 'practical AI'.
Book Already Reviewed on Slashdot, Not That Great (Score:5, Informative)
Re:Book Already Reviewed on Slashdot, Not That Gre (Score:3, Interesting)
If it's the latter, I have a few books on the shelf of shame that deserve a basting.
Re:Book Already Reviewed on Slashdot, Not That Gre (Score:2)
It's astroturfing marketers. See my other post. [slashdot.org]
---
Paid marketers are the worst zealots.
So when the first .Net AI program goes live... (Score:4, Funny)
Alternate title (Score:4, Funny)
Hasta la vista, baby.
I read that book in August (Score:2, Interesting)
A linux fan says... (Score:3, Funny)
Boy, I bet thats a small book.
A Futile attempt (Score:3, Funny)
Speech Recognition (Score:2, Insightful)
For many applications I think we could actually use a Wizard of Oz machine - that is, a person who is actually listening to the verbal responses but responds using canned or machine generated utterances. The WOZ operator is actually some painfully underpaid schmoe in a foreign (third world) country who knows American english but never has to actually speak it.
(Most people I know who have dealt with outsourced support complain that
Re:Speech Recognition (Score:2)
We employ computers instead of people because we are short-sighted nitwits with no comprehension of anything other than a simple number that constitutes the bottom line. A computer will not do anything that is above and beyond its call of duty, yet people do this everyday. Too bad we're too "expensive".
Didnt we just do this not too long ago? (Score:2)
.NET vs LISP (Score:2)
Re:Slashdot is broken (Score:2, Interesting)
I must say, the original idea behind
So it just seems to me that the end result is sort of a waste of time, there's almost nothing you can or do port towards differ
Re:Slashdot is broken (Score:3, Informative)
Say the ACD Monitor (a PBX system that monitors our phone queues, shows queue history, employee work load and allows for growth projections) and the Lease Reporting system (handles data reporting and invoicing for a 3rd party leasing system).
These two systems are completely seperate, but they share a LOT of code. We use a data abstractio
Re:Slashdot is broken (Score:2)
Here is some out dated design docs
http://ringdev.com/code/GFCNamespace.gif [ringdev.com]
http://ringdev.com/code/GFCTeirDesign.gif [ringdev.com]
The ACD system for example talks to the ACD Database, the Employee Database, and the Admin Database. So it contains references to ACD.dll, Employee.dll, and General.dll (the admin database data objects are all contained in General.dll).
I can then write code like:
Dim objEmp as New GFC.Data.Employee.EmployeeDO
objEmp.FindByUserName("UserName")
Dim objACDEvents as New GFC.Data
Re:Slashdot is broken (Score:2)
Wow, you have to be one of the worse progammers out there. 75% of the infrastructure code for my projects is reused. From messages to searching. I need a reports in my new, i h
Re:Slashdot is broken (Score:5, Interesting)
A .NET app is "compiled" to MSIL, the intermediate token language common to .NET (comparable to java bytecode.) Tokens can be smaller than their machine language counterparts simply because they can be used to represent more complex ideas. And, as in java, the .NET libraries are quite extensive, encapsulating lots of functionality available to your application by reference. So MSIL should theoretically be smaller than a .EXE representing the same program, meaning it's not as bloated.
But then there's the 30MB distro of the runtime engine. And it has something like a 10MB footprint on your local machine's RAM, not counting your application. So there's your bloat.
As for speed, the runtime environment is smart. When you install it, it looks around your box and says "Hey, you have an Athlon64 4000+, I have all these optimized instructions here for doing for loops, while statements, etc." So each machine has its own unique runtime environment that is optimized for its CPU, drive resources, etc. The app developer doesn't have to ship "lowest common denominator 80386 code." And he doesn't have to ship "fat binaries" to send optimized code containing the differences between Pentiums, Xeons, or Athlons. The code your machine ultimately executes is going to be very close to optimal for your equipment.
But then again, running a just-in-time compiler means that every single time your application loads up, it's going to dog it until everything's been compiled. JIT is fine for long running apps, but sucks for the transient jobs. Plus, with a giant RAM footprint comes giant amounts of swapping. No matter what you do on a box, it's always slower when it has to swap in some RAM first.
So, is .NET "bloated" or "slow"? I think that decision hinges more on your application and intended usage.
Re:Slashdot is broken (Score:2)
That also depends; if you have a large amount of physical RAM, you'll swap a lot less than if you have just enough for the OS.
Re:Slashdot is broken (Score:2)
if you have a large amount of physical RAM, you'll swap a lot less than if you have just enough for the OS.
While technically correct (swapping only applies to the disk) there are several levels to the memory hierarchy with main memory itself having level 1 and 2 caches (3 levels if you include the registers). You want to keep as much as possible in those caches.
The size of the code and data, and the access pattern, can make a huge difference to the speed of the code - 300% or more, even with good algo
Re:Slashdot is broken (Score:3, Informative)
Re:Slashdot is broken (Score:2)
Perhaps it's because NGEN i
Re:Slashdot is broken (Score:2)
There isn't any one answer to everything.
My biggest point is "Getting the job done" instead of "Getting the job done right".
I'm amazed how often I have to explain this to other "professionals" at work. It's one thing to decide that speed isn't really important compared to extensibility, and so let's do XML over a socket. It's another to
Re:Slashdot is broken (Score:2)
People don't seem to know that there is a difference anymore, it makes me sad to think that in another 10 years when even more unqualified professionals get on the scene, my salary will go down even further.
There's hope for you. 10 years can be enough time for management to realize that some people do "get it", and that these people are far more valuable than the clicky-coder monkeys they've been picking up for cheap.
O
Re:Slashdot is broken (Score:3, Insightful)
ok i understand why i want that for some of the core pieces of my OS and drivers and such. but for general business apps does that actually make any sense to you? i code in .NET all the time and the apps respond instantly (or so close that i can't tell the difference anyway).
i never understand people with this attitude. everythin
Re:Slashdot is broken (Score:2)
So were you.
Mono indeed does work on platforms other than windows,
but it doesn't run, it's barely walking in the
terms of speed.
A well written java application will kick the **** out
of anything that mono can do with c# apps.
And if you have a bunch of sun servers in the corner and
the performance and compatibility is the only way to go,
then
chance in the future, but not really right now.
I took a look at C# for one day, i do
Re:Slashdot is broken (Score:2)
And, I dunno about
Re:Slashdot is broken (Score:2)
I really appreciate this stance and moreover your role. I make a fine living cleaning up after ninja coders like yourself.
I kid! I kid!
Re:Slashdot is broken (Score:2)
Of course, you also lose a lot of cross-platform portability, but there are p
Hmm (Score:2)
Gimmick. (Score:2)
Re:FIST SPORT! (Score:2)
Whatever. If it's so abhorrent why doen't Allah do something about it? Seriously. Just want to throw that out there. I mean, he seems to have stopped doing any favors for you people about 500 years ago. Maybe our c
Re:FIST SPORT! (Score:2)
ONLY 1 mention of that word? (Score:2)
Re:99% of /. -ers need a smack (Score:2)
No it doesn't. On non-Microsoft-owned platforms that is. Java works just as well AND doesn't lock you down to a single vendor.
Re:99% of /. -ers need a smack (Score:2)
And you say it's great and all compared to using something else, but don't actually compare it to anything ("other toolsets"?). I'm a bit confused trying to understand what you say, all I read is typical regurgitated ".NET is so fast and easy" PR.
Re:99% of /. -ers need a smack (Score:2)
Now, isn't THAT 'cross-platform' if they run on diff. OS', even via browser
Re:99% of /. -ers need a smack (Score:2)