Announcement

Collapse
No announcement yet.

Miguel de Icaza Calls For More Mono, C# Games

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    MONO comes from opensource-hostle company and any of its "features" are already covered by other languages.

    Miguel should start Libre Office for Windows compaign instead.

    Comment


    • #42
      Originally posted by TechMage89 View Post
      What happenend to Java, and Python and Haskell, all of which are better languages for writing a game in and don't require manual memory management?
      Same thing with D. It's high-level, aimed at being convenient and similar to C/C++, has garbage collection, is cross-platform and doesn't require a VM to begin with.

      Comment


      • #43
        Originally posted by JeanPaul145 View Post
        So for a FOSS RTS game it might actually work, but no serious fast-paced game developer will actually consider using Python for games.
        You forget something, you dont have to use python alone, naturaly the engine is programmed in c but we talked about the game, so there are much games out today that use python for all the logik and all except the engine. Therefor you get python-bindings that access the performance-power of C. So use the language that fits at best your needs, to get performance on low-level stuff I think nothing but maybe assambler can beat C, maybe c++ is not much slower, but there are also python-bindings possible for it, then you use python to clue all togeter and connect the signals with the actors


        As example I also clicked together with Blender a game ( 3d tic tac toe ) a few weeks ago, thats also python powered at least the logik, and had never (under linux I dont programm under windows) had better productive game-development experince, you just dont need to know how to programm at all for that. And you have one programm for all tasks of game development. And yes you cant make with that the next crysis-high-end grafics game, but thats only because the integrated engine is not good enough, but if you can make with it (blender) nice movies, you should also can make games that look nearly like that.


        Its a bit like you would say programming desktop apps with python is not fast enough because the kernel is written in C.

        But why would you use a low-level programming language at places where performance dont matter, so python is maybe in some tasks slow but so is java maybe in some tasks its faster ok, but therefore you have to wait a feeded hour till the very big interpreter has loaded and takes tons of mb of ram to run, a python interpreter is only a few kb big and starts instantly. That fact makes Java not good for the Desktop, for serverprocesses that is maybe not important. But ok here mono is better no big vm loading at startup, but the language is nearly as ugly to use as java is, or even worse.
        Last edited by blackiwid; 12 February 2012, 01:13 PM.

        Comment


        • #44
          If his claims are true, he's merely advertizing short-term personal convenience over long-term general benefit.... The sad thing is that it usually works.
          I'm not too worried about developers who already provide crossplatform versions of their games. Rather, I'm worried about those (much more common place) who'd consider porting their stuff from windows to other platforms. If they start regarding mono as a quick and easy way to "improve portability" with little regard to the legal incertainties, and start shoving e.g. WinForms left and right in their Linux version, that could turn very ugly very fast.
          And I could see a streak of "darn whiny Linux people, never happy" claims if users decide to steer clear from those mono apps.
          Last edited by PsynoKhi0; 12 February 2012, 01:16 PM.

          Comment


          • #45
            Originally posted by blackiwid View Post
            You forget something, you dont have to use python alone, naturaly the engine is programmed in c but we talked about the game, so there are much games out today that use python for all the logik and all except the engine. Therefor you get python-bindings that access the performance-power of C. So use the language that fits at best your needs, to get performance on low-level stuff I think nothing but maybe assambler can beat C, maybe c++ is not much slower, but there are also python-bindings possible for it, then you use python to clue all togeter and connect the signals with the actors


            As example I also clicked together with Blender a game ( 3d tic tac toe ) a few weeks ago, thats also python powered at least the logik, and had never (under linux I dont programm under windows) had better productive game-development experince, you just dont need to know how to programm at all for that. And you have one programm for all tasks of game development. And yes you cant make with that the next crysis-high-end grafics game, but thats only because the integrated engine is not good enough, but if you can make with it (blender) nice movies, you should also can make games that look nearly like that.


            Its a bit like you would say programming desktop apps with python is not fast enough because the kernel is written in C.

            But why would you use a low-level programming language at places where performance dont matter, so python is maybe in some tasks slow but so is java maybe in some tasks its faster ok, but therefore you have to wait a feeded hour till the very big interpreter has loaded and takes tons of mb of ram to run, a python interpreter is only a few kb big and starts instantly. That fact makes Java not good for the Desktop, for serverprocesses that is maybe not important. But ok here mono is better no big vm loading at startup, but the language is nearly as ugly to use as java is, or even worse.
            You're right in that performance for some parts of a game may not matter much, but there's another factor I'd left implicit: portability. Python is not a very portable platform if you have to deal with X360 and PS3 hardware in addition to Windows, OS X and Linux. If you need that you'll want something that doesn't have any performance overhead, but also something that ideally doesn't have the overhead of manually porting a complete platform every time you decide to port your game.

            Comment


            • #46
              Recently I have started to learn the Python language. So I'm a bit interested in it's speed as well.

              I read some good things about Cython beeing much faster than CPython. But in it's current state it's probably still (heavily) developed and it's not officially a Python implementation (their FAQ).

              Also there is the tool Freeze which creates C code out of Python. I would guess that it would be also faster than python interpreted programs. But like I said I'm not a experienced programmer. I have some C, C++ and now also Python knowledge, but nothing near expert knowledge.
              Last edited by Fenrin; 12 February 2012, 02:27 PM.

              Comment


              • #47
                Originally posted by Fenrin View Post
                Recently I have started to learn the Python language. So I'm a bit interested in it's speed as well.
                Take a look at PyPy.

                Comment


                • #48
                  /me enter in the troll cave
                  /me just laugh out of loud with stupid said here...

                  1. mono is not a language. mono is a plateforme with a lot of language support (c#, ironruby, ironpython, boo, java, vb, ...), a framework witch is basicly a big toolbox and an interpreter...
                  2. vala is a language but compare it to mono is just forget all mono ecosystem
                  3. mono memory issue and speed come from bohem gc witch is a well know garbage collector. You can use the new one with -sgen attrbutes which is far better.
                  4.mono is ever used as a script engine to replace lua script engine on many game. IIRC, it was just 220 time faster...
                  5.10 to 20% top game on iphone are done with unity which use mono... So yes mono is great for game.
                  6. mono is cross plateform.
                  7. mono is open source and just a remake a great MS technology just like linux is a remake of unix...
                  8. Do you really think that the guy who found gnome are trying to make a conspiracy against linux .... common
                  9. About patent fud just read that :


                  10. it is sad that seen someone succeed with open source is just throw to garbage because some people are just not enough mature to see that Microsoft can do great things which can be used on linux!

                  Comment


                  • #49
                    Originally posted by dufoli View Post

                    1. mono is not a language. mono is a plateforme with a lot of language support (c#, ironruby, ironpython, boo, java, vb, ...), a framework witch is basicly a big toolbox and an interpreter...
                    2. vala is a language but compare it to mono is just forget all mono ecosystem
                    3. mono memory issue and speed come from bohem gc witch is a well know garbage collector. You can use the new one with -sgen attrbutes which is far better.
                    4.mono is ever used as a script engine to replace lua script engine on many game. IIRC, it was just 220 time faster...
                    5.10 to 20% top game on iphone are done with unity which use mono... So yes mono is great for game.
                    6. mono is cross plateform.
                    7. mono is open source and just a remake a great MS technology just like linux is a remake of unix...
                    8. Do you really think that the guy who found gnome are trying to make a conspiracy against linux .... common
                    9. About patent fud just read that :


                    10. it is sad that seen someone succeed with open source is just throw to garbage because some people are just not enough mature to see that Microsoft can do great things which can be used on linux!
                    0. you did not mean me I think but I answer anyway ^^
                    1. I did mention the framework thing, I hate exactly that, love modular bindings from the best projects more than some 2nd best solutions tied together to one big thing.
                    2. vala is not my thing so I skip that ^^
                    3. skip again
                    4. I only know from civilisation IV that it is made in python (with c++ engine) so it works well but I dont have any counts how much games use what scripting languge on top of their c/c++ base. But if you have the choice between lua and python I think the way to go is clear.
                    5. I think Iphone has less users than android so I think its not important whats going on there.
                    6. so is python but ok you cant programm for linux windows and a handy one game but I want to see the pc game that fits on your handyscreen and is good enough to sell copies for pcs.
                    7. so and you even saw that some companys used unix-patents to fight against linuxcompanys or companys that used linux, so why do you think ms will not do much more against a maybe successfull clone of their technologie, they have more money for more and better lawyers.
                    8. I am not shure if he makes a conspirancy, but it would be possible that he got money from ms to do that, and people change and people do much stuff to get much money. And maybe he thinks he does something good but he does not anyway, I dont even think that the existance of mono is bad, but I dont like the advertisement and the willing to bring people to develop or use programms with mono-technologie. So if you are able good to programm games for Iphone ok go for it, but there is no need for linuxapps programmed in that language, python is here the better choice.
                    9. In our patent-system you dont can know what patents are out and who sues you and maybe also microsoft for patent-issues, maybe oracle sues ms and companys that use mono because some java-patents are "violated" by it or they mean it does.
                    10. give me a good reason why mono is better than python, python is easier to programm and its fast enough for most of the stuff and for what python is not fast enough mono is mostly not, too.

                    How fast a language is, is mainly a question of the implementation so that is not really a argument, but python has nicer code I had the eager to shoot myself in the head as I read about something like ArrayList, a list a dict and maybe seldom a tuple is good enough for most stuff and if you really need something else (did never) you can find bindings for something other easy... search on... http://stackoverflow.com/questions/6...list-in-python found.. ^^ I mean maybe there is somewhere also a normal list hidden but even that you have to worry about how the list u use, use the memory sucks, thats in most cases not what you want on desktop apps you want to use easy some shit that works, and dont care about how its made.
                    Maybe a stupid Point but I dont understand why a language has to be so ugly and to make easy things to get help to such stuff that is way to complex if you just need a list.

                    ok there seems to be a list, but it seems to suck as well syntacticly as in the term of the bad features:

                    List<int> list = new List<int>();

                    <- you have to not only double declare what you want you have to even declare what you wanna put into the list so you cant mix it. the same in python without that limitatation:

                    my_list = [] or my_list = list()

                    so there are at least small advantages in python and why the hell should I use than mono if under linux the python-bindings are installed anyway and install additionaly the mono bindings. Yes ok maybe its easier to port it to windows, so you have to look if there are bindings from what you are using for Windows AND Linux if you want to port it, but if the stuff u use is opensource it can be compiled in windows. So if you look good over your selection of python-bindings you use python is also crossplattform.

                    But on the end linux-devs have no big wish in making things totaly interoperality on cost of making compromises in comfort of coding as example and having some patent risks. so even javascript is more interessting (gnome-shell) today because thats what most developers are able to programm in because web-developing is a bigger market than one language/framework for application development can be. so ok on the backend site different languages are used, but on the web-frontends its javascript what all guys use.


                    And also Microsoft dont whats crossplattform apps (that run under linux) because they would loose some more users if much programms would work under linux, too. So if that would happen they would fight against it, so maybe there are no good patents that could win a sue but to start one it would be good enough, and they would fight years over it and the linux-using companies would become insecure.


                    Sorry for my bad english its late

                    Comment


                    • #50
                      Originally posted by blackiwid View Post
                      ok there seems to be a list, but it seems to suck as well syntacticly as in the term of the bad features:

                      List<int> list = new List<int>();

                      <- you have to not only double declare what you want you have to even declare what you wanna put into the list so you cant mix it. the same in python without that limitatation:

                      my_list = [] or my_list = list()

                      so there are at least small advantages in python
                      You can always create an untyped list by using:

                      var list = new List<object>(); or
                      var list = new ArrayList();

                      if you want to mix different types together. No need to double declare the type if you use the var keyword.

                      C# is giving you the option to statically type the list which allows the compiler to optimize it better, and to give you extra type checks, but it's easy enough to bypass those benefits if you really want to.

                      You really don't need anything beyond the same list/dict types in c# either, so I'm not sure why you view it as any more complicated.

                      .net 1 came with untyped versions:
                      ArrayList() and HashMap()

                      .net 2+ added typed versions you can use instead, in addition to keeping the old untyped versions:
                      List<ElementType>() and Dictionary<KeyType,ValueType>. Note that you can type these to generic Object, which is inherited by everything else in .net and so allows you to mix and match anything you want in the same collection.

                      There's generally no need to worry about the algorithms behind these classes, unless you know you need to. The lists behave the same way that a c++ std::vector does, and the dicts use hashing.
                      Last edited by smitty3268; 12 February 2012, 08:16 PM.

                      Comment

                      Working...
                      X