Announcement

Collapse
No announcement yet.

Miguel de Icaza Calls For More Mono, C# Games

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

  • #61
    Originally posted by elanthis View Post
    XNA has absolutely no equal outside the CLR.
    Oh come on, yes XNA is a nice framework but that has nothing to do with it being written in C# (personally I'd say it's good despite being written in C# but that's just me), heck I used to supply patches back in the day to the Allegro game framework which was created by Shaun Hargreaves who is the creator/chief architect of XNA. Allegro is still going strong (version 5 now iirc with a rather substantial rewrite yielding lots of improvements) and there's tons of other great frameworks, obviously SDL comes to mind and what's even better they are open source and fully cross platform, very much unlike XNA. XNA usage soared with x360 'homebrew' development and it seems those developers are jumping ship to IPhone and Android these days.

    Originally posted by elanthis View Post
    This is something the Linux ecosystem has never figured out, aside from maybe the Qt folks (who aren't _really_ Linux ecosystem at all, they're their own platform): a ton of small little independently developed libraries are just a pain in the ass. Developers want a ready to go consistent platform;
    Stop generalizing your personal taste as the taste of 'developers'. While naming conventions are nice, in practice I'll take functionality any day. And it's not as if I encounter tons of different naming conventions when programming on Linux, practically all external code
    I come across/use sticks to the foo_bar() style, with constants in capital letters, and type definitions denoted as name_t. Personally I could never stand the foofoofoofoo.barbarbarbar.foofoofoofoo() extremely verbose naming convention used by C# api's but again that's a matter of taste. Sure beats that godawful hungarian notation I had to live with back when I was programming on windows.

    Originally posted by elanthis View Post
    What matters is what people ARE developing games with, not what they WERE developing games with. Inthis market, C# is increasingly popular, and the little popularity Python ever had is dying out.
    I don't know about that, I'm pretty sure ObjC,Java,C++ have a firm grip on Iphone/Android development, C# likely only attracts x360 XNA refugees. Python with frameworks like pygame is more of a rapid prototype solution in my eyes, like l?ve for Lua.

    Originally posted by elanthis View Post
    But of course not a single person here screaming nonsense FUD about C# has actually ever _used_ any of that in a serious project, so I wouldn't expect you to know any of that. Most of you have never even used C++ or Python in a significant project, I'd wager.
    No, I haven't used C# in any serious project, I have used C,C++ and Python professionally for many years though. If I pick up another language it will likely be Go.

    Comment


    • #62
      Originally posted by elanthis View Post
      And, quite simply, you're "wrong." The "best projects" don't actually offer better than the CLR ecosystem. Those many bindings are inconsistent, with different naming conventions, API conventions, error conventions, etc. Most of them are buggy or incomplete. Most of them are poorly documented. Few of them are at all any easier to use or understand than the cohesive CLR standard libraries.
      First thats maybe true, but thats then because less manpower stands behind this projects. Then its not the problem of the language or the development structure (bazaar vs catedrale) its primary the problem that ms has a big manpower to make that somehow happen to be halfway good, there are projects which are definitivly better than such all-in-one frameworks like mono or java but there are some that are not as good. I belive the open modular system would scale better with more programmers than such monolitic structure would do.


      So in java you see that this big system sucks, so ok mono has the advantage that its open, but on java you saw that this crossplattform thing has big disadvantages, no java programm was ever fast enough to use on a desktop with no bad feelings and did not integrate well in the used Environments. There was so much stuff that prevented java to be a good language on the desktop, starting by the long loading time till the whole framework was loaded at programm-start, going further in using much ram, and being ugly.

      So thats maybe a bit better in mono but only because its open and somebody cared about a good feeling under linux, but on the java side it feeled not even good to use it under windows. So yes mono is maybe better here, but again if you watch what libraries you use you can programm crossplattform also in python at least for windows and for linux. Handy programming is another tasks its another question, I did not notice that icasa talked about handys I thought he talked about games at all, and I got a game running under linux and windows, and to not make bindings for windows is something that is a question of manpower and will not of the language, so you could easily make of 99,9% of the python-packages even if they use some C code not only for linux but also for windows. here could be done more I agree to that, but you cannot tell people who dont get money for it to compile that shit under windows.


      So maybe you are right for crossplattform maybe mono is better to use with as example the python language behind, so I will maybe look over such stuff if I care about crossplattform, but If I want to write some stuff for linux or dont use gtk or 3d-engine stuff, I will still use "nativ" python code because it integrates better and is more easy to use espacialy under linux, because I dont have to install a additional complete big development-plattform.

      btw there are conventions (PEPs) in Python and programms that checks if you stick to them, maybe some projects dont use them but thats a scalable problem, if some projects have so less manpower that they stay in the prototype status and get not much refactory work that happens.


      Originally posted by elanthis View Post
      Which doesn't get you that far if you want to make a lot of money. Which most of us do, because programmers get paid a lot of cash, artists are needed in droves, etc. Python gives you a few platforms. C# gives you many. Many platforms means more money.
      I dont see software as products so you can sell support or you can write a special software for a person or better a company as a service but lisences should not be a product. So if thats not easy to make money with that aproach it?s sad, that have to change then, there are some stuff out that could change that, like micropayment services, but even that does not work right now because our economic and political system and even our money-system is broken, so we have to change that, in a way that someone who wants to make maybe with some other guys together a game for fun dont have to live out of that, like it is today. And some others have money enough and the shure constant income that they can be shure that if they give some away as gifts that they will not suffer later because of unemployment or so. And even the thinking that software that cost nothing is less good than a software that costs money that can be true sometimes but it is not always. So we need a basic income for that, but thats another question.


      Originally posted by elanthis View Post
      You're clearly not a game programmer.

      funny I am, I did write in python a singstar like game. And it worked good even on the slow featureless opensource linux drivers. Yes its no shooter wiht 1gb ram filling textures, but its still a game So what you mean is that I do not make professional games, like hollywood blockbusters to sell them, there you are true


      That I mean with modularity, if you have a good engine where most performancecritic stuff is programmed in C or C++ and you just have a python wrapper/binding around it, there is no problem with a bit python to bind together some sensors and actors, the game is then mostly as fast as the C-engine parts are the 1-2% which got lost from the python code is not important.

      Originally posted by elanthis View Post
      Which is basically scripts, mini-projects, and the crap the FOSS community tends to hack together and call production code (e.g., all of the crash-prone Python-based core apps in Fedora; I see more uncaught Python exception crashes on Linux than I do segfaults!).
      I dont see that problem, its a question of code quality, you can write bad code in any language, and if you use some autotest tools, you can make projects that are very good maintainable.

      But you forget about one big advantage of python that you underestimate, you can make faster than in nearly any language some prototypes and programm. So if you waste less time to make a programm you have more time to improve it, write more tests...


      Originally posted by elanthis View Post
      Also, "what most developers can program in" doesn't mean much. Most developers -- like most people in general -- are morons. The Web has given us a huge increase in crappy apps, but has given us very, very, VERY few amazing apps. You'll be hard pressed to name any "applications" (rather than just HTML services) that aren't made by Google, I'd wager.
      Yes but as example using css for theming a gui I found very impressive and there are much guys who learn css because they need it for living, and maybe (even if I dont like javascript much) even the use of js in the functionality is not the worst choice, and you get behind yourself a payed armee of googe and other developers who make your javascript engine faster for you ^^
      At least I find it very interesting aproach and I am openmindet to such new ways on the desktop. gtk was not the best thing so maybe that makes it easier to write programes nativly for linux (I mean gnome but gnome has most users so I just say for linux )

      Originally posted by elanthis View Post
      Microsoft's people really, really, REALLY just don't give a shit if apps are crossplatform.
      They will if 95-99% of the windows programms just work under linux and then logicaly 50-90% of their users better use the better and costfree linux-environment, so as more as mono gets more sucessful they will care more In the way that they fight it.

      Originally posted by elanthis View Post
      The only place Microsoft is still "at war" with Linux is in the mobile/embedded arena, and really they're only at war with Android. Which is not "Linux" as we know it, because it's literally just the Linux kernel and then a bunch of Android-specific code that has nothing to do with the wider GNU ecosystem we think of as "Linux."
      You talk about the present, I talk about the future, even Android was only possible because of linux, and you see one thing today, you mentioned the handy stuff and the consoles, but that has one negativ point for microsoft, if pc as gaming-plattform dies slowly the only reason to use microsoft Windows floats away, ask people why they dont use linux instead of windows at their homecomputers, the answer is at least for 50% if not more, because they dont get all the blockbuster games running there. Libreoffice is good enough for 99% even gnome-office would be good enough (abiword + gnumeric), so thats not the biggest point.
      So I think Microsoft could become bigger linux problem in the future but yes we will not see in 2 years 20%, but maybe in 5 years, with ubuntu we was by around 2% (getting good counts is difficult when you legaly can copy or getting it over cds in magazine) then it got down a bit, because unity and gnome-shell, but gnome-shell really rocks its just difficutl for users to adapt fast, but ok I do not really care if 99% of the 2% linux-desktop users are developers and in the windows world only 1% are developers we have more power to make good stuff for this 2% of users so I dont really care if the 98% suffer from selling all their freedom to some companys.
      Last edited by blackiwid; 13 February 2012, 01:18 PM.

      Comment


      • #63
        @blackiwid:
        1. modular binding? You mean that you prefer to loose your time to look for lib over google, find a binding for it in python or whatever and add reference and used it... Why ? A framework just let you add it easier. The framework power is that is well designed. The framework is tested a lot so you have quality assurance whereas a library on advanced thing will maybe be alone on this task and not sure about quality of the lib. Another issue without framework is that we reinvent the wheel each time. We have a lot of xml parser over library because each project want to used a different one. Why reinvent the wheel...
        4. I do not say that python is bad or anything else, I just said that mono is great.
        5. xamarin sold a product for android too. The goal is to share some code behind mobile app. Anyway this part is the propritary part of xamarin it is just to make money and mono is a second part.
        6. python is a great language and you have acces to it with ironpython on mono.
        7. here is the big question.
        First, I remember about 5 years ago everybody said the same and said take java and you will not have issue with patent and today Oracle has bought Sun and we have patent sue from oracle...
        Second, Microsoft has never sue mono or anything related to mono. They have do some step in the right direction by providing community promise.
        Third, Mono engine is based on standard from ECMA (334, 335). The patent is over ASP.NET, ADO.NET and widows forms. Most of mono application just used GTK# as UI so no patent issue with ASP.NET and windows forms. For database layer, there is linq...
        8. Common, get money from MS to do that. Here is the conspirancy idea. So you prefer another language python but as previously said python is available on mono. Staying with with regular python just make loose the framework power...
        9. I am pretty sure that linux/python/BSD/ Wine/Samba break a lot of patent registered out there. So do we stop to use them because of that?
        Software patent is just a big crap but mono do not contain more patents issue than any other it is just that Microsoft is the bad guy for many guy in open source word. Whereas the word have change... google is controversal with our private life, oracle stop to support open source and try to sue any company out there to get money. Apple/samsung and many other company has issue with patent. Microsoft is not a bad company just one among other which try to make money. Microsoft is more open than 10 years ago... We just have to paid attention to any company out there...
        10. You still make mistake between mono and c#. Anyway, mono bring framework so you can keep python with ironpython.
        syntax are just equivalent. Python have a little advantage because it remove brackets...
        they both have, interpreter, good community, good performance,reflection/introspection, garbage collection, generics/template, yield system, anonyme methods/lambda expression, anonyme type/duck typing, raw string, strongly typed, functional language/linq, ...
        So they have many in common.
        I found few things in c# not on python:
        nullable type, extendable method, partial class, expression tree.
        Is there any async/await features on python? this features is planned for C#5 and is ever supported in mono.

        About the end, I can just retur n the same question: why pick python and have to manage binding/or reinvent the wheel when you have all in the framework?

        So you see mono is good choice too. Python is a good choice too for language but losing framework is just sad.

        Comment


        • #64
          @blackiwid:
          1. modular binding? You mean that you prefer to loose your time to look for lib over google, find a binding for it in python or whatever and add reference and used it... Why ? A framework just let you add it easier. The framework power is that is well designed. The framework is tested a lot so you have quality assurance whereas a library on advanced thing will maybe be alone on this task and not sure about quality of the lib. Another issue without framework is that we reinvent the wheel each time. We have a lot of xml parser over library because each project want to used a different one. Why reinvent the wheel...
          4. I do not say that python is bad or anything else, I just said that mono is great.
          5. xamarin sold a product for android too. The goal is to share some code behind mobile app. Anyway this part is the propritary part of xamarin it is just to make money and mono is a second part.
          6. python is a great language and you have acces to it with ironpython on mono.
          7. here is the big question.
          First, I remember about 5 years ago everybody said the same and said take java and you will not have issue with patent and today Oracle has bought Sun and we have patent sue from oracle...
          Second, Microsoft has never sue mono or anything related to mono. They have do some step in the right direction by providing community promise.
          Third, Mono engine is based on standard from ECMA (334, 335). The patent is over ASP.NET, ADO.NET and widows forms. Most of mono application just used GTK# as UI so no patent issue with ASP.NET and windows forms. For database layer, there is linq...
          8. Common, get money from MS to do that. Here is the conspirancy idea. So you prefer another language python but as previously said python is available on mono. Staying with with regular python just make loose the framework power...
          9. I am pretty sure that linux/python/BSD/ Wine/Samba break a lot of patent registered out there. So do we stop to use them because of that?
          Software patent is just a big crap but mono do not contain more patents issue than any other it is just that Microsoft is the bad guy for many guy in open source word. Whereas the word have change... google is controversal with our private life, oracle stop to support open source and try to sue any company out there to get money. Apple/samsung and many other company has issue with patent. Microsoft is not a bad company just one among other which try to make money. Microsoft is more open than 10 years ago... We just have to paid attention to any company out there...
          10. You still make mistake between mono and c#. Anyway, mono bring framework so you can keep python with ironpython.
          syntax are just equivalent. Python have a little advantage because it remove brackets...
          they both have, interpreter, good community, good performance,reflection/introspection, garbage collection, generics/template, yield system, anonyme methods/lambda expression, anonyme type/duck typing, raw string, strongly typed, functional language/linq, ...
          So they have many in common.
          I found few things in c# not on python:
          nullable type, extendable method, partial class, expression tree.
          Is there any async/await features on python? this features is planned for C#5 and is ever supported in mono.

          About the end, I can just return the same question: why pick python and have to manage binding/or reinvent the wheel when you have all in the framework?

          So you see mono is good choice too. Python is a good choice too for language but losing framework is just prehistorical.

          Comment


          • #65
            [QUOTE=dufoli;250569]@blackiwid:
            1. lol you have to not use your browser or a onlinehelp with .net/mono? I saw one time the docu of microsoft totaly crap no examples slow sites...

            "The framework is tested a lot so you have quality assurance"
            Thats a manpower question why cant you test your lib but can test your framework there is no less testing costs.

            "whereas a library on advanced thing will maybe be alone on this task and not sure about quality of the lib."
            so what do you do if something does not work with your framework that you need? you have to ask your developer to fix/feature-add it, on free projects you look for a alternative if there is no ok you are fucked, too or have to make it yourself, or you can help that project to do it. But again most problems you tell are not a problem of the structure but different manpower on different tasks or at all.

            Another issue without framework is that we reinvent the wheel each time. We have a lot of xml parser over library because each project want to used a different one. Why reinvent the wheel...

            xml kind of sucks I think nowadays ^^ it sounds like a good idea but databases are better you dont even have to have a server sqlite3 is good enough for most stuff and there is as far as I know only one lib for that. And yes there are parts in the python framework even on that parts that come with the core package that sucks or at least did suck, what I see now some of my hate-themes on python got solved (package installer thing pip as example knows now a deinstall option ^^ and configparser is easy to use. So its getting better and better suczessively. I can not really say much about the quality of mono but as I hear you you say there is nearly all perfekt, if thats true I ask myself why that can be, are there 100x as much mono developers as there where python developers or is the amount of things you find in the framework smaller than what you can find in the pythonworld and then jsut this subpart of functionality is then easier made to a better state?

            4. I do not say that python is bad or anything else, I just said that mono is great.
            I give it maybe another try because of that advertisment of you, maybe if I would start a game again which is more work to do than as example desktop/console apps where support for windows is not a bad thing I had some issues with the porting thing in my game, but that was my first bigger python-app I run into some beginner mistakes I guess ^^
            On the other side I have found today blender engine as game-plattform very interesting, think about it you have a tool where you can make anything like making 3d objects skelets and so on what you need for a game, then you can even without programming click together the logic and you are done, you have all you need in one programm. Ok the logik clicking is maybe not right for bigger projects yet and I miss a bit the possibilty to open python files directly from blender. But that can come in the future. At the end you can (if you have a version that has no bug there ^^) click on generate executable you can do that in windows and linux and maybe mac. Thats not bad. Yes you are limited to pcs as far as I know but if you want that its a big improvement over the process I had to do for the canta (singstar) game.

            5. dont know about that subject anything ^^
            6. yes maybe in some special cases I will do that
            7. for me thats not the biggest concern against mono its more the less good integration into linux (have to install the stuff ^^ python is most there anyway ^^) and the concerns about the onebig-thing and maybe bad remembering of the java language like it died (as it died on the massmarket only serverstuff its used today and the oracle thing, dont want so much power in the hand of one company.

            9." I am pretty sure that linux/python/BSD/ Wine/Samba break a lot of patent registered out there. So do we stop to use them because of that?"

            no the point is if you create a game use mono go for it, best staticly link in the mono-stuff and even sell/distribute it to linux. But I dont want a notes-app or a mediaplayer written in Mono as standard-gnome music player, there is no point in not doing that with python/gstreamer. gstreamer is good btw, and it even works under windows (in theory at least ^^) the developer are a bit lazy to compile it under windows, and I dont been eager to understand the windows-compile-hell ^^

            I dont agree to microsoft is not that bad, they made so much stuff that sucked for linux and they do now. They miss-use their marketpower to reduce the competition, they bought some people to make their format the second standard iso office shit, they payed some bios-companys to make their powermanagement-code buggy so only microsoft who got the specs of the bugs can make it running on each machine... They even override grub2 if you install their "product" ^^ So they are bad.
            "
            I found few things in c# not on python:
            nullable type, extendable method, partial class, expression tree.
            Is there any async/await features on python? this features is planned for C#5 and is ever supported in mono.
            "
            Sorry never needed such stuff so I dont know about the status!

            "
            About the end, I can just return the same question: why pick python and have to manage binding/or reinvent the wheel when you have all in the framework?
            "
            because static stuff sucks modularity wins, it scales better, as example look what was done with Xorg as it got startet and they made their stuff modular it begun to make bigger advances.

            And I see also your argument against mono, you said "dont reinvent the wheel" thats what mono did, they reprogrammed all stuff what is out there in bibs since years. Its not importent and maybe I even switch to another language at some time, but I like to use the same bib in 5 different languages. So you have one project lets say the "Fastest Fourier Transform in the West." There are somewhere on a university some math guys who know how to make the best algorithms in C so far to do that tasks, its the best out there (at least in the free world), then you can access that. So than some guys make some python-bindings for it and you have the full power if you choose to change your language you have access to that too. I cannot belive that one company makes the best solutions on each part that are better than what they do.

            Comment


            • #66
              1. lol you have to not use your browser or a onlinehelp with .net/mono? I saw one time the docu of microsoft totaly crap no examples slow sites...
              http://www.msdn.com

              Sadly, there's nothing like this in the open-source world. A comprehensive knowledge database for all Microsoft programming languages, libraries and tools.

              Microsoft knows what they are doing. Every time a developer has to visit something like http://www.x.org/releases/X11R7.6/doc/man/man3/ a cute little kitten dies.

              On the other side I have found today blender engine as game-plattform very interesting, think about it you have a tool where you can make anything like making 3d objects skelets and so on what you need for a game, then you can even without programming click together the logic and you are done, you have all you need in one programm.
              Blender is one of the gems of the open-source world. A huge project, with an active dev and user community, commercial support, and features that surpass commercial applications. It's awesome! I use Blender at work and in my indie projects, and I only need BGE to become available on mobile devices for a total conversion. (Who needs Unity3d then? Blender+BGE would be a thousand times better!)

              If you love Python, you really really need to take a look into Panda3D. This is the other gem of the open-source world: a Free, powerful game engine with first-class C++ and Python support (supported by Disney no less).

              Comment


              • #67
                A few years for the beers

                If the type of care placed on Mono was carried over to X Windows, Gnome and the kernel we'd spitting off the heads of giants. )

                Comment


                • #68
                  Originally posted by BlackStar View Post
                  http://www.msdn.com

                  Sadly, there's nothing like this in the open-source world. A comprehensive knowledge database for all Microsoft programming languages, libraries and tools.

                  Microsoft knows what they are doing. Every time a developer has to visit something like http://www.x.org/releases/X11R7.6/doc/man/man3/ a cute little kitten dies.
                  I just want to second this. MSDN documentation is amazing. There are occasionally spots where something is missing or not filled in with as much detail as you'd like, but it completely blows away anything you'd find on linux.

                  And you can always take a look directly at the code if you really want to as well. The license doesn't let you edit or copy it, but just looking is very useful for the purpose of debugging.

                  Comment


                  • #69
                    Originally posted by blackiwid View Post
                    I dont see software as products so you can sell support or you can write a special software for a person or better a company as a service but lisences should not be a product. So if thats not easy to make money with that aproach it?s sad, that have to change then, there are some stuff out that could change that, like micropayment services, but even that does not work right now because our economic and political system and even our money-system is broken, so we have to change that, in a way that someone who wants to make maybe with some other guys together a game for fun dont have to live out of that, like it is today. And some others have money enough and the shure constant income that they can be shure that if they give some away as gifts that they will not suffer later because of unemployment or so. And even the thinking that software that cost nothing is less good than a software that costs money that can be true sometimes but it is not always. So we need a basic income for that, but thats another question.
                    YES! Basic income FTW. It's needed.

                    ... Off topic? No way!

                    Comment


                    • #70
                      Originally posted by smitty3268 View Post
                      I just want to second this. MSDN documentation is amazing. There are occasionally spots where something is missing or not filled in with as much detail as you'd like, but it completely blows away anything you'd find on linux.
                      I disagree, in the last few weeks I've found MSDN to be lacking compared to the usual man pages (man2/3). It usually has "this thing can do things" and a dozen links to subpages that say the same for the methods of the class. The man pages have proper descriptions, examples, and usage info.

                      Certainly could be I've only stumbled upon the spots you mentioned. I doubt that's likely.

                      Comment

                      Working...
                      X