Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Is C# suitable for artificial intelligent systems?

Is C# suitable for artificial intelligent systems?

Scheduled Pinned Locked Moved The Lounge
csharpdotnetquestion
40 Posts 20 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Andy Brummer

    Thanks for restating my post. Actually given the "average" developer, their managed app would probably be faster then their unmanaged app, and about a million times more stable. :laugh: All, I'm saying is that just because John C doesn't have a need for something, doesn't mean that everyone doesn't have a need for something. I just tried to back it up with some real world examples where custom memory management can make a significant difference. Maybe I miss some of the moments I had in the past where I optimized something then sat back going holly crap was it really that fast. Anyway, as far as performance goes, it's pretty simple. Figure out what you need before you start developing and test along the way, which is exactly what Rico recommends.

    I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon

    M Offline
    M Offline
    Member 96
    wrote on last edited by
    #22

    Yup, I agree. Somehow the way I state things seems to trigger this response in people. :) Probably because I tend to skip ahead rather than connecting all the points to get to the inevitable conclusion anyway. Drives my wife crazy, she's a serial thinker, I'm a random access thinker. Makes for a good combination most of the time. I fully understand that the edge conditions are out there, just not terribly relevant for a general purpose programming site such as this one and they tend to bring the discourse to a grinding halt for no useful purpose.


    "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

    A 1 Reply Last reply
    0
    • J Jorgen Sigvardsson

      Colin Angus Mackay wrote:

      What is it with people who complain that .NET is slow?

      Because it's true? :~ By definition, managed code must be slower than native code - assuming both code bases may utilize optimizations. Granted, .NET apps are quite a lot faster than the comparative java applications, but it's not as fast as a well written Win32 app.

      M Offline
      M Offline
      Member 96
      wrote on last edited by
      #23

      I disagree entirely from a practical perspective. In all ways that matter in the real world, performance is entirely due to the quality of the design and the developer who implements it and is entirely unrelated to the platform it runs on or language it was written in.


      "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

      1 Reply Last reply
      0
      • M Member 96

        Yup, I agree. Somehow the way I state things seems to trigger this response in people. :) Probably because I tend to skip ahead rather than connecting all the points to get to the inevitable conclusion anyway. Drives my wife crazy, she's a serial thinker, I'm a random access thinker. Makes for a good combination most of the time. I fully understand that the edge conditions are out there, just not terribly relevant for a general purpose programming site such as this one and they tend to bring the discourse to a grinding halt for no useful purpose.


        "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

        A Offline
        A Offline
        Andy Brummer
        wrote on last edited by
        #24

        Though, for purposes of this discussion, AI might be one of those edge cases, though I doubt there will be any practical difference between a fast AI engine and a slow AI engine. ;P So far I think Chris has had the best response, get off your butt and try both of them and see. I kinda had that somewhere in my reply to the OP, but it got lost in my rambling, which is something that drives my wife batty.

        I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon

        M E 2 Replies Last reply
        0
        • A Andy Brummer

          Though, for purposes of this discussion, AI might be one of those edge cases, though I doubt there will be any practical difference between a fast AI engine and a slow AI engine. ;P So far I think Chris has had the best response, get off your butt and try both of them and see. I kinda had that somewhere in my reply to the OP, but it got lost in my rambling, which is something that drives my wife batty.

          I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon

          M Offline
          M Offline
          Member 96
          wrote on last edited by
          #25

          Yeah, AI is definitely an edge case but if it were me I'd approach it by looking for good AI libraries with .net interfaces to tie the whole thing together into a real world application. My days of writing the framework are definitely behind me, all my interest is in the end result. I used to be fascinated by that stuff but I guess I'm just not an engineer at heart, I want to change the world, not write the tools that others use to change the world.


          "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

          E A 2 Replies Last reply
          0
          • J Jorgen Sigvardsson

            Reiterations of .NET/Java/et al may be faster than their predecessors, but they won't produce code as fast as native code.

            R Offline
            R Offline
            Roger Alsing 0
            wrote on last edited by
            #26

            Just because it is "not as fast" doesnt mean that is slow. Languages like Ruby are slow.. C# is doing pretty damn good considering all the safety belts and training wheels that the managed environment offers.

            My Blog

            L 1 Reply Last reply
            0
            • J Jorgen Sigvardsson

              Colin Angus Mackay wrote:

              What is it with people who complain that .NET is slow?

              Because it's true? :~ By definition, managed code must be slower than native code - assuming both code bases may utilize optimizations. Granted, .NET apps are quite a lot faster than the comparative java applications, but it's not as fast as a well written Win32 app.

              L Offline
              L Offline
              l a u r e n
              wrote on last edited by
              #27

              Jörgen Sigvardsson wrote:

              but it's not as fast as a well written Win32 app.

              i think that's john's point ... that most "programmers" couldn't write a well designed and implemented win32 app if their lives depended on it ... the whole idea of frameworks was that the really good people can write stuff that the not necessarily so good people can use to get useful work done ... not optimized win32 c++ apps

              "mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"

              1 Reply Last reply
              0
              • E Ed Poore

                I wish I could remember where I found it but someone did some quite extensive testing on .NET performance and in some crucial areas it was actually faster than C++ because of the JIT inlining. I think he left the defaults on for "optimisation". Of course if everything was optimised by hand then C++ would be faster but then what's the point, why not just write assembly? :rolleyes:


                I doubt it. If it isn't intuitive then we need to fix it. - Chris Maunder

                N Offline
                N Offline
                Nemanja Trifunovic
                wrote on last edited by
                #28

                Ed.Poore wrote:

                Of course if everything was optimised by hand then C++ would be faster but then what's the point, why not just write assembly?

                Sometimes it does make sense to use assembly. Having said that, assembly is too un-portable for most scenarios; well optimized C(++) code compiles to very good machine code on many different hardware platforms - assembly often needs to be re-written.

                Programming Blog utf8-cpp

                1 Reply Last reply
                0
                • R Roger Alsing 0

                  Just because it is "not as fast" doesnt mean that is slow. Languages like Ruby are slow.. C# is doing pretty damn good considering all the safety belts and training wheels that the managed environment offers.

                  My Blog

                  L Offline
                  L Offline
                  l a u r e n
                  wrote on last edited by
                  #29

                  don't even go there with ruby!! i had a guy write a data processing app to crunch 1.8Gb of csv data into a database with special data clean-up and image processing in the mix ... and he used RoR ... and when i asked him how it was going he said (and i quote): "it's been running for 2 days now and should be finished in another 8 or 9" :wtf:

                  "mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"

                  E J 2 Replies Last reply
                  0
                  • J J Kan

                    How well does C# cope for artificial intelligent systems like image and speech recognition? Does the .NET framework make it relatively difficult for practical implementation and slow? :confused::confused::confused:

                    E Offline
                    E Offline
                    El Corazon
                    wrote on last edited by
                    #30

                    Kobby Kan wrote:

                    How well does C# cope for artificial intelligent systems like image and speech recognition?

                    That depends on if you stay inside or outside of the framework. Generally speaking, as long as you stay within the framework's preconstructed functionality (in other words someone has laid all the ground work for you already) C# is reasonably good. As long as you avoid R&D type work, where you are laying the ground work of new and innovative concepts. And even then, as long as you do not mind it taking 10 times longer C# may still be good enough. The question is more what you need to get out of it, and how much has already been laid for you. If the groundwork is all in the frame work and all you have to do is assemble the pieces, go for it!

                    _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                    1 Reply Last reply
                    0
                    • A Andy Brummer

                      Though, for purposes of this discussion, AI might be one of those edge cases, though I doubt there will be any practical difference between a fast AI engine and a slow AI engine. ;P So far I think Chris has had the best response, get off your butt and try both of them and see. I kinda had that somewhere in my reply to the OP, but it got lost in my rambling, which is something that drives my wife batty.

                      I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon

                      E Offline
                      E Offline
                      El Corazon
                      wrote on last edited by
                      #31

                      Andy Brummer wrote:

                      though I doubt there will be any practical difference between a fast AI engine and a slow AI engine. [Poke tongue]

                      I guess that depends on if you are going head-to-head against a real person in a game or if the AI decision is helping a soldier get his job done. Neither of those two are really good at waiting for an outcome.

                      Andy Brummer wrote:

                      So far I think Chris has had the best response, get off your butt and try both of them and see.

                      I actually agree, but I think practically it doesn't apply to most people. I would not recommend writing an SQL client in C++, nor would I recommend writing a real-time navigation system for an unmanned craft or a game engine in C#. Though the latter is getting closer, the problem is "edge" to be in the gaming community as a big name game, you want an edge. That edge tends to be R&D from normal compression to terrain texture blending methods, R&D kills C# because it does not fit the framework concept (everyone does things the same way). If every game was programmed exactly the same way, no edge, we would have a lot of mediocre games, and no really good ones. Luckily frameworks apply to multiple languages because you can have the best of both worlds, you can apply frameworks/API's like DirectX9 & OpenGL to handle core technologies, you can go higher up the chain with gaming systems, Delta3D, or Open Scene Graph, or an engine sold by another gaming company. It all depends on how much edge you want. ID makes their own engine, because they like to keep the edge. Others do the same. Others will build on someone else's technology by buying those engines, they know they will not get the 'extras' the 'edge' ID saves for their own games, but they can benefit from reduced programming by letting someone else make the underlying framework they build their games upon. There is room in this world for all of us last I checked. :-D

                      _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                      A 1 Reply Last reply
                      0
                      • M Member 96

                        Yeah, AI is definitely an edge case but if it were me I'd approach it by looking for good AI libraries with .net interfaces to tie the whole thing together into a real world application. My days of writing the framework are definitely behind me, all my interest is in the end result. I used to be fascinated by that stuff but I guess I'm just not an engineer at heart, I want to change the world, not write the tools that others use to change the world.


                        "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

                        E Offline
                        E Offline
                        El Corazon
                        wrote on last edited by
                        #32

                        John C wrote:

                        I want to change the world

                        We have that in common, I like to shake the world up a lot. Sometimes a bit too literally. :laugh: okay, I like the pyrotechnics.

                        _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                        1 Reply Last reply
                        0
                        • L l a u r e n

                          don't even go there with ruby!! i had a guy write a data processing app to crunch 1.8Gb of csv data into a database with special data clean-up and image processing in the mix ... and he used RoR ... and when i asked him how it was going he said (and i quote): "it's been running for 2 days now and should be finished in another 8 or 9" :wtf:

                          "mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"

                          E Offline
                          E Offline
                          El Corazon
                          wrote on last edited by
                          #33

                          hehehe, we have a java fan at work, all areas have their furry animals.

                          _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                          B 1 Reply Last reply
                          0
                          • E El Corazon

                            hehehe, we have a java fan at work, all areas have their furry animals.

                            _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                            B Offline
                            B Offline
                            Brady Kelly
                            wrote on last edited by
                            #34

                            I have a colleague that just paid ZAR +7k for a new copy of Visual Studio 6, Enterprise. That's close to USD 1k. He is a VB6 programmer having difficulty adjusting to .NET, and I think he found comfort in his old stalwart. :~

                            1 Reply Last reply
                            0
                            • M Member 96

                              Yeah, AI is definitely an edge case but if it were me I'd approach it by looking for good AI libraries with .net interfaces to tie the whole thing together into a real world application. My days of writing the framework are definitely behind me, all my interest is in the end result. I used to be fascinated by that stuff but I guess I'm just not an engineer at heart, I want to change the world, not write the tools that others use to change the world.


                              "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

                              A Offline
                              A Offline
                              Andy Brummer
                              wrote on last edited by
                              #35

                              John C wrote:

                              Yeah, AI is definitely an edge case but if it were me I'd approach it by looking for good AI libraries with .net interfaces to tie the whole thing together into a real world application.

                              That's pretty much the professional approach. At my new job I'm writing a socket based server to communicate with monitoring software running in a VM since the pre-built server was setup for batch jobs. The whole time I've been relieved that I haven't had to write any of the monitoring stuff. .Net works really well for the socket stuff, way better then dealing with buffers in C, though for a second I toyed around with the idea of fitting it into the WCF, and quickly gave up on that. I'd rather just port the java code over and fit it into standard .net patterns like moving observer to events and the like. It's worked surprisingly well and I can focus on getting stuff done rather then plumbing. Plus like asp.net as long as you are just transforming data from one network connection to another, you have to really screw up in a huge way to have performance issues.

                              I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon

                              1 Reply Last reply
                              0
                              • E El Corazon

                                Andy Brummer wrote:

                                though I doubt there will be any practical difference between a fast AI engine and a slow AI engine. [Poke tongue]

                                I guess that depends on if you are going head-to-head against a real person in a game or if the AI decision is helping a soldier get his job done. Neither of those two are really good at waiting for an outcome.

                                Andy Brummer wrote:

                                So far I think Chris has had the best response, get off your butt and try both of them and see.

                                I actually agree, but I think practically it doesn't apply to most people. I would not recommend writing an SQL client in C++, nor would I recommend writing a real-time navigation system for an unmanned craft or a game engine in C#. Though the latter is getting closer, the problem is "edge" to be in the gaming community as a big name game, you want an edge. That edge tends to be R&D from normal compression to terrain texture blending methods, R&D kills C# because it does not fit the framework concept (everyone does things the same way). If every game was programmed exactly the same way, no edge, we would have a lot of mediocre games, and no really good ones. Luckily frameworks apply to multiple languages because you can have the best of both worlds, you can apply frameworks/API's like DirectX9 & OpenGL to handle core technologies, you can go higher up the chain with gaming systems, Delta3D, or Open Scene Graph, or an engine sold by another gaming company. It all depends on how much edge you want. ID makes their own engine, because they like to keep the edge. Others do the same. Others will build on someone else's technology by buying those engines, they know they will not get the 'extras' the 'edge' ID saves for their own games, but they can benefit from reduced programming by letting someone else make the underlying framework they build their games upon. There is room in this world for all of us last I checked. :-D

                                _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                                A Offline
                                A Offline
                                Andy Brummer
                                wrote on last edited by
                                #36

                                El Corazon wrote:

                                I guess that depends on if you are going head-to-head against a real person in a game or if the AI decision is helping a soldier get his job done. Neither of those two are really good at waiting for an outcome.

                                I always think of more academic linguistic projects when I think of AI. Things like neural nets and the like just seem like trainable algorithms and not "real" AI to me.

                                I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon

                                1 Reply Last reply
                                0
                                • L l a u r e n

                                  don't even go there with ruby!! i had a guy write a data processing app to crunch 1.8Gb of csv data into a database with special data clean-up and image processing in the mix ... and he used RoR ... and when i asked him how it was going he said (and i quote): "it's been running for 2 days now and should be finished in another 8 or 9" :wtf:

                                  "mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"

                                  J Offline
                                  J Offline
                                  JimmyRopes
                                  wrote on last edited by
                                  #37

                                  l a u r e n wrote:

                                  "it's been running for 2 days now and should be finished in another 8 or 9"

                                  I hope this was a one off conversion! :wtf:

                                  Simply Elegant Designs JimmyRopes Designs
                                  Think inside the box! ProActive Secure Systems
                                  I'm on-line therefore I am. JimmyRopes

                                  L 1 Reply Last reply
                                  0
                                  • J J Kan

                                    How well does C# cope for artificial intelligent systems like image and speech recognition? Does the .NET framework make it relatively difficult for practical implementation and slow? :confused::confused::confused:

                                    T Offline
                                    T Offline
                                    The Cake of Deceit
                                    wrote on last edited by
                                    #38

                                    If the robot runs windows, yes. However, the robot will turn things into Windows Vista discs and break Macs.

                                    I'd been called 'ugly', 'pug ugly', 'fugly', 'pug fugly' but never 'ugly ugly'. - Moe Szyslak

                                    1 Reply Last reply
                                    0
                                    • J JimmyRopes

                                      l a u r e n wrote:

                                      "it's been running for 2 days now and should be finished in another 8 or 9"

                                      I hope this was a one off conversion! :wtf:

                                      Simply Elegant Designs JimmyRopes Designs
                                      Think inside the box! ProActive Secure Systems
                                      I'm on-line therefore I am. JimmyRopes

                                      L Offline
                                      L Offline
                                      l a u r e n
                                      wrote on last edited by
                                      #39

                                      yah i stopped working with him and he went off and wrote a book on databases :omg: :doh:

                                      "mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"

                                      1 Reply Last reply
                                      0
                                      • J Jorgen Sigvardsson

                                        Homer Simpson style AI would probably be doable in VB. Doh! Doh! Doh! Doh! Doh! Doh! Doh! Doh! Doh! Doh! Doh! Doh! Doh! Doh!

                                        N Offline
                                        N Offline
                                        NimitySSJ
                                        wrote on last edited by
                                        #40

                                        Depends on what kind of AI your talking about. Personally, I think researchers have made stellar progress over the last few decades. Today we now have true Artificial Ignorance. I think Homer Simpson is now a possibility (minus the emotions, language, movements, etc.).

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • World
                                        • Users
                                        • Groups