Announcement

Collapse
No announcement yet.

Mono Project Continues Making Progress

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

  • #11
    Originally posted by Tgui View Post
    I'm a Linux nut and have been since 1996. I have a number of engineering degrees and am a CTO of a software company. I've hacked in all sorts of languages to reverse engineering car ECUs. I have some street cred! The company I work for is a C#/ASP.net shop with a ton of JS for mobile applications. I've deployed our stuff to Mono in the past and it worked nicely (as a test). I've spent the last year removing our ties to MS SQL Server (WIP), and hope to eventually deploy to Mono/Apache/PostgreSQL. I really hope Mono makes it!
    That sounds good. I hope the migration goes well.

    Comment


    • #12
      Originally posted by johnc View Post
      I remember back when Java was cool and I could never figure out why C# / .NET became so popular. And to be honest... I still don't get it.
      Are you complaining about high-level languages in general, or are you claiming that Java is better than C#? Because.... no. Just no.

      Comment


      • #13
        Originally posted by smitty3268 View Post
        Are you complaining about high-level languages in general, or are you claiming that Java is better than C#? Because.... no. Just no.
        I guess I just never understood why there was so much interest in C#. I guess if people were just developing for Windows it was the thing to use.

        Comment


        • #14
          Not surprised considering they're being funded by microsoft to make a bad java clone for non-windows platforms just so microsoft can claim it's "multiplatform"
          Anyone claiming that C# is a "bad" Java clone has probably not actually been using any modern incarnation of it. Clone? Sure, no argument. "Bad" clone? wat. Java has if anything been playing catch-up with C#, and rather poorly at that.

          If you're comparing C#1.2 and .NET1.1, sure, they're pretty cruddy, but those were obsolete like 8 years ago. I can have intelligible conversations with human beings younger than C#2.0.

          I can safely say mono is a piece of garbage, and "write once run anywhere" will NEVER apply, you will have so many issues trying to port a .NET app to mono(entire features flat out not implemented, buggy frameworks, many libraries that are .NET only, etc)
          Miguel and co stated from day one that Mono's purpose was not really to allow porting of Windows apps but to allow the writing of new apps with all the bells and whistles and convenience of C#/.NET. One might as well bitch about how some asshole ported C from UNIX to Windows and why anyone would even dream of using such an unportable abonination to a new platform which couldn't even run all the existing UNIX apps. If you can port some Windows apps, great, but that's a secondary benefit. The vast majority of Mono-using applications are not meant to run on a Windows desktop at all, most of them being mobile applications.

          It's becoming even less relevant as microsoft is (slowly) killing off .NET because they realize the mistake it was instead of just rewriting their *awful* native API.
          Uh, no. That is complete nonsense you either just made up or regurgitated from someone else who made it up.

          WinRT does not obsolete .NET. It sits below .NET because it's a low-level systems library, the same way that glibc sits below Qt5.

          I'm not sure who mono appeals to, but if you decide you want to use C#/mono maybe reconsider and give D a look instead... or just use regular Java instead of Microsoft's offbrand Java.
          D has almost no ecosystem. This is what language hipsters always seem to forget. The developer world at all gives _zero craps_ about the syntactical niceties of D, Rust, Go, whatever. They care about a huge standard library. They care about deployment options being common on third-party hosting platform. They care about IntelliSense and auto-documentation and static anaysis tools in IDEs. They care about oodles and oodles of online articles, documentation, libraries (free and paid), and tools. They care about interoperability between components written by third-parties. They care about being able to start a project and having a huge base of people to hire from as they grow their team. They care about all the things that takes years and years to build up (as it did with C#, though certainly less years than usual thanks to Microsoft massive marketing arm). This is why C and C++ of all things are still the de facto standard languages for native code development despite how antiquated and at times outright horrific they can be. Let's not forget that D is almost 3 years older than C# to boot, and _still_ has gained almost no traction in the myriad of industries that C# is now a mainstay of (or really any industry at all).

          Let's break it down in a way that matters to Real People:
          Jobs you can get as a C# programmer: 8919 from just one source
          Jobs you can get as a D, Go, or Rust programmer: 0? Not even listed as options on Dice, LinkedIn, or any other site I can think to try

          Telling a programmer to pick D over C# is roughly equivalent to telling them to go die of starvation in a cave. Not very nice.

          That doesn't mean that C# is empirically better than D, no, but it is indicative.

          And honestly, D really isn't that nice if you try using it for anything larger than a small hobby or research project. A lot of the decisions going into D's design are dubious at best. Not only is it severely lacking in tools, it always will be due to its tools-hostile design. It's in many worse even worse than C/C++ and their macros when it comes to writing proper tools. Whoever came up with the string mixins of D needs to be shot in the face with a poison dart. "static if" is almost as bad. Language designers who know what they're doing write languages closer to C# which has an almost religious attention to tooling support. Or take the Clang guys at Google, who make sure they bring up tooling support issues with new proposals at the ISO C++ meetings to try to avoid any further brain-damage from the camp who doesn't get that the cutting edge is longer about the manipulation of semantically-inert text buffers. There's ease of dumping out a toy quickly and then there's ease of maintaining a real application.

          Comment


          • #15
            Originally posted by johnc View Post
            I guess I just never understood why there was so much interest in C#. I guess if people were just developing for Windows it was the thing to use.
            C# brought a whole lot of c++ like functionality to the language that java did not allow. Things like generics, enums, structs and stack types instead of using the heap for everything, function pointers, operator overloading, non-brain dead event handling, much easier integration with c/c++ native libs, the ability to compile your programs to native code instead of VM, and about 1000 other niceties that java has been slowly trying to catch up with over the last decade.

            C# never really caught on with windows for user applications either, though, because the slow startup and memory costs associated with it, like java, seemed to doom that from ever happening. But it's big in business apps and server side where that stuff doesn't really matter much and development speed (RAD) does, since your major cost is paying developers labor costs.

            Comment


            • #16
              The problem is that most C# programms aren't realy portable cause of P/invokes or WFM.
              Another thing that is a bit annyoing is that Winforms look like crap.

              Comment


              • #17
                Originally posted by elanthis View Post
                Anyone claiming that C# is a "bad" Java clone has probably not actually been using any modern incarnation of it. Clone? Sure, no argument. "Bad" clone? wat. Java has if anything been playing catch-up with C#, and rather poorly at that.

                If you're comparing C#1.2 and .NET1.1, sure, they're pretty cruddy, but those were obsolete like 8 years ago. I can have intelligible conversations with human beings younger than C#2.0.
                LOL, i remember back in the day looking at J# - i think that was in .net1, although it wouldn't surprise me if there was a .net 2 version as well. It really was a clone of Java, to a degree that I'm almost surprised they weren't sued over it. No one bothered to use it over c#, though.

                Comment


                • #18
                  Originally posted by Thaodan View Post
                  The problem is that most C# programms aren't realy portable cause of P/invokes or WFM.
                  Another thing that is a bit annyoing is that Winforms look like crap.
                  Xwt will give native appearance on supported platforms (Currently Mac, Windows and GTK).

                  A cross-platform UI toolkit for creating desktop applications with .NET and Mono - mono/xwt


                  It is kind of new though. I hope it catches on.

                  Comment


                  • #19
                    Originally posted by smitty3268 View Post
                    C# brought a whole lot of c++ like functionality to the language that java did not allow. Things like generics, enums, structs and stack types instead of using the heap for everything, function pointers, operator overloading, non-brain dead event handling, much easier integration with c/c++ native libs, the ability to compile your programs to native code instead of VM, and about 1000 other niceties that java has been slowly trying to catch up with over the last decade.
                    This is actually why I preferred Java because to me it was a much more elegant and well, "purer" OOP language. It read clean and crisp without a whole bunch of convoluted stuff crapping up the code all over the place. And I never felt that the language didn't give me the ability to do what I wanted, and relatively intuitively. Ever since around v1.5ish they started adding a lot of those "niceties" you're talking about and frankly I thought it really mucked up the language. That's about when I started to lose interest in Java.

                    It's a preference thing, of course. I prefer a consistent form to a bunch of random, haphazard constructs that were supposedly designed to make my life easier. (IOW, for me, keeping the functional aspect of the language straight is a better benefit than allowing me to write an iterative loop w/ fewer characters.) Or, to put it more plainly, I have OCD.

                    The other big downside of C# is that it tied you to Windows, which to me was a huge downside, and pretty much a non-starter for server-side code. But I think for desktop-type applications this would be a large benefit, and especially w/ the native Windows look.


                    I'm not much of a code snob (I'll even do PHP, which is an awful language)... but I really can't stand what they've done to Java.

                    Comment


                    • #20
                      The other aspect of it all was that C# was a reaction to Java at a time when the power struggle for dominance and coinciding politics was really predominant in the industry. Microsoft was just coming out of the big monopoly controversy. I guess I was a *nix guy at the time. (I wouldn't really consider myself that; I just didn't think *nix platforms should be excluded from the public conscious.) I really couldn't figure out why developers were throwing their eggs into the Microsoft-exclusive basket.

                      Here with Java we finally had a cross-platform tech that could have really shaken up the industry and............... nope. C#. Pretty much solidified Microsoft's monopoly.

                      Comment

                      Working...
                      X