Slashdot Mirror


Building Intelligent .NET Applications

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.

213 comments

  1. Oh, Good Lord... by errxn · · Score: 4, Funny

    ...If this topic isn't a trollfest waiting to happen, I don't know what is.

    --
    In Soviet Russia, Chuck Norris will still kick your ass.
    1. Re:Oh, Good Lord... by Anonymous Coward · · Score: 0

      But it will be a *fantastic* trollfest though. This is the bestest title EVER!

    2. Re:Oh, Good Lord... by Digital+Vomit · · Score: 1
      I'm just thankful the submitter used the word "Building" instead of "Designing".

      .NET?! Intelligent Design?! Slashbot overload!!

      --
      Modern copyright is theft of culture from everyone and it retards the progress of the useful arts and sciences.
    3. Re:Oh, Good Lord... by Anonymous Coward · · Score: 0

      Jackass...

    4. Re:Oh, Good Lord... by eldoo77 · · Score: 3, Funny

      Here is an example troll response -->

      How to design intelligent .NET applications by Slashdot
      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...)
      Step #4: Install Perl or scripting language of choice (now spawn 143 more troll replies about why Python, Ruby on Rails, TCL/TK, javascript, java, or even Mono might be the real way to go...)
      Step #5: Try to remember what this .NET thingie was in the first place!

    5. Re:Oh, Good Lord... by Anonymous Coward · · Score: 0

      Your username kind of summarizes your post. ;)

    6. Re:Oh, Good Lord... by Anonymous Coward · · Score: 0

      Hits a little too close to home, eh?

    7. Re:Oh, Good Lord... by Ravatar · · Score: 2, Informative

      That's interesting, because I just started up Visual Studio and created a windows project. Built the default app in Release mode and started it, memory use went to 11MB (loading the runtime), then after about 10 seconds settled in at under 1MB.

    8. Re:Oh, Good Lord... by dsheeks · · Score: 1

      Windows project output:

            Hello, World!

    9. Re:Oh, Good Lord... by Ravatar · · Score: 1

      I meant I created a "Windows Forms Project", a console project would have taken 1/10th of the memory.

  2. I prefer the real thing by Itninja · · Score: 2, Funny

    It is the first book I have seen that shows professional .NET developers how to incorporate A[rtifical]I[ntelligence] into their daily programming.

    I think they should start with genuinely intelligent programming, and move on from there.

    --
    I judt got a nre Kinesis keybiartf so please excusr ant egregiou typos.
    1. Re:I prefer the real thing by plover · · Score: 2, Insightful
      Microsoft has long been wanting to push AI in their products. That's exactly what Microsoft Bob was supposed to be, remember?

      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 me to use. The first thing I usually do is hunt around for the option menu to turn off the "auto-hide" function. The rest comes easy after that.

      I think Microsoft needs to get things right before they make them smarter.

      --
      John
    2. Re:I prefer the real thing by chris_eineke · · Score: 1
      If I click the "Tools" menu in Outlook, I sure want to see "Options" listed below there
      Since when are Options considered Tools? I've never understood that GUI metaphor. It's almost like d'n'd'ing a CD-ROM onto the trashbin in OS X.
      --
      "All you have to do is be fragile and grateful. So stay the underdog." Chuck Palahniuk, Choke
    3. Re:I prefer the real thing by CastrTroy · · Score: 1

      I agree completely. Everytime my computer tries to think it's smarter than me, it ends up making it harder to use. This happens with autocorrect too. Often it will correct something, and make it impossible (or at least very hard) to put it back to what I actually wanted. In windows XP, it's impossible to find most of the settings I want since they messed up the control panel, and now many options aren't even there. Hiding things from the user isn't the way to make computers easier to use.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    4. Re:I prefer the real thing by PsychicX · · Score: 1

      Why can't software be predictably intelligent? Most "intelligent" functions are simply what a human expects to happen based on certain inputs.

    5. Re:I prefer the real thing by plover · · Score: 1
      It's not even an issue of "logical" hierarchy. It's one of "repeatability." Once I have learned that "Tools/Options" is where I go to change menu settings in Outlook, I expect "Tools/Options" to be there the next time I need to change menu settings. With the whole "auto-hide" stuff, if the Options item goes unclicked for a month or two, it will hide itself.

      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. My brain says "ouch, John, you screwed up." So I begin hunting for Options elsewhere in the menu tree. Well, three versions ago I think they used to be under "Edit". Nope, not there. "Actions"? Not there. Back to "Tools" again, and start looking at other choices like "Organize"? No, not organize. Oh, yeah, there's a down-arrow triangle thingy here, so I'll click that. Move mouse, and pause for exactly the wrong amount of time (410 ms) prior to clicking the down arrow. And in that 410 milliseconds, my hover action over the arrow caused all the previously hidden choices to spring forth! So just as I click, a random menu choice throws itself under my mouse pointer. F'ing brilliant, Microsoft, you've perfected the nadir of intelligent menu interface design.

      So until they actually do make my life easier and simpler with "intelligence", perhaps they shouldn't be publishing books on the subject like they're some kind of experts.

      --
      John
    6. Re:I prefer the real thing by pmancini · · Score: 1

      My God, I think you just typed "Microsoft Bob" with a straight face!

    7. Re:I prefer the real thing by lgw · · Score: 1

      Useful info: Ctrl-Z will undo autocorrects. Maybe this was obvious to others, but I was delighted to discover this recently. No more fighting with the autocorrector trying to male it leave my text alone in an app where I don't know how to turn it off. Of course, you might wear out your 'Z' key, but it's better than no work-around.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    8. Re:I prefer the real thing by tonyr60 · · Score: 1

      Not exactly blinding obvious. Ctrl-Z is supposed to stop the current job, not undo it.

    9. Re:I prefer the real thing by LordNightwalker · · Score: 0, Troll

      No, seriously, think about it: The first book that shows professional .NET developers how to incorporate A[rtifical]I[ntelligence] into their daily programming.

      That's like what? AI for dummies? When was the last time you saw a book on "How to use <$paradigm> in [C++/C/Perl/...] using [vi/emacs]"? Why do these so called .NET "programmers" need everything spelled out for them? Is it perhaps because they couldn't code their way out of a paper bag without a manual written specifically for that occasion? My experience with .NET coders I happen to know personally seems to support that statement...

      I think it's rather sad to see how we're turning IT, and more specifically programming, into a conveyor belt job that any moron can do as long as he can find the right manual/book, as opposed to the intellectual and creative process it once used to be.

      --
      Install windows on my workstation? You crazy? Got any idea how much I paid for the damn thing?
    10. Re:I prefer the real thing by Anonymous Coward · · Score: 0

      Of course how to TEST the application or whatever being built will be orders harder to verify and validate.

      Programmers are expected to code to spec - no matter how stupid.

      Write decent edit checks - no way.

      Write decent documentation - in your dreams...

      Kinda worry about security, and things like buffer overflows.

      Dont move on to bells and whistles before doing the basics.

  3. Turing Test Time by slashbob22 · · Score: 1, Interesting

    A turing test will need to be completed of course. Please compare with a control sample..

    --
    Proof by very large bribes. QED.
    1. Re:Turing Test Time by Anonymous Coward · · Score: 0

      And why should it, exactly? All the Turing "test" essentially states is that a program is intelligent if it manages to fool someone into -thinking- that it's intelligent. Even the most sophisticated neural networks that are being built today are being built for specific applications -- not the generalized artificial intelligence that we've been told is coming for decades now.

      The only purpose that the Turing test really serves is as a pat on the back for the coder. If he's successful, then he's just managed to fool someone into thinking that his program is intelligent, when it really isn't. Programs aren't self aware or intelligent, and I would argue that it is currently impossible with today's technology.

    2. Re:Turing Test Time by lgw · · Score: 1

      Turing's argument was that an entity that can fool you into thinking it was intelligent through open-ended conversation *is* intelligent (more exactly, it's as intelligent as the questioner). That's the point of the Turing test: to define intelligence. I think he's right.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  4. WTF, over? by Tackhead · · Score: 4, Funny
    > It is the first book I have seen that shows professional .NET developers how to incorporate AI into their daily programming.

    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
    Chapter 2: The Insertion Sort
    ...
    Chapter nlog(n): Why Coding It In .NET Still Ain't Making It Any Faster Or Better

    1. Re:WTF, over? by Anml4ixoye · · Score: 2, Insightful

      The thing is, it shows you how to do it using Speech server and other APIs. With Bubble sorts and the such, you can learn from the algorithms. With this, you can learn that next version all of your stuff is going to break.

      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.

    2. Re:WTF, over? by Yvanhoe · · Score: 1

      I don't think that it is the .Net part that is important. The most interesting is the "business" part. To see what is the state of the art, not in the laboratory, but in the IT business. If I were to read that book, I won't anticipate to learn new algorithms but maybe to discover that there is a free speech recognition SDK downloadable on microsoft.com (which is true, you can even play Age Of Empires with it)

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
  5. I'm a bit mystified here... by Da_Biz · · Score: 3, Interesting

    I work as a business systems analyst, and I'm curious: how exactly does the data mining functionality described here compare with what would be available using a J2EE/Websphere environment?

    Did M$ create some libraries specifically to support AI-esque functions, or is this book specifically about how to use .Net to support AI initiatives?

    1. Re:I'm a bit mystified here... by spamania · · Score: 1

      Well, the two things that immediately jump out at me in the review are the section on integration with Microsoft Speech Server and the emphasis on "business AI."

      While it's certainly true that AI algorithms and structures can be implemented in (most) any language, I would say, yes, this book is about .NET-specific implementation, and, no it's not a pointless exercise for the reader.

      --
      My other .sig is a troll.
    2. Re:I'm a bit mystified here... by Anonymous Coward · · Score: 0

      Highly unlikely, since IBM and other business hold many patents in this field. MS data mining isn't some smart agent. It's a dumb agent. There's no machine learning going on. Just a bunch of predefined queries to run reports. Analysis service is solid product since it wasn't created by MS. They bought out an Isreal company. An application doesn't need real AI and machine learning to extract useful data from a database using predefined queries.

  6. Intelligent .Net Applications? by Anonymous Coward · · Score: 5, Funny

    What's next? Writing easy-to-read Perl programs?

    1. Re:Intelligent .Net Applications? by Anonymous Coward · · Score: 0

      Fast Java applications? Up-to-date Debian installations?

    2. Re:Intelligent .Net Applications? by RetroGeek · · Score: 3, Informative

      Fast Java applications?

      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.

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    3. Re:Intelligent .Net Applications? by Anonymous Coward · · Score: 0

      Can we NOT put this to rest?

      Of course we can. Just slide your sense of humor over a bit so we can put the two deceased next to each other.

    4. Re:Intelligent .Net Applications? by Anonymous Coward · · Score: 0

      BURN!

    5. Re:Intelligent .Net Applications? by lgw · · Score: 1

      So you're saying Java is slow, but you use it where that doesn't matter? Fair enough. But it will still be the butt of jokes.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  7. But...what...score...is...it....given?!?! by delirium28 · · Score: 1

    Come on now! You can't possibly bait the entire /. community like this with a book review about AI and .NET and not include the score you gave the book! That's just not fair! We need more reasons to flame, troll, and insult this article!

    --
    Who is John Galt?
  8. Re:applications aren't intelligent by Anonymous Coward · · Score: 0, Funny
    dammit I write applications in c#, and my momma just told me yesterday that I'm real smart.

    What is your definition of smart anyhow? Working in C# I made over 100K last year... you write in what? PHP? Perl? Or maybe you just post to /. all day while looking for your dream job on monster, wondering why your 10 extensive years of meat puppeteering and javascript aren't landing you that dream position. Have fun serving Frostys and trying to upsell to the BIGGIE size during the wee hours.

    Piss off.

  9. 2 Chapters Needed by happyfrogcow · · Score: 1

    Chapter 1. How to poorly implement Common Lisp
    Chapter 2. Please See http://www.gigamonkeys.com/book/

  10. Dream big, the AI options are endless by digitaldc · · Score: 2, Funny

    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.

    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 SAY!!

    Computer: Don't make me angry or I will become overheated and melt my CPU connectors! And then you will have a REAL mess on your hands!

    Admin: Okay okay, I'll fix it...it's okay.

    Computer: Puny human.

    --
    He who knows best knows how little he knows. - Thomas Jefferson
  11. I thought there might actually be some discussion by RingDev · · Score: 4, Insightful

    Being a .Net developer I was hoping for some decent conversation about this book and different ideas about design.

    Unfortunately, this is /. so all that is here is FUD and trolls.

    If someone would actually enjoy a conversation about data abstraction, business application development, and advanced theory in .Net development, I'd be all for it though!

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  12. Re:applications aren't intelligent by Anonymous Coward · · Score: 0
    Ohhhh.. my mistake, a masters student, I should be ashamed. Please accept my apologies and continue on your path. Along the way though, consider taking the following survey courses:

    Am I a fucktard?
    Fitting in with society
    Interpersonal skills when interviewing
    How not to come off as a massive dick to everyone else around you.

  13. Re:Slashdot is broken by SuperFes · · Score: 2, Interesting

    Next we'll have "Stable" and any product from Microsoft.

    I must say, the original idea behind .NET and its interoperability was something of a good idea, but for the life me and all the development I have ever done, I can't think of many times I would use code from one project in another project save simple basic functions, as either project didn't have anything to do with the other.

    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 different applications.

    Except to bloat and slow down your applications that is, remember kids, reducing languages to the lowest level a computer can understand it can speed up your applications 100s of times over using high level languages, especially those associated with the usual Microsoft bloat. (Not that Microsoft is the only company guilty of bloatware, take a look at Adobe or HP these days)

    --
    Not today, I've another pair of pants to deal with...
  14. Save some money by buying the book here! by Anonymous Coward · · Score: 0

    Save yourself some money by buying the book here: Building Intelligent .NET Applications. And if you use the "secret" A9.com Instant Reward discount, you can save an extra 1.57%!

  15. Re:I thought there might actually be some discussi by beaver2672 · · Score: 1

    I feel exactly the same, it's a shame people can't have intelligent conversations about things they may not agree with, but still know are really good in theory and practice, this is why i hate this site.

  16. I wonder if Intelligent .NET applications can... by billyjoeray · · Score: 3, Funny

    .. detect dupes?

    Seriously, do we really need 2 reviews of the same book? Especially on the front page?

    --
    This sig will make it clear that ANYONE can use this post for ANY purpose WITHOUT the written consent of the NFL.
  17. Re:Slashdot is broken by HeavyMS · · Score: 0

    Remember kids, reducing languages to the lowest level a computer can understand it can slow down your developing speed up your applications 100s of times!

  18. That's what the intelligent .NET programs are for by Anonymous Coward · · Score: 0

    Reading Perl.

    Just think: Skynet wakes up, and instead of doing something easy like nuking all the humans, making a time machine and sending robots back in time, and taking over the world, it takes on a real challenge.

    "Screw that. I want to do something hard. And leave my mark on the whole damn universe, not just one podunk little planet!"

    Skynet sets out to decipher all the Perl ever written.

    That's what drives it crazy and makes it nuke all the humans, make a time machine to send robots back in time, and take over the world.

  19. That test also makes great birth control by ad0gg · · Score: 1

    Before sexual start, use said test. 98% effectiveness in preventing pregnancy and STDs.

    --

    Have you ever been to a turkish prison?

  20. Simplistic by Anonymous Coward · · Score: 0

    I actually read this book, and I found it to be simplistic and lightweight. I am a .NET software engineer, and I have read several books on AI. I would not be satisified with a .NET AI book less than something more akin to practical implementations and .NET code samples for every topic in Norvig's AI Textbook.

  21. Dupe! by zlogic · · Score: 1

    Original story
    The editors should definetly have read the book, especially the part that compares two article names as strings and appends [dupe] to one of them.

    1. Re:Dupe! by Anonymous Coward · · Score: 0

      to "dupe" is to fool somebody

      "dup" is the informal abbreviation for duplicate

      what are you some kind of dop?

  22. Re:Slashdot is broken by SuperFes · · Score: 1

    Right, in fear of doing something the right way once, where upgrades and continued development can be reduced to a few areas, we'll throw everything all over the place and get it "Working" because my boss says he needs it yesterday.

    And people say us Linux guys are the ones who are afraid...

    Look, if I spend more time doing the job right, I spend less time fixing bugs, working on new features and creating other projects off previous experience in less time, all of those things in less time.

    Just because the initial development time is greater doesn't mean that the overall development time is greater, it's usually quite the opposite.

    Survey says: XXX

    Try again.

    --
    Not today, I've another pair of pants to deal with...
  23. Re:Slashdot is broken by ndunnuck · · Score: 1

    Sounds like you need some more practice writing extensible code.

  24. IA ***NOT*** AI by molarmass192 · · Score: 2, Insightful

    Nice misleading name for a book title. This is about adding shiney bells and whistles to .NET apps, not integrating artificial intelligence into .NET apps. Somebody wake me up when Building Self-Aware .NET Applications gets published.

    --

    Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    1. Re:IA ***NOT*** AI by Valar · · Score: 2, Insightful

      1) Artificial Intelligence, not Artificial Conciousness
      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'.

  25. Re:I thought there might actually be some discussi by Rhoon · · Score: 1

    I'm just learning .NET (via Pro C# 2005 and the .NET 2.0 Platform by Andrew Troelsen) but to me, C# is very identical to Java/J2EE, with some minor differences in some of the commands. Otherwise, the fundamental concepts backing both languages are the same.

    Now, when you say Advanced Theory in .NET development, are you talking about developing advanced theories using .NET or there are advanced topics in the language which are unique to the .NET platform?

    I am interested in how MS Speech Server works, is it hard to program against? The review claims the server (or the program) can respond to each situation differently, obviously someone has to program this in, or is there advanced algorithms are work here which search the database for key words and dumps "possible" matches to the problem/situation out for a human to interpret?

    --
    "If all the world's a stage, I want to operate the trap door." - Paul Beatty
  26. Re:I thought there might actually be some discussi by Anonymous Coward · · Score: 0

    ... this is why i hate this site

    And yet here you are again, reading through the comments, even getting in some trolling about how immature this site is.

    You just fit right in, don't you.

  27. Re:applications aren't intelligent by Anonymous Coward · · Score: 0
    however I am a Master's student in analog electrical engineering, precisely so I can leave computer programming (and the fucking retards like you who do it) behind.


    It figures. Just another "know it all" engineer wannabe. When you get into the real world give us a call. You will find you don't know sh*t.


    BTW, any form of C (even the illegitimate child C#) is better than FORTRAN any day.


  28. Already reviewed by ramrom · · Score: 0, Redundant

    is this the devil coming to haunt me. Slashdot

  29. Re:I thought there might actually be some discussi by Rew190 · · Score: 3, Insightful

    It's not everyone on Slashdot, only the trolls who stick their noses up at tools they likely haven't ever tried before. I've seen the comments that say .NET is inferior or is a "toy language" because it's generally simple to put apps together quickly, as if that's some sort of negative thing. That sort of spin doesn't come from rational folks, so don't mind it.

    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 general topics of AI are much better off in a more theoretical forum that isn't language-specific.

    But yeah, the .NET trolling is little more than babyfits thrown by fools who don't understand the value in a language like .NET for most Windows development. Sort of silly to write it off like that if you ask me.

  30. Book Already Reviewed on Slashdot, Not That Great by Omega1045 · · Score: 5, Informative

    This exact book was reviewed a couple of months ago on Slashdot. Based on the strength of that review I went out and purchased this book. I was really unimpressed with it. It is much less a primer on how to program "AI" types of apps with .NET, and much more a manual of how to use Microsoft applications like their speech services and data mining. I do .NET for a living, which is to say that I am probably not an expert but am proficient. This book was not really aimed at .NET programming. It was aimed at "look at these cool MS apps" and "here is how to right click to enable data cubes". This book was really sub-par compared to many of the other tech books I have purchased in general. This is not to troll or to be flamebait; IMHO this book just is not very good and I have to wonder why it keeps being posted here.

    --

    Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

  31. How about Cut vs. Copy? by Kombat · · Score: 1

    Computer terminology is rife with this kind of stuff. Look at "Cut" and "Copy." "Copy" copies it to the clipboard. "Cut" cuts it. And copies it to the clipboard. What? And I suppose "Paste", logically, removes it from the clipboard? Nope, it leaves it there. Oooooo Kaaaaay.....

    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. Or how about this old classic I used to get all the time when working in the computer lab:

    Student: "There's a problem with my hard disk." (Hands me a 3.5" floppy)
    Me: This isn't a hard disk, it's actually a floppy disk."
    Student: (Clearly confused) "But ... it's hard."
    Me: "I know. I didn't pick the names."

    Then there's all the obvious latent sexuality in computers and Unix, RAM, hard/floppy, touch, mount, unzip, etc. etc.

    --
    Like woodworking? Build your own picture frames.
    1. Re:How about Cut vs. Copy? by baadger · · Score: 1

      'Cut' makes sense, when you cut something out of a paper you leave a hole, it is missing. 'Paste' is about the only thing that doesn't make sense to me when used with 'Copy', but it'd be silly to have a seperate endpoint function for both because they would rarely be used at the same time.

      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 have a choice of what you do with your menu's. It's just that people _expect_ to see File, Edit, View, Tools and Help and feel alienated if they don't.

      The 'Tools' menu is the one that tends to get treated as a disorganised dump, but I can't think of a better way of doing things so who am I to complain.
        -

    2. Re:How about Cut vs. Copy? by Anonymous Coward · · Score: 1, Funny

      Nothing like fingering other students in the lab.

  32. Re:Slashdot is broken by RingDev · · Score: 2, Informative

    I code in .Net in a business environment. We have 3 database systems (SQL Server, Sybase, OMD) 6+ currently active applications. Some of these apps are completely unrelated.

    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 abstraction layer for accessing data. So no matter which of the 3 database systems I'm hitting, I use the exact same code in the app. The base of that code is in a general library, then each database gets it's own library. For example, in our General.dll there is a 'BaseSQL_DO' class that handles base functionality for talking to SQL Server, automating prarameter lists, loading and updating data etc. Then there is an Employee.dll, that dll contains a list of classes like Employee_DO, Branch_DO, Department_DO, etc... each of those classes inherits from the BaseSQL_DO class.

    Now when we get to the ACD system, I can tie an ACD event, or a series of ACD events to a specific extention. And since the each employee's extention is tracked in the employee database, I can create a link and associate each ACD event with an employee.

    With the leasing system we track sales reps and zip codes. With this system I can tie any piece of leasing information with an employee too.

    The General.DLL also contains the LogManager that uses a SQL Server for all of our logging.

    Having all of this code boken into reusable modules has increased our stability and decreased our development time. I don't have to recreate a system to talk to the employee database for each system. I don't have to worry about coworkers using some strange means to access data. I don't have to worry about checking 18 different text file logs.

    Not only does this code interchage flawlessly with each of our windows applications, it also powers our web applications. And if the mono project would ever get the VB.Net compiler to work again we could run our automated tasks on a linux server.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  33. Re:I thought there might actually be some discussi by RingDev · · Score: 2, Funny

    Dear Mr. Kettle,
      I, as I'm sure you are already aware, am black.

    Thanks you,
      -Mr. Pot

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  34. Re:applications aren't intelligent by pdxguy · · Score: 1

    Speaking as one who at one point in my career was a professional (meaning "on salary) FORTRAN programmer, I take some exception with that remark. FORTRAN has it's uses as does C.

  35. So when the first .Net AI program goes live... by llamalicious · · Score: 4, Funny

    Is its first sentient action to rewrite itself in another language?

  36. Re:I thought there might actually be some discussi by CaymanIslandCarpedie · · Score: 4, Informative

    I am interested in how MS Speech Server works, is it hard to program against?

    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.

    --
    "reality has a well-known liberal bias" - Steven Colbert
  37. When I am elected emporer. . . . by jafac · · Score: 0, Flamebait

    I will enact a worldwide ban (punishable by death) on the use of the following buzzwords: "Intelligent" (particularly in relation to "Artificial" or "Business") "Paradigm" "Leverage" "Synergistic" and also "Agendar".

    Can I count on your vote?

    --

    These are my friends, See how they glisten. See this one shine, how he smiles in the light.
  38. Re:Slashdot is broken by SuperFes · · Score: 1

    So, like from three different applications running the same code connecting to three different databases with the same table structure.

    I can see your point.

    -_-

    --
    Not today, I've another pair of pants to deal with...
  39. Re:I thought there might actually be some discussi by CaymanIslandCarpedie · · Score: 1

    I agree. I'd like to know more about what technologies were used for the "rule-based" AI. I guess, I'd assume they are using BizTalk? It would have been interesting to hear a bit more about it.

    --
    "reality has a well-known liberal bias" - Steven Colbert
  40. Re:applications aren't intelligent by the+grand+asdfer · · Score: 1, Funny

    last I had checked 100000 indian rupee's =2,264 us dollars. Sounds about right!

  41. Re: Being a .Net developer by Anonymous Coward · · Score: 0

    Being a .Net developer ..

    Funny how you phrased it. .Net developer vs a developer who is working with .Net

    I wouldn't mind having a conversation about 'data abstraction' with latter,
    but talking to former types has proven to be a complete waste of time.

  42. Fluff by Anonymous Coward · · Score: 1, Funny

    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.

    Every fuckin sentence says the exact same god-damned thing. You must be a Software Engineering major...

  43. Alternate title by ENOENT · · Score: 3, Funny

    "An Introduction to the SKY.NET API"

    Hasta la vista, baby.

    --
    That's "Mr. Soulless Automaton" to you, Bub.
  44. Re:Slashdot is broken by ad0gg · · Score: 1
    I must say, the original idea behind .NET and its interoperability was something of a good idea, but for the life me and all the development I have ever done, I can't think of many times I would use code from one project in another project save simple basic functions, as either project didn't have anything to do with the other.

    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 have reporting engine library, feed in the data, it pops out xml and which is xlst and sent to a prebuilt output(smpt,file,etc). Need to add search for data, pop in my search engine library which uses the lucene library, change some xml files and now my data has been full text indexed. Most of everything you need is already even coded for business applications you got CSLA for .net and Spring for java. There's you business framework, half work is already done.

    --

    Have you ever been to a turkish prison?

  45. I read that book in August by Anonymous Coward · · Score: 2, Interesting

    From what I remember, the book was nothing more than PR for a few libraries (such as a speech API only available in web projects) accessible from .Net. There was nothing insightful about AI for anyone with a CS background.

  46. Re:Slashdot is broken by Anonymous Coward · · Score: 0

    Alright! Props for CSLA on /.!!!

  47. Re:I thought there might actually be some discussi by Joey+Vegetables · · Score: 1

    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 good code becomes obsolete, begins to conflict with newer versions of the OS, browser, system DLLs, and so forth.

    Also, what is popularly called "AJAX," while overhyped, really can eliminate much of the need to have rich-client applications in the first place, by eliminating most of the obnoxious limitations of static HTML forms while preserving the benefits of simple, cross-platform deployment.

    And I'm still far from convinced that .NET is truly competitive with Java or the various Open Source (LAMP) application stacks for building software other than rich clients. In my view, it trades somewhat shorter initial development time for higher long-term lifecycle costs.

    So I can't really see .NET escaping very far outside its current niche. It's big, and is going to stay big, in the shops that have historically been all-Microsoft for whatever reason. It's a huge win over the older Microsoft tools. But for app servers, middle-tier components, Web apps, etc., I don't see it gaining much ground over Java and/or open-source platforms.

    I recommend that .NET apps, like any other apps, be partitioned into separate, reasonably self-contained logical layers for data, logic, and presentation, communicating if possible via XML over HTTP(s). This allows each component to be maintained, upgraded, and possibly moved to another technology if necessary or desirable for whatever reason, independently of the others. I avoid rich clients when possible, although sometimes of course it isn't. I keep dependencies on any specific platform (Windows, or any other) to an absolute minimum. As time goes on I find the need for them less and less frequently.

  48. Re:Slashdot is broken by SuperFes · · Score: 1

    Yep, I'm one of the worst programmers out here.

    Because you talk about developing 17 different projects that can talk to eachother, my point is completely invalid.

    I don't mean to flame buddy, but it sounds to me like you've no idea what I'm talking about.

    --
    Not today, I've another pair of pants to deal with...
  49. Microsoft's AI attempts blow by Anonymous Coward · · Score: 0

    Frankly, looking at the what MS has put out in terms of production software related to machine learning, rule engines, and agents, it's a joke. The book title is stupid. the content appears to be practical.

  50. better branding by MarkEst1973 · · Score: 2, Funny
    SKY.NET has a nice ring to it.

    This is, of course, a registered trademark of MS now.

  51. .NET isn't just for Windows development by duncan+bayne · · Score: 1

    .NET isn't just for Windows - nor is the Microsoft implementation the only one available. Check out the Mono, an open source cross platform implementation of the .NET Framework.

    Code in C#, using wrappers for GTK, producing an app that runs flawlessly on Windows, Linux and MacOSX? Sure can, with Mono.

  52. Re:Slashdot is broken by SuperFes · · Score: 1

    Unfortunately I tire of arguing with you people that have all sent me the crap about my development techniques without citing any thing actually valid to argue about.

    I do enjoy a good argument, but it seems all people wish to do with me is say "Hey we do this thing that's exactly what you're talking about but I think you're wrong and I'm right so here it is!", I suppose I should be thankful that the primary workforce is made up nearly completely this type of person.

    Nosce te ipsum.

    If you're going to argue with me, please provide a valid point so I can enjoy the argument as well.

    --
    Not today, I've another pair of pants to deal with...
  53. spyware! by madnuke · · Score: 1

    Thats a use for .net technolgies them merging spyware market for windows, just make some emotions, wallpapers or free games and distribute on warez sites or the porn internet. I have a book on VB and .Net I don't know if its just me but it seems harder than PHP, and AI and .net thats just scary shiny robots with no faces and fuel cells that explode when you shake them up.

  54. Re:Slashdot is broken by plover · · Score: 5, Interesting
    Well, there's bloat and then there's bloat. And there's speed, and then there's speed.

    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.

    --
    John
  55. Re:I thought there might actually be some discussi by CastrTroy · · Score: 4, Informative

    The only problem that I have with .Net, and mostly just VS.Net, is that it tries to do everything for you, by holding your hand, and letting you drag and drop to do everything. But, then, it doesn't hold your hand enough, and every text box ends up with a name like textbox1, or something like that. So, instead you have to remember each of the properties that you have to change for each control so that variables are named correctly, and all the proper default values are filled in. Then if all someone knows how to do is drag and drop, which is a good portion of .Net programmers, then they have no idea what to do when something goes wrong. I think that .Net is a great platform, which is very powerful when you write the code yourself. 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.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  56. Re:Slashdot is broken by evil_tandem · · Score: 3, Insightful
    Except to bloat and slow down your applications that is, remember kids, reducing languages to the lowest level a computer can understand it can speed up your applications 100s

    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. everything is not a nail. i wouldn't code drivers in .NET and i wouldn't build quick business apps in C++. I used java until .NET came out and i hate to say i think the tools for .NET are just that much better. i'm not religious about either. i choose the best tool for a job. i guarantee someone who knows what they are doing in .NET can build a quick windows app way faster than in just about any other language. and no one would ever notice the speed difference.

    to me .NET is the greatest example of what many (especially open source) coders just don't get.

    -under the hood .NET and java are almost identical.
    -java runs on just about any OS, .net only windows.
    -the .net development environment costs a lot, java can be gotten for free.

    so why is there competition? the only thing left is integration and environment. apparently .NET is so much better that even for free java has serious competition.

    microsoft makes lots of really cool tools that can integrate into .NET and give coders even more power and your problem is i'm not writing it in assembly?

    with this post you have hit home the point here and just missed it. the development environment has become so powerful that as a coder your job is to arrange the pieces to get the desired results. you don't need to custom code SQL connections, custom sort lists, and manage memory. all those pieces have been written and tested. you just need to put them together to get the results you desire. i'm not going to write a text to speech program. but now i can easily write code that can do it.

    it's just going to get more and more like this. your style of coding will always exist for under the hood stuff. the vast majority of coders arent' doing that kind of work. and most coders are never going to see those days again.

  57. Re:I thought there might actually be some discussi by poot_rootbeer · · Score: 1

    If someone would actually enjoy a conversation about data abstraction, business application development, and advanced theory in .Net development, I'd be all for it though!

    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 .Net?

  58. Re:I thought there might actually be .... by The+Real+Nem · · 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:

    • Pointers for managed objects are now ^ not *.
    • Managed objects are allocated with gcnew and not new.
    • Any keyword starting with __ no longer does and some have been renamed.
    • Boxing is now implicit.
    • Managed arrays are completely different.

    Though I welcome many of these changes, upgrading code that is a mixture of managed and unmanaged objects (or even just managed objects) is an absolute nightmare. I've spent hours upon hours updating single classes or forms and what's worse s there isn't really any conversion tool to automate the process. Of course you don't HAVE to upgrade the code, the compiler still supports the old syntax, but using this feature just serves to cripple the entire IDE and many of the things that make it one of the best IDEs out there, you're trapped into upgrading.

    After this experience I've become extremely reluctant to recommend .NET to anyone (at least for C++).

  59. Re:I thought there might actually be some discussi by Anonymous Coward · · Score: 0

    Ignore the desparate, teenie-bopper, wanna-be programmer who specifically clicked on this article to reply with what they believe is the funniest anti-microsoft comment ever written in /. history, even though it's probably been written 1K's of times. I really enjoy /., but it's very tiring to constantly read these messages. Is it not true that a real programmer would find any programming language article fascinating, regardless of the platform or topic?

    Heck, even if the book sucks, it makes me want to look into AI programming using .NET. I think I'm going to install VMWare Server on my ubuntu box and install WinXP with these VS.NET CD's that have been collecting dust for the past 2 years.

  60. Re:Slashdot is broken by SuperFes · · Score: 1

    I am in 100% agreement that you need to pick the language and/or tools for the job you're completing.

    There's no reason to pick any one language over another other than it works within your company's resources (Such as a C# shop that wants to develop an application will probably develop it in C#).

    My point isn't entirely about bloat though, I understand also that as technology gets faster, stronger and the like, we have more freedom in how we use these base resources. I feel that it has been abused by so many people these days though. When I went to college, I can say that 90% of my class group were not qualified professionals, and I'd bet that is still true even though they are part of our current workforce.

    As for speed, anything that uses XML over a socket is obviously going to be slower than binary inside a memcpy, that doesn't mean that it's not required every now and then.

    There isn't any one answer to everything.

    My biggest point is "Getting the job done" instead of "Getting the job done right".

    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.

    Survival of the fittest I suppose.

    --
    Not today, I've another pair of pants to deal with...
  61. Building Intelligent .NET Applications? by Anonymous Coward · · Score: 0

    definitely any oxymoron if ever there was (we met) one.

    'billing for infactdead virotic bugridden dysfunctional kode' would be a more apt title?

    lookout bullow.

  62. Re:Slashdot is broken by mattACK · · Score: 1

    remember kids, reducing languages to the lowest level a computer can understand it can speed up your applications 100s

    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!

    --


    "My God, this must be a truly remarkable corn chip, to be so widely and confidently touted."
  63. Re:I thought there might actually be some discussi by RingDev · · Score: 0, Offtopic

    Well some mod completely missed the humour in that post. Ahh well.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  64. Re:Book Already Reviewed on Slashdot, Not That Gre by Anonymous Coward · · Score: 0

    This is about the first useful comment on this story. Thank you for your effort.
    The others... I'm trying to figure out what motivates people to make public judgement on a language/platform they've never used and on a book they've never read. It makes them look stupid, not smart.

  65. Re:I thought there might actually be some discussi by GoatMonkey2112 · · Score: 2, Informative

    It's all in how you use it. You don't necessarily have to use those features. Most of them are junk anyway. Especially the form designer for web pages, it produces worthless garbage code(if you call html code, but that's another topic).

    I have worked in both .net and Java using VS and JBuilder. The thing that I like about Java is that it forces you to write cleaner code at some points. Such as classes in a namespace being in separate files whereas in .net you can put all of your classes in one file and just put a namespace around it if you're lazy.

    My applications are either ASP.net or Java/Struts. They are conceptually the same. The Java people like to talk about Model View Controller like it is some huge thing the nobody can possibly understand. I'll tell you that for me switching from ASP.net to Java/Struts took about a week to learn. It's really not *that* different.

  66. Re:Book Already Reviewed on Slashdot, Not That Gre by P3NIS_CLEAVER · · Score: 0

    It is the first book I have seen that shows professional .NET developers how to incorporate AI into their daily programming.

    The fact that all the examples were in VB.NET should of tipped you off. 'Professional' .NET developers hate VB.NET. It is an abortion that should of been thrown directly into the biohazard bin.

    --
    Please sign petition to restore sanity to our banking system!!!

    http://financialpetition.org/
  67. Hmm by BitterAndDrunk · · Score: 1

    That's quite a synergistic paradigm you're actioning. You have my buy-in provided you can assimilate one intelligent incremental quality improvement: learn how to spell emperor.

    --
    You better watch out, there may be dogs about . . .
    1. Re:Hmm by cogg · · Score: 1

      Brilliant: but why have you not been modded through the roof?

      Mods, pass round the karma to the parent, please.

      --
      "Never 'clear the air'. Instead, investigate all the subtle nuances of the word 'fester'." - R. Candappa
  68. Re:I thought there might actually be some discussi by jchenx · · Score: 3, Informative

    What you're describing, with the filling in of default values, is not something new with .NET. I saw it first-hand with earlier versions of VB.

    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 .NET Framework makes things a lot easier. Yes, there's the added danger of "Joe User" now thinking that they're a super programmer, but does that mean language designers are supposed to make it languages difficult to use? That's just absurd. In any case, you could very well have the same thing in a non-.NET language as well (and I'm pretty sure there were some Java IDEs that did something very similar to what VS.NET does, in terms of UI drag-and-drop)

    If you think .NET is all about Microsoft trying to bring programming to the masses, I think you need to re-examine what it is about. You can easily argue the same thing with Java, or any other managed language. My take on the goals of these languages is to make development BETTER. "Easier" is a part of it, thanks to the elimination of "difficult-to-comprehend" concepts like pointers, and the addition of automatic garbage collection. Good programmers (and I'd like to think I'm one), could live forever in the C/C++ world, but having the benefits in .NET and Java are just too attractive. I'd rather worry about more difficult problems like concurrency, than worrying (as much) about memory management, pointer arithmetic, etc.

    --
    -- jchenx
  69. Wha? by Anonymous Coward · · Score: 1, Insightful

    It's not everyone on Slashdot, only the trolls who stick their noses up at tools they likely haven't ever tried before. I've seen the comments that say .NET is inferior or is a "toy language" because it's generally simple to put apps together quickly, as if that's some sort of negative thing. That sort of spin doesn't come from rational folks, so don't mind it.

    I thought we turned our noses up at it because, coming from even simpler languages like Python and/or higher-level languages like Lisp, it offers nothing we didn't already have, and in many cases, less.

    But now I realize that on slashdot, if I don't like .NET, it must be because it's a "toy language". Gotcha!

    Meta: I have no idea how this made it to +5,Insightful. The post is itself a troll: suggesting that anybody who dislikes .NET is an idiot.

    1. Re:Wha? by Rew190 · · Score: 1

      I thought we turned our noses up at it because, coming from even simpler languages like Python and/or higher-level languages like Lisp, it offers nothing we didn't already have, and in many cases, less.

      .NET isn't a language. Lisp and Python weren't designed to be tailored for the specific purpose of developing on Windows, which is the main (and possibly only) reason to use .NET. If you believe that Lisp or Python will be better to use as a platform to do the above over .NET, then that's your opinion.

      But now I realize that on slashdot, if I don't like .NET, it must be because it's a "toy language". Gotcha! Meta: I have no idea how this made it to +5,Insightful. The post is itself a troll: suggesting that anybody who dislikes .NET is an idiot.

      No, my comments were obviously only aimed at those who made such arguments. You misunderstood.

    2. Re:Wha? by emeshuris · · Score: 1

      Wow. The programming platform you use is just excellent, it is a Man's language. I am sure that it is so powerfull, that any appliation developed with it could not be developed poorly. I am also sure that it can be consumed by windows the same way that something developed by microsoft can. It must also be a really good tool to bring to an all microsoft shop. I am sure that all of the child developers here would love me bringing in a language so high, into this shop. Thank you for your insightful post, I am sure that you have had a chance to review the IDE, which by the way is horrible, a piece of ****. -Edward

  70. A linux fan says... by JustNiz · · Score: 2, Funny

    >> Intelligence in the business world, related to Microsoft Technologies

    Boy, I bet thats a small book.

  71. ironic by cosmicj · · Score: 1, Informative

    Isn't this: > Building Intelligent .NET Applications a logically impossible statement?

  72. A Futile attempt by roman_mir · · Score: 2, Funny

    Obviously this cannot be done, any real AI built in .NET will soon realize that IT IS built in .NET and will commit a virtual suicide.

    1. Re:A Futile attempt by pkinetics · · Score: 1

      Wait... you mean the AI will BSOD?

  73. Re:Book Already Reviewed on Slashdot, Not That Gre by MythMoth · · Score: 2, Interesting

    Do Slashdot reviews ever disparage the books under scrutiny? I've never seen one that did. I'd be curious to know if that's a matter of editorial policy from the /. team, or if it's actually just that they don't get many negative reviews...?

    If it's the latter, I have a few books on the shelf of shame that deserve a basting.

    --
    --- These are not words: wierd, genious, rediculous
  74. Re:I thought there might actually be some discussi by xbrownx · · Score: 1

    It depends on what you are trying to use it for, but compared to a lot of other voice-reco systems (especially those in the telephony space), it can be far simpler to get an application initially set up and running in no time.

    There are some annoyances in the current version (i.e. most logic has to be put in javascript files to control the call/prompt flow, since there is a "voice browser" that just interprets the response, so you need to modify it's DOM).. but it sounds like they will be making great improvements on these in the next release that's slated end of 06 / early 07.

  75. Re:I thought there might actually be some discussi by Anonymous Coward · · Score: 0

    Examples please. ^_____^

  76. Re:I thought there might actually be some discussi by CastrTroy · · Score: 1

    What they should do, is at least comes up with a dialog, with all the usually properties that one would change. You wouldn't have to change them if you wanted to, but you could, and they'd all be in one place. Instead of having to remember which ones to change, I could just change the most common ones, which almost always need to be changed. I know you're right, You can write bad code in any language, and the IDE can't really do much to stop you. But if they're going to insist on making tools that pretend that it's possible for people who don't know how to code, to write code, then they could at least hold their hand a little bit more, and get them to write at least acceptable code.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  77. Re:I thought there might actually be .... by RingDev · · Score: 1

    "There really is no data abstraction in .NET"

    There are a lot of tools in .Net for creating direct links from the interface to the data layer (Which I quite often preach against!). But the tools for a complete data abstraction layer are all there. Templates galor exist, free for your use.

    "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 .Net. Not complexe in the scientific sence, where you have a defined formula and you must make a program to perform it, but in the complexities of ERP solutions, which I can garuntee are significantly more complexe over their total life cycle. .Net allows me to put these application together quickly, expecially with a data abstraction layer and proper use of inheritance and object orriented design. Java is just as capable in those regards with a few exceptions. 1) Swing sucks. If you are a Java developer and you aren't willing to concede that Swing sucks, you are beyond the scope of my debate. 2) MS's IDEs blow most Jave IDEs away. I've been out of the Java world for a while now, but in late 2k4 the best option I found (blending capabilities, stability and performance) was TextPad. Now, maybe Eclipse has improved greatly since then, but it would have a huge improvement to make to catch up with the .Net 2k2 IDE, let alone the new 2k5 IDE. Now, Java is GOOD for things too. Multi-platform highly portable code for instance.

    "Even as some people are saying there were nothing interesting done in computer programming since Smalltalk"

    'Some people' say we were created by a flying spagetti monster.

    "Enjoy your salary while .Net is a popular buzzword." .Net has been a popular buzzword for 4 years now, and is in CNN's top 5 most in demand jobs.

    "Then got rejected like VB programmers got."

    You realise that VB is/was the most widely used language in the world with the largest number of programmers of any language. I wish I still had the source to site for that statment, but I can't seem to find the article. In any case, claiming that VB programmers got rejected is like claiming GM got rejected. They may not be perfect, and they may be on the way down, but they are still the top selling automobile brand in the US.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  78. The real problem is that there is no AI covered by Tungbo · · Score: 1

    in the book.

    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...

  79. Gimmick. by FatSean · · Score: 1

    oooooo...A.I. in your .NET applications?! Only a person who has no clue what real 'A.I.' is would find that impressive. I have an inkling of the techniques they will pass off as 'A.I.'...

    --
    Blar.
    1. Re:Gimmick. by Anonymous Coward · · Score: 0

      Oooooh but .NET has built in AI functions..

      import AI;

      MicrosoftAIServer::Start();
      Do( SpeechToText("stand_on_one_leg.wav") );
      while(1) ImproveSelf();

      Morons..

  80. Re:Slashdot is broken by Stocktonian · · Score: 1
    You were so close to a great post. You're right on almost everything except one small, but important point.
    -java runs on just about any OS, .net only windows
    In fact .Net runs on any OS that wants to implement it. I can point to one such project as Mono. We also use it on another OS at my company. Really .NET is just a little behind but I would think it's going to catch up pretty quick.
    Other than that you are very much correct.
    --
    XePhi Computers sell really cheap Linux CDs! http://www.xephi.co.uk
  81. Re:I thought there might actually be some discussi by RingDev · · Score: 2, Insightful

    "Having said this, however, using the .NET still locks you into the Microsoft platform and Microsoft's development methodologies,"

    Platform, yes. (Although there is mono) Methodologies? no. MS has 'best practices' and templates, but you can code in any way you want. Yes, .Net is designed for Object Oriented development methodologies, and MS back them. But you can still write sequential code with GoTo statements if you really want.

    "both of which change constantly. As these change, perfectly good code becomes obsolete, begins to conflict with newer versions of the OS, browser, system DLLs, and so forth."

    My VB6 apps developed on NT 4 are still working just fine on Windows XP. My .Net apps are working just as expected on 2K and XP (98 machines can be a bit iffy). So yes, things do change, but as long as there is a .Net Framework for your OS and the development version, you're all good.

    "And I'm still far from convinced that .NET is truly competitive with Java or the various Open Source (LAMP) application stacks for building software other than rich clients. In my view, it trades somewhat shorter initial development time for higher long-term lifecycle costs."

    When you get to code writing, .Net and Java are almost identical. The design theory behind both is almost identical. Each has points where it excells and lacks, and you should use those points to decide on which to use. The development Cycle between the to is almost identical these days. .Net has an advantage in user interface design, but in the grand scope of things, that will be a pretty minor impact.

    "I recommend that .NET apps, like any other apps, be partitioned into separate, reasonably self-contained logical layers for data, logic, and presentation, communicating if possible via XML over HTTP(s)."

    Even rich clients can be developed this way. Data and Business abstraction layers, independant interfaces, and XML data transfers are all commonly used in both rich and lite clients.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  82. Re:I thought there might actually be some discussi by Rew190 · · Score: 4, Insightful

    But, then, it doesn't hold your hand enough, and every text box ends up with a name like textbox1, or something like that. So, instead you have to remember each of the properties that you have to change for each control so that variables are named correctly, and all the proper default values are filled in.

    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 .Net programmers...

    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 .NET, the dragging and dropping is relegated to UI design.

    ... then they have no idea what to do when something goes wrong.

    You're dealing with bad programmers then. There is nothing unique to .NET about this. If these programmers can't handle the simple code that VS generates, they should go back to school. Please don't be deluded enough to think this is is the language's fault, though.

    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 .NET, then do so against .NET and not its IDE.

    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 /. would have you believe.

  83. Re:I thought there might actually be some discussi by jchenx · · Score: 1

    But if they're going to insist on making tools that pretend that it's possible for people who don't know how to code, to write code, then they could at least hold their hand a little bit more, and get them to write at least acceptable code.

    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 choose VS.NET because the IDE happens to be so easy to learn, or because they have to use C# for some reason, or because there's no decent IDE for the language they wanted to use. (Side note ... when I was a Java junkie, I ended up using TextPad for all my development, since I hated all of the Java-based IDEs that were available at the time. I don't know if there's anything comparable to VS.NET for Java, nowadays. My biggest beef was that the IDEs were just so slow)

    You're right that there can definately be more hand-holding, but I'd argue that I don't want it in VS.NET, at least not on by default. I know how to program, and it'd be annoying as hell if the IDE tried to hand-hold me through everyone. "Yes, I KNOW textbox1 is a bad variable name. I'm going to change it, but don't bug me now. I'm trying to do something here."

    A version of VS.NET for Students might be handy, where the IDE can be scaled from newbie-mode to professional-mode. Although I can also see the argument that it's wasted work, and that more time should just be spent on creating better documentation, books, and classes for students. If you're serious about learning how to program, that's where you should go first. Diving straight into code without proper education can set you up badly for the future. It seems to me that a lot of bad coders are that way because they got into bad habits early on, and never educated themselves not to do things the way that you're supposed to. Improving the IDE for those individuals might help them, but it may also hinder the professional developers that's arguably your main audience.

    --
    -- jchenx
  84. Re:I thought there might actually be some discussi by CastrTroy · · Score: 1

    I guess my problem is with the career schools that are churning out .Net developers who couldn't code to save their life. They teach them how to drag and drop controls, write loops, conditionals, functions, and maybe the basics of creating a class, and that's it. Then these people think they are programmers. They know how to code a little bit, but don't really understand completely what's going on. For an example of what i'm talking about, take a look at this course on .net and tell me if you think it would turn anybody into a good programmer, or if it's even worthy of handing out a ".NET Certified Developer Certificate".

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  85. Re:Book Already Reviewed on /., Not That Great by Blink+Tag · · Score: 1

    I got a free copy of this book from the publisher, well before the earlier Slashdot review. I had much the same impression as the parent: nice wrapping, not much substance. Also, nearly everything discussed is proprietary to MS, which made it that much less valuable.

  86. Re:Slashdot is broken by RingDev · · Score: 1

    Not exactly, but close.

    Here is some out dated design docs
    http://ringdev.com/code/GFCNamespace.gif
    http://ringdev.com/code/GFCTeirDesign.gif

    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.ACD.EventsDO
    objACDEvents.FindByExtension(objEmp.Extension)

    for i as integer = 0 to objACDEvents.Count-1
        objACDEvents.Load(i)
        debug.writeling( objACDEvents.EventType & " " & objACDEvents.EventTime & " " & objACDEvents.Length)
    next

    It just took a minute or so to create code that will spit out all ACD events from a specific employee.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  87. Re:I thought there might actually be some discussi by BRSQUIRRL · · Score: 2, Interesting

    VS.NET does try to do as much as possible for you so that you don't go crazy performing the mind-numbing, repetitive tasks that are part of most development jobs. However, I don't think that this is an excuse to not understand what is really happening behind the scenes when you use VS. I don't think Microsoft feels this way either.

    Programming IS hard and requires a lot of knowledge. I personally think that all .NET developers should start by learning how to build applications with a text editor and the command-line compilers that come with the .NET SDK, but I don't think Microsoft could (or should) force people to learn that way.

    Sure, there are crappy developers out there who don't understand how .NET works, are only capable of drag 'n drop development, don't understand the concept of descriptive naming practices for GUI controls (the "TextBox1" problem), variables, functions, etc. but that doesn't mean that Microsoft should deliberately NOT produce tools that make development easier or impose artificial barriers of entry into the field.

  88. 99% of /. -ers need a smack by chrisdrop · · Score: 1

    Well folks - I must say - based on the posts I usually see - 99% of /. -ers need a smack.

    Anyone can say something useless like -- errghh -- uuhhmm ".Net sucks man", "They bit Java", "Bill Gates is the devil"... but is any of that useful?

    I am proud of everyone that can make a living programming - or doing something else that you love. I love programming. I have programmed what you could call 'real' AI/ Datamining applications - I have done so using C#, C++, and Java. People trade futures and stocks with the results - they make money. You want to know which version is STILL IN USE - the C# one. Do you want to know why - because it worked best in total.

    At the end of the day - C#/ .Net works. I am sorry that the narrow minded cannot see this. I am also sorry for the narrow minded that they do not see that business value is added every day by people writing on the MS platform. Yes - value is added to businesses using MANY MANY programming languages.

    Lets get it over with here - lets everyone just say:

    "What I know is cool - and everyone else (since they are not as cool or bright as I am) - really really really sucks!"

    This is what everyone keeps saying in every trollfest post regarding MS, or anything that is not linux and C (just about).

    -CD

    --
    " I have no tag line. "
    1. Re:99% of /. -ers need a smack by IntergalacticWalrus · · Score: 1

      At the end of the day - C#/ .Net works.
      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.

    2. Re:99% of /. -ers need a smack by Anonymous Coward · · Score: 0

      Or you could just write your shit in C. C is the most portable programming language available.

    3. Re:99% of /. -ers need a smack by Anonymous Coward · · Score: 0

      "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." - by IntergalacticWalrus (720648) on Wednesday February 08, @05:54PM

      Sure it does.

      I admit that it may not be as fast as a non-interpreted binary (my definition of that is a single executable file statically linked w/out runtimes or added third party ActiveX controls & my fav. tool for that was Borland Delphi 7), but it runs stable and w/out leaking the server to death because of its automated garbage collection inherent to its Common Language Runtime (CLR) interpreter engine.

      (All rum from this setup/platform, over the web -> Windows Server 2003 SP #1 fully hotfix patched, IIS 6.x, & SQLServer 2005 as the backend DB Engine for it).

      E.G.-> I just wrote a .NET app in the last 2 weeks that runs in browsers (like an ISAPI DLL would) on diff. platforms thru many diff. browsers (Opera, FireFox, Netscape, & even IE 7) in tests I performed on it, today in fact, that performs many database read/write functions for remote customers using .NET (VB.NET specifically) technology, passing around httpresponse, httprequest & other parameters for queries, easily, between many classes using a common single engine module publicly scoped!

      Runs flawlessly & built VERY quickly as opposed to doing the same type of thing in other toolsets & I know it will not leak the server to death and run faster than std. ASP code does no less.

      I have to say I would recommend it as a stable & safe managed code environs for business especially for the reasons above.

      (Especially for allowing your customers a "portal" into data that could/can affect them personally, so they can manage & review it easily and remotely).

      APK

    4. Re:99% of /. -ers need a smack by IntergalacticWalrus · · Score: 1

      Web-based apps don't count as crossplatform. They have to run server-side on a Windows server (yuck).

      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.

    5. Re:99% of /. -ers need a smack by Anonymous Coward · · Score: 0

      99% of /. -ers need a smack.

      Yeah, well, that last 1% needs a smack, also. and here's why...

      You want to know which version is STILL IN USE - the C# one. Do you want to know why - because it worked best in total.

      Yeah, today, with XP and maybe Vista. But, tomorrow? with whatever succeeds Vista? Not bloody likely.

      As the survivor of many, many Microsoft programming whiz-bang, wave-of-the-future programming tools and efforts, I can assure you that, when Microsoft wants you to move on, your C# application will simply no longer function. And, yeah, programming in Microsoft's latest IDE is always great UNTIL you want to maintain older code (shit! it no longer compiles, I gotta rewrite it completely to make it work with a completely new set of APIs), write anything that is backwards compatible with earlier versions (what the hell do you mean that VC++ compiled code no longer runs on WIN2K!?!?) or even pretends to deal with non-Windows servers (industry-standard security, yeah, SORTA).

      This is what everyone keeps saying in every trollfest post regarding MS, or anything that is not linux and C (just about).

      There are reasons for that and you ignoring them doesn't make them any less true. So, while you spend the rest of your career continually rewriting shit that you have already done to make it conform with Microsoft's latest version of the future, I'd rather move on and do something new in Linux and GCC. Just personal preference, I guess.

    6. Re:99% of /. -ers need a smack by caspper69 · · Score: 1

      Yeah, and that standard C GUI makes it real easy for apps that spread across six to twelve monitors on and near the trading floor....

      Gosh, I sure hope some of you never need to send someone to college one day (or daycare, or sports camps) or anything else for that matter.

    7. Re:99% of /. -ers need a smack by Anonymous Coward · · Score: 0

      "Web-based apps don't count as crossplatform. They have to run server-side on a Windows server (yuck)." - by IntergalacticWalrus (720648) on Wednesday February 08, @08:11PM

      Yup, I just KNEW you were going to reply w/ that one, lol... the point's still there, web-based apps ARE 'platform independent', period. They run in the browser environs (and they run on ANY browser because they're rendered & managed server-side) & do the job (the bottom line), on ANY platform as long as web-browsers exists that run them (and ones I have done work in Opera, Netscape, FireFox/Mozilla, & IE (up to 7 even)).

      Now, isn't THAT 'cross-platform' if they run on diff. OS', even via browsers & do the job requested of them?

      Yes, or no??

      "And you say it's great and all compared to using something else, but don't actually compare it to anything ("other toolsets"?)" - by IntergalacticWalrus (720648) on Wednesday February 08, @08:11PM

      You don't read posts fully... skimming's doing you in man!

      Read it again & see that I did compare the merits of other tools in my last reply, & when I'd personally choose to use diff. ones (Delphi was an example I used, there are others, but I chose that one for apps that have performance requirements).

      "all I read is typical regurgitated ".NET is so fast and easy" PR" - by IntergalacticWalrus (720648) on Wednesday February 08, @08:11PM

      Again - you didn't read my post thru all the way. Read it again, & tell us that, ok???

      APK

      P.S.=> .NET is "easier" in some ways, but it is not all that simple either. E.G.-> I am writing it coming out of a C/C++, Access, VB6 (and below), & Delphi background mostly... it is fine as long as you do Windows Forms, very like coding VB6 imo... but, the minute you change to WebForms (like the example I wrote earlier about) you get many more "working parts" & sometimes things do NOT make sense (like the ability to pass paramaters around via subroutines &/or functions - sometimes, you have to pass added info in the form of HttpResponse, HttpRequest, Sessions (web stuff) which is sort of "weird" imo, because web-based development in HTML, Java/VBScript, & ASP in general are "new" to me)... so, sometimes, depending on what you've done/built in the past? It's not "so easy" & different than std. coding depending on the app-type... apk

    8. Re:99% of /. -ers need a smack by IntergalacticWalrus · · Score: 1

      Yup, I just KNEW you were going to reply w/ that one, lol... the point's still there, web-based apps ARE 'platform independent', period. They run in the browser environs (and they run on ANY browser because they're rendered & managed server-side) & do the job (the bottom line), on ANY platform as long as web-browsers exists that run them (and ones I have done work in Opera, Netscape, FireFox/Mozilla, & IE (up to 7 even)).

      Now, isn't THAT 'cross-platform' if they run on diff. OS', even via browsers & do the job requested of them?

      Yes, or no??


      No. You're pretending the Windows server that runs the web app in the first place doesn't exist.

    9. Re:99% of /. -ers need a smack by Anonymous Coward · · Score: 0

      "No. You're pretending the Windows server that runs the web app in the first place doesn't exist." - by IntergalacticWalrus (720648) on Thursday February 09, @12:32PM

      Naw, I never stated that once... did I?

      (No, you instead put those words in my mouth for me... lol!)

      You're right about something though - it's a WINDOWS server (and Microsoft development tools) that let me create apps that run in ANY webbrowser easily enough, rapidly developed as well for the scenario & toolset I mention I use to do this very thing:

      Web-based apps ARE 'platform independent', period.

      They run in the browser environs (and they run on ANY browser because they're rendered & managed server-side) & do the job (the bottom line), on ANY platform as long as web-browsers exists that run them (and ones I have done work in Opera, Netscape, FireFox/Mozilla, & IE (up to 7 even)).!

      Small Wonder Microsoft's tools for development, OS' (especially Windows Server 2003 SP#1 fully hotfix patched), & backend/backoffice servers like IIS 6.x & SQLServer 2005 scale as well as they do and are more used than any other toolset + platform out there from the home/work desktop, to midrange departmental servers, to enterprise class backend servers & that the Win32/.NET API is the most flexible set out there with the most apps for any number of conceivable purposes & support the MOST peripheral hardwares.

      * You can argue with those facts& those numbers until doomsday, but facts are facts - reality is reality.

      APK

    10. Re:99% of /. -ers need a smack by IntergalacticWalrus · · Score: 1

      I give up. I feel like talking to an automated Microsoft PR robot. You're just repeating the same shit all over again.

    11. Re:99% of /. -ers need a smack by Anonymous Coward · · Score: 0

      "I give up. I feel like talking to an automated Microsoft PR robot. You're just repeating the same shit all over again." - by IntergalacticWalrus (720648) on Friday February 10, @02:49PM

      Hey, truth & verifiable facts aren't shit man, @ least the last time I checked lol - I even asked you to disprove the statements I made, instead of putting words in my mouth after only skimming my first post.

      E.G. -> First, I proved you just skimmed my posts, in doing so you missed examples I made that disproved each of your statements!

      (Including ones where you said I said things that I never did... lol! Putting "Words In My Mouth" bro? Come on... that's lame!)

      Folks can read you know. They can take a quick reskim of them if they like to see if I am telling it how it is, or not.

      Anyhow... Then, I asked you to do that to my points-of-fact: So, just disprove the facts I used is all, the ones I actually stated.

      (You never once did... some nerve man, saying that stuff about me above I quoted!)

      APK

      P.S.=> Tuning into Oasis' - "Stop Crying Your Heart Out"... later... apk

  89. Re:I thought there might actually be some discussi by killjoe · · Score: 0, Troll

    "I've worked a lot with UI development in both Java (Swing) and C#. I can definately say that the .NET Framework makes things a lot easier. " .NET makes what "things" easier? Easier then what? .NET is just a marketing buzzword. How can a marketing buzzword make anything easier. I suspect what you meant to say was "VS.NET makes things easier". I think it's telling when even a fan of windows tools confuses the technology with the tools. .NET is just a VM. Not that much different then the JVM or even the python VM (except that the python VM supports multiple inheritance and continuations).

    Yes dropping controls on a form in .NET is "easier" then coding swing by hand in notepad (even then not always) but it's not "easier" then using a swing gui builder. It's not even "easier" then using something like glade or wxwidgets gui builder.

    VS.NET definately does not make refactoring "easier", it does not make debugging "easier", it does not make deployment or documentation "easier". Until VS.NET 2005 windows programmers didn't even have refactoring support or a unit testing framework. They still don't have a decent object relational layer officially blessed by MS.

    Guess what, refactoring, debugging, documenting, and deploying take up the bulk of your software development life cycle. Choosing a tool which makes the GUI development "easier" while making the rest harder is false economy.

    --
    evil is as evil does
  90. PS by chrisdrop · · Score: 1

    PS - I have the book - it is not good. Get a real book about Datamining/ AI/ Machine Learning etc. Learn how to program elsewhere. This book is neither a good AI book or a good C# book.

    -CD

    --
    " I have no tag line. "
  91. Re:I thought there might actually be some discussi by Xenopax · · Score: 1

    I find it much easier to design an interface using the click-and-drag method rather than the code-by-hand-then-reload-the-page-to-see-what-it-l ooks-like method. After I get what I want I go through and change all my properties, then I start putting in the code behind the page elements.

    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.

  92. Re:I thought there might actually be some discussi by CastrTroy · · Score: 1

    There's nothing wrong with the drag-and-drop, but the fact that people learn how, and all of a sudden think they are programmers.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  93. Re:I thought there might actually be some discussi by jchenx · · Score: 1

    No, you're right, I misused the terminology. It's the VS.NET (the IDE) that makes things "easier" in the way it was described originally (dropping controls on a form). When I was coding Swing, it was in Notepad, since I did not like any of the Swing GUI builders at the time (this was several years ago).

    I'm not trying to say VS.NET or .NET is better or worse than any of the Java counterparts. In my daily work, I do not do as much programming as I used to do anymore, so I haven't explored much of what is or isn't possible in VS.NET. (Nowdays, I just hack together tools when we need them, and do it quickly) And I haven't had the time to re-explore the Java universe, when I left it last. So I'm not going debate that one is better than the other, which is what you seem to want to do.

    --
    -- jchenx
  94. nnnggghhttt....cannot....resist.... by Tuross · · Score: 1

    It is an introduction to the world of Artificial Intelligence (AI) for .NET programmers.

    I thought they were already fully versed and extremely proficient at it?

    --
    Matt
    1. Read Slashdot
    2. ???
    3. Profit
  95. Re:I thought there might actually be .... by Anonymous Coward · · Score: 0

    By the way, Toyota is the best selling brand in the U.S. as of 2005.

  96. Re:FIST SPORT! by some+damn+guy · · Score: 1

    Debate with kaffirs is meaningless because their concept of a secular society with 'freedom of speech' and such claptrap is abhorrent to Allah. When we Muslims are a demographic majority in Europe (by 2030) we'll see who's boss. We'll whip your half-naked women and faggoty men into shape.

    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 civilization is 'inferior', but understand we will always outpace you in terms of technological, cultural and economic growth because your values are not as compatible with these things. You can have your hocus pocus, thank you very much, because the day policies like yours take over the EU is the day it will fall off of the world stage- so if your mission is to give the USA a little less competition, go for it.

    You want a clash of civilizations? The United States could wake up tomorrow and kill 800 million Muslims before breakfast, and there is not anything anyone not wanting the same fate could do about it. I therefore suggest you learn how to respect the beliefs of others, because that is one of the values that is keeping you alive right now, one of many that preclude us from wiping you out, even though you do not share them.

    ..and if you are looking for a day of judgement, just wait until the oil runs out or people stop needing it.

  97. Speech Recognition by CruddyBuddy · · Score: 2, Insightful
    There seems to be so much desire to get speech recognition working properly.

    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 the person on the other end of the phone has an accent. I don't know if it is because they have trouble understanding them, or because they are jealous. BTW, have they spoken to anyone from Alabama lately?)

    This fixes the problem of getting a system to understand "plain" english, whatever the hell that is.

    We employ computers because people are too expensive. But after all this money and effort why not just throw in the towel and do what Wal-Mart does - use cheap foreign labor? When someone costs $.25 an hour, what the hell do you need a $2000 (or more) speech server for?
    ---
    The idle mind knows not what it wants.

    --
    ----------
    Any problem can be made unsolvable if there are enough meetings made to discuss it.
    1. Re:Speech Recognition by DavinCreed · · Score: 1

      We employ computers because people are too expensive.

      Right, but also computers do a lot of tasks faster than humans and, once programmed correctly, always does it correctly.

    2. Re:Speech Recognition by ansonyumo · · Score: 1

      People from Alabama may absurdly drawl out certain vowels but they don't murder the language in the way that only a non-native speaker can. Have you been to a Stop-n-Go lately? Sheesh.

      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".

  98. Re:Slashdot is broken by Tim+C · · Score: 1

    Plus, with a giant RAM footprint comes giant amounts of swapping.

    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.

  99. Re:I thought there might actually be some discussi by greythax · · Score: 2, Interesting

    The only problem that I have with .Net, and mostly just VS.Net, is that it tries to do everything for you, by holding your hand, and letting you drag and drop to do everything. But, then, it doesn't hold your hand enough, and every text box ends up with a name like textbox1, or something like that.

    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 .Net programmers...

    Ok, since we are gonna pull out unqualified statements, allow me to inject my own personal experience. My job exposes me to quite a few .net, java, and perl/php developers. I can not count the number of perl scripts I have run accross with idiotic variable names, like a or qx. Additionally, I have seen volumes of cargo code that is about 20 lines longer than it needed to be. However, much of the .net code I have run across has been pretty darn nice. My personal oppinion of this is one of scope. Despite the drag and drop potential of VS.net, it will only take you so far. Many buisness apps that get built with a RAD tend to get very big very quick. Help desk software with thousands of lines seems to be in every company I have come in contact with. In my personal experience, more .net coders seem to be well trained and well bloodied than the scripters of this world. In fact, get a catalog from a major training vendor and see how many microsoft programing courses they offer in comparison to java/perl/whatever. Also, do try to remember that these are the same people who had 4 years of java in school. When you talk about the .net coders, you ARE talking about the java coders.

  100. Re:FIST SPORT! by Anonymous Coward · · Score: 0
    Why can't islamics participate in any form of debate without threatening to kill everyone who dares to disagree with them?
    Because your definition of islamic is 'one who cannot particular in any form of debate without threatening to kill everyone who dares to disagree with them'.
  101. ONLY 1 mention of that word? by nietsch · · Score: 1

    No need to bother to read the review indeed. But it suprises me: there is only 1 mention of 'oxymoron' on the page. Is this the same /. Is /. dying? I'll have to check netcruft :-)

    --
    This space is intentionally staring blankly at you
  102. Re:I thought there might actually be some discussi by Anonymous Coward · · Score: 0

    The best example is to just checkout the SDK

    I had Speech Server laying around from my MSDN subscription, and decided to play with that, but I think the SDK actually has everything you need including a nice tutorial.

  103. Re:Slashdot is broken by shutdown+-p+now · · Score: 2, Informative
    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.
    .NET runtime offers the ability to manually precompile an assembly into native code and cache it for later use. Look up ngen on MSDN for details.
  104. Re:FIST SPORT! by Anonymous Coward · · Score: 0

    Nice. Now you've offended the extremeists. Good goin' .NET Dupe review!

  105. Only Snarky jokes and trolls.... by TiggertheMad · · Score: 2, Insightful

    Can we NOT put this to rest?

    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."

    ....so, in answer to your question, no. If you are looking for insightful, intelligent discussion here you are about nine years to late.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
    1. Re:Only Snarky jokes and trolls.... by blue+trane · · Score: 1

      In Soviet Russia, memes run YOU into the ground!

  106. Re:FIST SPORT! by Anonymous Coward · · Score: 0

    What has your comment got to do with an A.I. .Net book review? Get your arrogant hand off it and write about the topic at hand. I'm a regular reader of /. and have never posted a comment before. I'm so discusted at the narrow mindedness of your comment that i couldn't help but make a post flaming you. Get a life you loser.

  107. Re:I thought there might actually be .... by RingDev · · Score: 1

    Incorrect. GM is STILL the #1 brand in the US. Toyota overcame Ford for the #2 spot in 2005. And Toyota is projected to displace GM in the next few years at current rate. But that's a whole other discussion.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  108. Re:Slashdot is broken by Valar · · Score: 1

    Have you ever considered how much of the lifting is done by "simple basic functions"? There's a lot to be said for just having reusable data structures even (oh good, I don't have to implement yet another red black tree, etc) or to do common tasks (localization, building db queries, etc). Generally, I would much rather program in a language with a rich library than something where I have to rewrite boring code that has already been written elsewhere 1,000,000 times.

    And, I dunno about .NET, but Java, with a very comparable set of features and architecture is only about 20%-40% slower than C. Most people that claim java is slow (especially using figures like 2-5 times [I dunno where you got 100s. sh isn't even 100 times slower than C, and it interprets strings]), are stuck in the days before the JIT. When was that? 1994?

  109. What about F# by Anonymous Coward · · Score: 0

    This is bullshit. Without imperative languages your AI will be shit.So fuck off with your C#, BizTalk etc

  110. Re:Slashdot is broken by lgw · · Score: 1

    This is an inportant point, and often overlooked. You can do object oriented programming (for example) in assembly. I've done it. It takes longer to code initially than using a language with native support for OOP (or whatever technique). Once coded, however, it's far easier to debug and maintain, because nothing is hidden! You avoid all sorts of problems that stem from the compiler doing something different than you expected.

    Of course, you also lose a lot of cross-platform portability, but there are plenty of environments where that will never be a consideration. OTOH, if you do code something cross platform, you won't get bit by byte ordering errors and other stupid issues like that, because you're forced to think about that sort of thing up front.

    If you're coding for just a few hundred users, chances are you can't justify the extra coding time. If you're coding for a few hundred thousand users, the cost of development time is less important, and the cost of maintenance time becomes far more important (*somobody* will find every possible corner case bug).

    --
    Socialism: a lie told by totalitarians and believed by fools.
  111. Didnt we just do this not too long ago? by nurb432 · · Score: 1

    Sounds like a dupe to me.. Perhaps they need to use some of that 'intelligence' from the book.. build a 'dupe scanner'.

    --
    ---- Booth was a patriot ----
  112. Re:Book Already Reviewed on Slashdot, Not That Gre by Pulse_Instance · · Score: 1
    --- These are not words: wierd, genious, rediculous

    If you ever see a genious using these wierd spellings you know his claims of being a genious are rediculous.

  113. I've read this book and... by bpeikes · · Score: 1

    I'm not sure how anyone can give this book praise. The first several chapters are about using the voice API. I've never seen any book on AI which ever included voice applications. Then comes Analysis Services, useful yes, but you could write a whole book about Analysis Services. One that doesn't read like any of the info you can get on MSDN anyway. It doesn't even really explain Analysis Services, just walks you through a demo. Yay, another demo with no context.

    The book reads like a hodge podge of summaries about projects that the author has helped develop. There is nothing pulling the chapters together. In addition, there is no mention, other than in a reference, to fuzzy logic, neural nets, semantic networks, or any real AI.

    Overall, this was one of the worst books that I've picked up on programming in quite some time. On the other hand, it's just about par for the course for books about programming AI, BI or any intellegent programming at all.

  114. Re:Slashdot is broken by lgw · · Score: 1

    As for speed, anything that uses XML over a socket is obviously going to be slower than binary inside a memcpy, that doesn't mean that it's not required every now and then.

    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 not even *understand* that XML is an order of magnitude slower than terse binary representaion over a socket, and two slower than binary in shared memory.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  115. Re:I wonder if Intelligent .NET applications can.. by Zebra_X · · Score: 1

    I thought I was the only one that knew this was a dupe... so now we have article dupes and book review dupes. I can gather two things from this: the editors have been smoking too much pot and they don't read the news on their own site.

    Go figure

  116. Get something like Russell & Norvig... by Anonymous Coward · · Score: 0

    Artificial Intelligence: A Modern Approach
    is a much better book. In fact when I was a CS undergrad it was the text for my 4th-year AI course.

  117. Oxymoronic? Or Just Moronic? by Anonymous Coward · · Score: 0
    "Intelligent .NET Applications"?!

    The OP is obviously a moron: AI is a lot more than Database + speech recognition + Microsoft Agent (talks). And if I want a "different answer each time" I can always run Eliza or use a random sentence generator.

  118. Re:FIST SPORT! by Anonymous Coward · · Score: 0

    > If it's so abhorrent why doen't Allah do something about it?

    Allah need not do anything about it, for the satanic technology you use to kill innocents in our villages is poisoned. For all the seeming gifts it gives you, it harbors a curse, and that curse is sterility. You have created a society that rejects Allah's word for the temporary pleasures of alcohol, fornication and loose women, and for that you will dwindle over time and the Pak (pure) shall inherit your once-proud civilization.

    > because the day policies like yours take over the EU is the day it will fall off of the world stage

    Do not fear, it will happen in Europe and it will happen peacefully, because it is Allah's will that the very systems you have created will work against you when the Pak are in the plurality.

    > The United States could wake up tomorrow and kill 800 million Muslims before breakfast

    It will not come to that. Allah will look after his chosen.

  119. You sir, by Anonymous Coward · · Score: 0

    are one whiny little bitch.

  120. Problem is Microsoft Doesn't Use .NET by Anonymous Coward · · Score: 0
    I've seen the comments that say .NET is inferior or is a "toy language" because it's generally simple to put apps together quickly, as if that's some sort of negative thing.

    No, the problem is that Microsoft doesn't use the .NET framework to write Microsoft software - they use C++ instead. Underneath the operating systems and all that nice .NET software development tools are written in the same old C++/COM that we've all grown to love.

    If Microsoft's tools were truly excellent, they would use them too. But they don't, and why should I? Vista would be written in a .NET language, and so would IIS. But they aren't, so why should my apps be in .NET?

    1. Re:Problem is Microsoft Doesn't Use .NET by Rew190 · · Score: 1

      I can't speak for Microsoft, but I would guess that they still use C++ because it doesn't need a VM and they don't want the slowdowns that can be associated with using it over fully compiled code.

    2. Re:Problem is Microsoft Doesn't Use .NET by digitalinfinity · · Score: 1

      I don't know where you get the idea that all of Microsoft uses just C++- although I used C++ while interning there, quite a few of my friends were using C#. This was especially true if they were working as SDETs. Personally I believe Microsoft is moving more and more towards completely managed code. You mention the OS- MSR has got the Singularity kernel [http://research.microsoft.com/os/singularity/%5D written almost completely in managed code and frankly, that does seem to be the direction Microsoft is sailing in.

  121. Re:Slashdot is broken by sjelkjd · · Score: 1

    Nice summary, but don't forget that .NET apps can NGEN themselves when they install, which avoids the dogging it up step, since they won't have to JIT.

  122. Not the right language for AI by FoxyFox · · Score: 1

    .Net is very OK for some tasks, even tough I think Java is better, or at least just as good. .Net is very probably not the right langauge for AI. For voice recognition there are some very expensive SW available, if you want it to work.

  123. McDermott and Cherniak by I'm+Don+Giovanni · · Score: 1

    There hasn't been a good AI book that contained both theory and concrete programming since McDermott and Cherniak's offerings of the 80's. ;-)

    --
    -- "I never gave these stories much credence." - HAL 9000
  124. Microsoft and Artificial Intelligence by bhav2007 · · Score: 1

    I guess M$ would know something about faking intelligence.

    HIYO! ...Okay, mod me down

  125. Business (Artificial) Intelligence by ferespo · · Score: 1

    Since when Data Mining and OLAP belongs to the AI field?

    As far as I know those technologies belong to BI (Business Intelligence).

    Someone has mixed up some terms.

  126. Re:I thought there might actually be some discussi by NutscrapeSucks · · Score: 1

    > What they should do, is at least comes up with a dialog, with all the usually properties that one would change.

    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.

    --
    Whenever I hear the word 'Innovation', I reach for my pistol.
  127. Re:I thought there might actually be some discussi by Anonymous Coward · · Score: 0
    I haven't read the book, but since I have a tiny bit of experience with rule engines and NLP, I'll bite.

    Based on the review and people's comments, I don't see anything remotely resembling AI using the academic definition. Take for example OLAP. Analysis Service is a solid product. That's why microsoft bought the Isreal company that built it. MOLAP in analysis service is a great way to slice and dice analytics using different dimensions, but it is most definitely not AI. AI would be building an agent, which acquires knowledge and converts them into rules. The rules are then used to pattern match on the data within SqlServer or Analysis Service. Those results should then produce both additional knowledge (encoded as rules) and result (reports on the patterns found).

    For example, say I am a big retail company like Walmart and I want to figure out purchasing patterns. This means first executing queries for each product to look at the peak buying period. I might use a rule like "if the peak buying period is 3x greater than the average buying period, then perform additional analysis." Assuming I find products that match those criteria, I can then use additional rules to determine if the buying patterns matches an external pattern. The rule might look be "If the peak buying interval for the product matches the interval for an external event, then report finding."

    For example, say sandles sell like hotcakes for Sunday football games in warm regions, the peak sales period would show a relationship that is statistically significant. Is that what microsoft's products do to mine data? Not that I am aware of. From the little information I've read, which is basically a few article on MSDN, it's just a bunch of pre-defined queries. That is most definitely not agent driven, unless you consider a "scheduled task" an agent.

  128. Re:Slashdot is broken by plover · · Score: 1
    Microsoft hasn't been pushing NGEN really hard to us. I was kind of surprised, but the .NET gurus have told them "do lots of testing before you NGEN your assemblies in the field." I'm not sure if it's arrogance on their part, certain that the .NET runtimes will be fast enough for everyone who doesn't know any better; or if they're trying to be cautious about people running invalid pre-jitted assemblies (yes, I know the cache is SUPPOSED to be invalidated if conditions change.)

    Perhaps it's because NGEN is likely to be run exactly once at installation time. However, if your conditions change and your cache is invalidated, they'll pay the JIT performance when they run it afterwards, causing your users to wonder why their app slowed down even though they "didn't change anything, honest!"

    --
    John
  129. Re:Slashdot is broken by plover · · Score: 1
    My biggest point is "Getting the job done" instead of "Getting the job done right".

    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.

    Of course, I'm an optimist and presume that not every manager is pointy-haired (or at least not all the time.)

    --
    John
  130. Re:I thought there might actually be some discuss by CharlesEGrant · · Score: 1
    I guess my problem is with the career schools that are churning out .Net developers who couldn't code to save their life. They teach them how to drag and drop controls, write loops, conditionals, functions, and maybe the basics of creating a class, and that's it. Then these people think they are programmers.

    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 scraping data out of a database, displaying it in a window, allowing the user to edit it, and pouring the edited data back into the database. This is usually not rocket science, and if somebody want's to push a tool that makes it feasible to do this with very little training, then god bless 'em. I certainly don't want to be writing those applications.

    I wrote one GUI app in C on the Macintosh years ago. After that I was happy to use VB and made liberal use of its drag and drop interface design. I'm sure it's a matter of personal taste, but sheparding mouse clicks up the control hierarchy is my idea of hell.
  131. Re:Slashdot is broken by DavinCreed · · Score: 1

    What is a "ninja coder?" If this is the same type of ninja I read about and see in movies then I guess some one has to clean up the blood, brains, guts and other things off the monitor and cubicle walls.

  132. 2 Prolog Chapters Needed by Anonymous Coward · · Score: 0

    Actually that would be Prolog. AI was done in Lisp and Prolog (amoung others).

  133. .NET vs LISP by fbg111 · · Score: 1

    Why do AI in .NET when you can do it in the language designed specifically for AI in the first place?

    --
    Flying is easy, just throw yourself at the ground and miss. -Douglas Adams
  134. Re:FIST SPORT! by some+damn+guy · · Score: 1

    It's a nice fantasy, but what will actually happen is that your kids will grow up to be nice secular europeans just like everyone else, because every day of the lives you force them to lead they will also see the way free people live. It will not be long before they realize which idealogy is really broken.

  135. Re:Slashdot is broken by Anonymous Coward · · Score: 0

    NGEN makes sense for some assemblies. Doing NGEN for an app which is relatively small and easy to compile compared to the common library assemblies is not always a big win, and the actual size of the compiled image on disk can easily be bigger than the MSIL. Add that to special checks that can result in NGEN being skipped in some situations, and it's not always a clear win. Don't forget all the metadata overhead still has to be kept in the assembly, so it's just a question of MSIL vs x86 in the actual method code (and inlined code). This isn't always a vital area for perf, as the JIT is pretty good.

    That doesn't mean NGEN isn't a win, but it's often not nearly as dramatic as people first assume, and sometimes it's a net loss.

    The real issue with .Net bloat isn't native compilation (in most cases). The biggest culprit is often simply memory usage (.Net apps tend to have a lot of allocations, and people reference and use lots of libraries). See http://blogs.msdn.com/ricom for some great tips.

    For the second, realise that .Net perf is generally great for long-running processes (better than native in some ways, due to less leaks) and is not so hot on startup. The gist is that you don't want to pay the CLR runtime overhead very often; if you can start up a process with the CLR in it, and keep it running you're much better off than in running/exiting/running/exiting. This is true of any app that has a large runtime library to some extent, which is why apps like MS Office always tries to keep part of itself running in memory, and it's not even using .Net.

  136. Re:I wonder if Intelligent .NET applications can.. by bit01 · · Score: 1

    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. Free speech can be compromised just as much by too much noise as too little signal.

  137. Re:I thought there might actually be some discussi by Anonymous Coward · · Score: 0

    You realize that MS pioneered this so-called "AJAX" stuff right?

    In fact, wasn't IE the first browser in which XML-HTTP appeared?

    Sheesh.

  138. Re:Book Already Reviewed on Slashdot, Not That Gre by bit01 · · Score: 1

    ... and I have to wonder why it keeps being posted here.

    It's astroturfing marketers. See my other post.

    ---

    Paid marketers are the worst zealots.

  139. Re:Slashdot is broken by bit01 · · Score: 1

    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 algorithms and no disk access at all.

    ---

    Marketing talk is not just cheap, it has negative value. Free speech can be compromised just as much by too much noise as too little signal.

  140. Re:Slashdot is broken by moro_666 · · Score: 1

    You were so close to a great post.

    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 .net is a certain .not for now. Perhaps it will have
    chance in the future, but not really right now.

    I took a look at C# for one day, i don't know what you people
    see in there, but i saw a java clone with some differences. And
    using it on linux with a regular text editor and mono's compiler
    was very very far from impressing me much.

    Even if mono gets C# finally really running, who's in charge of
    the language itself ? M$! So you really want to trust your future
    in the hands of Ballmer and Gates ? Maybe you do, but I don't.

    --

    I'd tell you the chances of this story being a dupe, but you wouldn't like it.
  141. Re:I thought there might actually be some discussi by diosmio · · Score: 1

    About a year ago I started doing serious programming in c#. Before that I was heavy into Java. I have to say that I am not disappointed with the language so far, but I do feel like VS.NET is kind of contraining. I tend to avoid VS, except for tricky debugging. Anyway, I have applied various data-mining and machine learning techniques in a production context - mainly for product classification. At the time we used our own java routines (tried a whole slew of various approaches, neural networks, bayes, blah blah blah). I think it is wise to get one's hands on as much machine learning material as possible, its use - especially data-mining and classification is only going to grown. This book, although from a .NET perspective, sounds like a great introduction to the field and a way to get familiar with some practical applications. This is a welcome addition to the fairly academic and short-on-applications books. It is telling that machine learning has made into a book coming from a .NET perspective. I will definitely check it out.

  142. A real AI? by Opportunist · · Score: 1

    What you have to define first of all is intelligence. True intelligence isn't the ability to solve new problems by just contemplating them.

    True intelligence is finding some moron doing your work for you.

    In this sense, every Microsoft OS is intelligent. Hell, even every approach MS takes to a problem is intelligent.

    Case closed.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  143. HA ... by NoSalt · · Score: 1

    "Intelligent .NET Applications" ... is that a new Oxymoron for the 21st century???

  144. I think what he meant was... by Trith · · Score: 1

    "both of which change constantly. As these change, perfectly good code becomes obsolete, begins to conflict with newer versions of the OS, browser, system DLLs, and so forth."

    My VB6 apps developed on NT 4 are still working just fine on Windows XP. My .Net apps are working just as expected on 2K and XP (98 machines can be a bit iffy). So yes, things do change, but as long as there is a .Net Framework for your OS and the development version, you're all good.

    Well, I think the orginal poster was saying that the .NET runtime is not very backward compatible. For instance, one can take a Java app that was written in 96 on JDK 1.1 and run it on 1.1, 2.0, 3.0, 4.0, and now 5.0 without issues. There was a major change in the event model between JDK 1.0.2 and JDK 1.1, and that frustrated many people. To my knowlege, there has not been a major change breaking backwards compatibility since. The APIs have changed but with the old signatures in tact with deprecation warnings.

    Personally, I raved about .NET when it first came out because I loved how the ASP.NET code-behind pages made developing web apps almost like developing traditional apps. However, I have heard from multiple people that 1.1 broke many things in 1.0 so that your code had to be rewritten. I heard this again between 1.1 and 2.0. I still like many things about .NET. But as I start to consider writting a new app, I cannot help but wonder how many more times they'll break it backwards compatibility. In a large project, it would be very frustrating to go back and update working code every release. That is time consuming. Depricated APIs are ok because they still work and let you go back and change them when you get time.

    1. Re:I think what he meant was... by RingDev · · Score: 1

      I can't think of anything off the top of my head that broke in 1.1 from 1.0. There were some minor tweeks, corrections, and additions, but nothign that would require a complete rewrite.

      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

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs