Slashdot Mirror


Mono Poises to Take Over the Linux Desktop

Edd Dumbill writes "Miguel de Icaza and the Mono team recently hosted a two day open meeting in Boston. O'Reilly have just published my report of the meeting. Highlights include Miguel's view that 'C is dead!' and the Mono approach to dealing with Microsoft patents on .NET."

55 of 925 comments (clear)

  1. MonoDevelop IDE by gmajor · · Score: 5, Interesting

    Doesn't the Monodevelop IDE look suspiciously like Eclipse?

    1. Re:MonoDevelop IDE by Why+Should+I · · Score: 2, Interesting

      no they are simply trying to make a C# ide in mono.

      plain and simple.

      there are none on linux, and so they started the project as a port from SharpDevelop.

      No ulterior motives, no copying, just a port that is developing into it's own project.

      disclaimer: I am a MonoDevelop developer

  2. C is dead? by EdMcMan · · Score: 2, Interesting

    C is inferior, yes. It's hardly dead though.

  3. Renovate or Innovate? by capz+loc · · Score: 3, Interesting

    One of the problems I have with Mono is that it reimplements Microsoft's .NET framework instead of relying on its own. I understand that it is a lot of work to create such an integrated development platform from scratch, but I feel that the benefits of having a truly open/free/whatever solution will far outweigh the extra time that it would take. I am not a programmer, so I don't know much about the intricacies of .NET, but I can't possibly imagine that it is perfect in every way and that nobody can think of things that could be added/changed in it.

  4. And how long before we find out that... by the_skywise · · Score: 1, Interesting

    Icaza is taking major investments from Microsoft?

  5. Re:.NET by Rascasse · · Score: 5, Interesting

    .NET is good because it takes the best from languages that are already in existence. It's not like there is anything revolutionary in C# that isn't in any other language out there. I used to be stuck in this PC-centric view of the world. Imagine my surprise when I bought a Mac and realized that NeXT had fantastic things like Internet-enabled Distributed Objects available long before much of the world even knew what a web browser was. Yes, C# is good. But the only people that I know that have been blown away by it are those that didn't stray far from Microsoft solutions and were never exposed to tools available from other vendors. Welcome to what much of the rest of the world had available to them in the form of Java since the late 1990s. And before the fanboys come out - yes I know that C# actually improves on some of Java's deficiencies. But I do take issue with the assertion that C# was made possible thanks only in part to a concerted MS R&D effort. It wasn't.

  6. Parrot/Perl6 by Freedom+Bug · · Score: 5, Interesting

    IMO, I think Parrot will become the .NET equivalent in the open source world: a language independent VM and a huge standard library. I can't wait to have access to CPAN from my Python programs.

    Sure, C# is a lot nicer than C, but Python & Ruby are a lot nicer than C#. If you're going to give up the predictability of C/C++ for a VM, garbage collection, et cetera, why not go all the way up to dynamic execution?

    Bryan

    1. Re:Parrot/Perl6 by bcrowell · · Score: 3, Interesting
      Parrot has at least two big things going for it:
      1. It's fast. It was designed from the beginning to be fast. They're not leaving the optimization for later -- the early releases are already super fast. IIRC, some languages compiled into Parrot are already faster than their previous implementations.
      2. It's immune to the kind of MS mischief that .NET will undoubtedly have to struggle with.
  7. Re:Um, no. by LINM · · Score: 2, Interesting

    The whole basis of the flawed range of problems stems from Mono's fundamental design. The goal was to design reusable components that could plug in multiple different ways in varying modules. The result is a system that is significanctly more complicated than it needs to be and the n'th level integration means that one buggy (or incorrectly spec'd) component throws the entire beast off.

    However if you are looking for working solutions (especially on the desktop) your design, coding, and testing will go much more easily with QT, or GTK. Each is much more thoroughly tested and has significantly more man-years of use.

    --

    Hunger is the best sauce.

  8. Re:.NET by gathas · · Score: 2, Interesting

    I've found that C# on the .NET platform has been a nice language to work with. What I cannot stand is the IDE and build system. I feel it really gets in the way half the time. Microsoft has spent too much effort trying to make Visual Studio work like an Office app, but for real develoers I find this limiting. Intellisense is awesome, but the lack of include files (you have to reference compiled assemblies) drives me crazy (I know you can build assemblies with intefaces only, but this is a lot of work just to share some types). There have been many times where we have spent days figuring out how to do something that I could implement with Makefiles in minutes. I know there are other IDEs, but developing MS apps without VS always shows all the architecture flaws and heavy lifting that are worked aroud with the IDE (look at COM, trying writing a serous COM app without VS, way to much typing).

  9. 10 years later, Java is cloned by MS. by Anonymous Coward · · Score: 1, Interesting

    Yes, this is about right. Didn't Java come out around 1994? Bytecodes, the end of 'C', the "platform", the virtual machine. Deja vu all over again.

    Maybe the continuing pressure from MS and the total refusal of the government to enforce it's laws will force Sun to start seriously considering freeing Java to the point that it can be distributed with Linux distros.

  10. Give me a break by Anonymous Coward · · Score: 4, Interesting
    C is dead? What is he smoking. It's going to be around for a long long time. Will enterprise apps be developed with C, sure it will. Will C# get used for "enterprise apps". Well smallish non-transactional, horizontally scalable apps sure. .NET is still lacking when it comes to a proven, robust messaging server and transaction monitor. Don't say COM+, unless you've actually taken time to read the full disclosures hosted on http://www.tpc.org/. Stock COM+ transaction API is ok, if you want to handle update/commits in an async fashion. But don't expect it to be scalable in a massive or medium sized trading system. It will get better with Whidbey, Indigo and Longhorn, but there's still a ton of problems with Windows at the kernel level that keep it from scaling well for hardcore backend applications.

    don't bother mentioning .NET community sites that host on .NET or Match.com. Those aren't transaction heavy or trading systems. Glorified webpages that serve up database tables are simple. A decent developer can build it. Building a transaction application that can handle 500-1000 moderately complex transactions (update/insert) per second is hard. .NET can't handle it, or atleast I all the cases I've heard of in the financial industry failed miserably. If you're in this industry you already know. If you're not, you're probably saying "what bs, .net can scale just as well."

    Yeah, try to build one in .NET and tell me how many servers you're going to need. then tell me how you would run real-time analytics on all the rows in a given table when you've partitioned the table across 8 machines and each has 8 million rows. When the CTO says, the query has to take less than 30 seconds, what will your answer be?

  11. Re:Not ready, and not catching up, eh? by miguel · · Score: 2, Interesting

    We are doing quite well, see our Mono Roadmap
    in www.go-mono.com/mono-roadmap.html, we are
    a bunch of happy campers, with a nice runtime,
    and a nice language to write code we enjoy.

    Miguel.

  12. Re:c is dead... by gstoddart · · Score: 5, Interesting

    Indeed. Since most damned operating systems are written in C I don't think we'll exactly see it go away anytime soon.


    Operating systems is where C comes from, and vice versa.


    (Yeah, whatever, I'm a C geek. To me, and array of pointers to functions returning pointers to arrays of characters seems like a damned fine idea! =)


    Back in my day, we jusy wrote straight to the registers on the device and we were glad! Damned punk kids.

    --
    Lost at C:>. Found at C.
  13. Re:Foot-in-Mouth Disease by Otter · · Score: 2, Interesting
    Icaza has apparently forgotten about that whole "Linux" thing that is built on that whole "UNIX" thing that was built using that whole "C" thing.

    No, I believe he's forgotten that this year's official unilateral declaration of total GNOME supremacy has already been proclaimed by Bruce Perens.

    Still, this is a good one for next year. I'd hate to see them run out of new schemes and have to recycle old chestnuts like "One million GNOME desktops in Mexican schools!" or "With Solaris *and* HP-UX, we're the Unix desktop standard!"

  14. Re:Overnight by primus_sucks · · Score: 4, Interesting

    But as it is I see the tremendous duplication of effort across the world to do the same things in Java and C#, and it just makes me sad.

    I think this problem would be solved by writing things in Scala. Scala compiles to .Net or Java runtime and is a far more advanced language than C# or Java.

  15. One thing you need to know about DeIcaza.. by Bowie+J.+Poag · · Score: 5, Interesting



    Hmm.

    The initiative it takes to back-engineer the .Net frame work, while admirable, is a wee bit misguided, i'd say. You have to understand what's really at play here.

    The whole idea of chasing after a proprietary standard like .Net (and treating the development process like some open source cat-and-mouse game) is pointless. It accomplishes nothing but an at-best "acceptable" knock-off.

    If Microsoft doesn't want the .Net framework available on other platforms, they're not going to make it available. Then on the other hand, if they find it's to their benefit to do so, they will make it available. It's as simple as that. Suppose you actually make it to the point where you have an equivalent framework to offer. Surprise, Microsoft releases .Net for Unix, and the entire effort is null and void. Your pride and joy is now a footnote, and a deprecated one at that. Realistically, how many people are going to feel sorry for someone who's stance reads, "Damn those fuckers in Redmond for making their framework available in Unix!" ?

    Unfortunately, Miguel seems to have a fairly long track record with this sort of Microsoft-chasing. You can run along and play catch-up all you like with other technologies, but, it'll be just like it is with Gnome ---- With Gnome, you're guaranteed nothing better than a perpetual second place finish. Gnome amounts to a Windows wanna-be, instead of a Windows-killer, when it didn't have to be that way. Miguel made it that way.

    Look...If you HAVE the talent to do something better, for God's sake, do it. Don't waste your time (and other peoples time) churning out flea market knock-offs of worthwhile products. I'm certainly no fan of Microsoft..I just call it like I see it. .Net needs not the taint of open-source muckery.

    --
    Bowie J. Poag

    1. Re:One thing you need to know about DeIcaza.. by Anonymous Coward · · Score: 1, Interesting

      With Gnome, you're guaranteed nothing better than a perpetual second place finish. Gnome amounts to a Windows wanna-be, instead of a Windows-killer, when it didn't have to be that way. Miguel made it that way.

      Thanks for ditching the efforts of thousands of volunteers in the current direction of Gnome, that is quite different than Windows'. Miguel currently works solely on Mono, and has no saying in Gnome development.

      Of course, I'm sure Gnome's direction would be much better if you were still designing its interface. Heh.

  16. The peril that is .Net by SuperKendall · · Score: 3, Interesting

    You might want to look at Nemerle (www.nemerle.org)

    You have brought forth the perfect example of the danger of .Net for all other languages. Take a look at one of the first paragraphs describing Nemerle from a PDF I found on the site:


    Of course, the framework is strongly object-oriented and primarily focused on traditional object-oriented and imperative languages. Therefore ports of the existing functional languages to the .NET did not fit in as well as, for example, C# [5] does. Addressing this issue was the main idea behind the design of Nemerle. In comparison to Haskell [3] or SML [2], Nemerle is not a pure language in the functional sense, allowing the programmer to create completely object-oriented and imperative programs. This makes Nemerle a good transition language for people with C-like imperative and object-oriented languages background. They can take advantage of the language imperative features until they gradually learn how to program in a functional fashion.


    No, not quite a pure language and you have to use the C# libraries. Again, a pale reflection of a real functional language with libraries that do not encourage functional use.

    But the real problem is the last sentance - "until they gradually learn to program in a functional fashion".

    You and I know how programmers are. We are built for laziness. I am that way myself. So what would happen if we put twenty programmers in a room, ten of which came knowing C# and ten knowing a functional langauge, and had them program in Numerle for a year? I'll bet 18 of those twenty would just be using C# by the end (even knowing how obsitinate supporters of functional languages such people are!), and the C# people would not have picked up a lot of functional knowledge along the way. Because knowing how C# works gets the bulk of work done in the system (as like Java, the bulk of work is done by a rich set of libraries), you will evolve to working in a C# style even in the confines of a functional language!

    How many Eiffel# programmers are there out there already? How many people have used .Net as a "Stepping stone" to learn the other languages offered by the .Net platform?

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  17. Re:What language is .NET written in ?? by tunabomber · · Score: 2, Interesting

    Interestingly, Mono's C# compiler is written in none other than C#.

    --

    pi = 3.141592653589793helpimtrappedinauniversefactory71 ...
  18. Re:Overnight by rnd() · · Score: 1, Interesting
    Don't underestimate the differences between C# and Java. While they are very similar, the following stand out to me as significant differences:

    C# compiler messages are way more intuitive to novice programmers.

    The C# network access classes are more intuitive.

    The C# IO namespace is more intuitive.

    The event model in GUI apps is way more intuitive in C#.

    All of these lower the barriers to proficiency in the language, and make it possible for more people to get started writing code, which will eventually lead to a larger population of talented coders, and to better software.

    C# also enforces some very good design patterns by making them not only language features but by integrating them consistently into the .net framework.

    The Mono project is my favorite of all OSS projects because it will make developing for Linux and Windows just as easy as for Windows, which will make Linux a better competetor to MS, which will make everyone better off.

    --

    Amazing magic tricks

  19. Re:Um, no. by Anonymous Coward · · Score: 1, Interesting

    Take away the *IDE* and you would probably write code slower than those of us using languages like Ruby. .NET has a great set of tools, the language and runtime is nothing exciting.

    When you get tired of compiling and linking and other cute holdovers from another era, come join us in dynamic language-land.

  20. C is dead ??? by bzImage8 · · Score: 1, Interesting

    Pardon me, but i wonder this:

    The C++ compiler its writted in basic ?
    The C# compiler its writted in assembler ?
    The java compiler its writted in java ?
    isn't C the basis for all the compilers code ?

    --
    Unix its simple, but sometimes it takes a geniuos to understand the simplicity -- Dennis Ritchie
  21. Gmone needs to distance itself from Mono by oob · · Score: 4, Interesting

    We have Gnome because Trolltech refused to release QT under a free license in the early years.

    The prevalence of KDE at that time showed us that a large proportion of the F/OSS community would cave to non-free software if it was convenient.

    Until recently a mutually beneficial relationship existed between Gnome in the community and Ximian as a commercial provider, analogous to the relationship that exists between OpenOffice.org and Sun's Star Office.

    Now that Novell owns Ximian (OK Novell are currently our friend, but that may not always be the case) and Miguel is exposing the community to litigation from Micro-Soft down the track through the introduction of non-free technologies (and procedures, methods, etc. which are likely to be covered by upcoming patent laws) the GNOME project needs to distance itself from the disruption that the Ximian guys represent in order to avoid contamination.

    Miguel has a solid reputation and has done a lot for the community, but in this case he is either (best case) a fool for thinking that Micro-Soft can be trusted or (worst case) a quisling. Either way, it's barge pole time.

  22. Call me ignorant, but.. by Anonymous Coward · · Score: 2, Interesting

    What is missing for a similar type of system to be implemented in Java, with a GTK+/QT frontend? Is it the VM is not robust enough? Is it the fact that there isn't an easily copy-able blueprint as in the .NET API's?

    Why aren't IBM and Sun(Java Desktop??) pushing something like this as an open-source project?

    -

  23. Miguel de icaza is a jerk by Anonymous Coward · · Score: 0, Interesting

    I have the chance to meet him and he thinks that he is the master of the universe and everybody must know that.

    In other words, he is a real jerk


    If he says C its dead, i dont care, he can try to copy .net as long as he wish, meanwhile, i will continue programming in C

  24. Re:Why Mono Will Fail by bcrowell · · Score: 1, Interesting
    Yeah, 10 years from now we'll still be doing manual memory management. Sure...
    Quite a few open-source developers have embraced automatic memory management. It's just that we tend to write our programs in Perl and Python.

    And for some reason Linux developers avoid Java like the plague, even though it's got a godzillion features that make everything so much easier (garbage collection, huge consistent class library, security, etc).
    "For some reason"? You make it sounds like we all just got PMS. There are two very clear reasons.

    1. Java is owned -- lock, stock, and barrel -- by Sun. If I want to install a Java runtime and Java development tools on my FreeBSD box, I have to jump through a bunch of different hoops, and click through on a lot of 20-page licensing agreements.
    2. Unlike Perl and Python, the available implementations of Java are not of high quality. Sun's implementations are bloated and slow. Sun put out AWT and then admitted that they goofed and needed to replace it with something completely different. Meanwhile the Perl and Python have gotten everything right the first time.
  25. Re:No language can replace C ... by bzImage8 · · Score: 2, Interesting

    I am really lost on this laguage/compiler stuff.

    Let's say that im creating a new language, let's call it "C&&"

    And i will create the compiler for the language C&&, in what language i will code ? not in C&& that dont even exist yet!!, im just creating the compiler right now!!

    So, let me ask, in what language was coded the first C# compiler ? or the first C++ compiler ? or the first Java compiler ?

    BTW: C&& (c) by me.

    --
    Unix its simple, but sometimes it takes a geniuos to understand the simplicity -- Dennis Ritchie
  26. Re:That is where you are mistaken by de+Selby · · Score: 4, Interesting

    "There is no support for some Python features that some programs will require. Most of these are
    fairly obscure, but are a limitation. Examples include:
    - String formatting
    - Core language features, such as long integers, complex numbers, built-in object methods
    and so forth.
    - The standard Python library.
    "

    Are they joking?

  27. Re:Why Mono Will Fail by Lord+of+the+Fries · · Score: 2, Interesting
    ...the slow and huge Swing (that Smalltalkers foisted on Java)...


    Do your homework dude. Swing may be a pig, but making it sound like it was Smalltalk at fault is flamebait. Sun went looking for just such a thing and found an irate team of people who thought they could try the ParcPlace emulated x-platform widget game for Java. Didn't matter that they were Smalltalkers or anything else.


    I suppose every time you use windows, icons, your mouse, or pointers, it just pisses you off that a bunch of Smalltalkers at Parc years ago foisted that on us! And damn that MVC concept too. And the whole messaging thing, and first class objects, and, well all that other OO stuff, bunch of stuff Smalltalkers foisted on us. I guess they foisted garbage collection onto Java too, huh?


    There are multiple Smalltalk incarnations out there. Of at least 7 Smalltalk environments (VisualWorks, VisualAge, ObjectStudio, Squeak, Smalltalk/X, #Smalltalk, GNU/Smalltalk) I have written applications with... only two do the emulated widget thing, the other all do the native thing.


    So what I want to know is this. Every time I see a dumb idea or a crappy implementation, do I get to blame it on the language?


    Oh, and BTW, that other response, the one about IBM's java widget set (SWT)... that was designed by a bunch of Smalltalkers too, the OTI crowd that IBM bought for IBM Smalltalk. I wish they'd just go away and quit foisting stuff on us.

    --
    One man's pink plane is another man's blue plane.
  28. Re:Overnight by b17bmbr · · Score: 2, Interesting

    All of these lower the barriers to proficiency in the language, and make it possible for more people to get started writing code, which will eventually lead to a larger population of talented coders, and to better software.

    not true. a skilled programmer can code in a variety of languages. for example, someone who is proficient in java (or OO languages) should pick up python rapidly (i know from first hand experience). also, software engineering is not dependent on the language. good software can be written in any language. IDEs and languages do not make for better software. there is much more to it. have you ever played with cocoa/obj-c? if you did, you'd think .net a piece of crap. if apple ever ported aqua to linux, oh boy. but then i have to remind myself that apple is a hardware company. anyways, back to original point. languages don't make a programmer any more than brushes make a painter.

    --
    My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
  29. Re:.NET by augustz · · Score: 2, Interesting

    Given that the standard was developed over a significant period of time by a company with a rediculous R&D budget, and forms the foundation of their future products, I'm not sure where you get the "hacked on five minutes before release" bit.

    Mono is an implementation of the CLR, and mono's C# is an implementation of the standardized / MS C#.

    For those who havn't gotten it, ivern hasn't really learned C# yet. Seriously dude, rather than flaming, take some time to learn it and then come back with the a more realistic set of gripes.

    The developers of C# unfortunatly had the luxury of looking at Java and taking what they wanted, along with doing some other things differently. Java isn't open source, and MS had the sense to open source / standardize the basic bits of C#.

  30. Re:Overnight by gabebear · · Score: 3, Interesting
    While I agree with you on every point, I don't see any of those as being very big problems.

    I still give Java the upper hand overall because it's licence. Unless Microsoft blesses Mono with a licence to use the full API, I can't see using it. Mono keeping the APIs they may not have a licence for in a seperate code-base is not enough for me.

    The only modern language that is wide-spread and licenced sanely is Java.

  31. Re:Miguel is dead! by ron_ivi · · Score: 4, Interesting
    Parent wrote: "I'm not a C++-hating C bigot "

    The more I try to hire good C++ programmers, the more I become a c++hating bigot.

    When over 95% of "C++ programmers" that I interview can't even answer this: straightforward question about virtual methods, I see no hope for the language. It seems most people who claim to be C++ programmers just say that because they use a C++ compiler and stick their functions in objects.

    The future I expect is a mix of a higher-level language (Java, C#, perhaps even Python) and C. I can think of cases where C is the right tool for the job (small memory embedded systems), and I can think of cases where Java/C# is (large scale enterprise software); but I don't see C++ as the right tool for either job.

  32. Typical by SuperKendall · · Score: 2, Interesting

    Some blustery claims of betterness without example. Please enlighten us all with the exact features you find to be miles ahead of Java. I don't even think you can claim the Visual Studio IDE (supposedly one of the strengths) is better after using Eclipse for any length of time (which does also support .Net).

    I have studied .Net pretty carefully and drawn on an extensive array of experience with many other languages (like scheme and pascal and assembly and C and C++ and Objective-C) to draw my conclusions. I did say there are some advancements over Java after all - but as I said they are not that different. Just niceities, and many of them are being added to Java as well. I've also ported some .Net code over to Java (more duplication) so I must have understood it to some degree to have it work...

    Linux is fine. It's sharing code from other UNIX systems - it's not like there are 100 different code bases for Bash. With .Net and Java you are re-writing Ant and Log4J and Struts (because the .Net GUI tools will only take you so far) all sorts of other libraries, and two code bases will be maintained. Wouldn't it have been better for that same set of people to work on one codebase, rather than a bunch of .Net people frantically keeping up with the popular Java utilities?

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  33. Re:Why Mono Will Fail by LarsWestergren · · Score: 4, Interesting

    There is almost no difference between C#/Mono/.NET and Java, but almost no Linux developers write in Java.

    Not quite true. Current Sourceforge statistics by language:
    1. C++ (12967 projects)
    2. C (12955 projects)
    3. Java (11446 projects)
    4. PHP (8607 projects)
    5. Perl (5388 projects)

    There is a vocal group of Java haters on Slashdot.

    There is a bigger group who is a bit wary because even though the Java Community Project exist and IBM and others are allowed to develop their own implementations, the licence is not GPL and Sun could screw things up if they turn evil or desperate.

    Check out your distribution's packages and you'll almost see more JVMs than Java apps.

    Yes, because lincence restrictions prevent them from including Suns java. The open source packages are not mature enough to run all apps, so it's pointless to include those apps. The open source implementations of the VM are impressive, but the java standard is developing too quickly for them to keep up porting all libraries. Just like .Net will evolve too quickly for Mono to keep up. Only in that case it is guaranteed MS will deliberatly include things that will break Mono.

    there's every reason to use Java, especially for applications.

    Yes, and I believe a huge reason for the upswing of Linux in businesses is the great combination of Linux and Java.

    Do NOT help Microsoft kill off Java with their .Net clone, when they are done with that they can concentrate on the single remaining target.

    --

    Being bitter is drinking poison and hoping someone else will die

  34. Why he should be the one exception by Anonymous Coward · · Score: 1, Interesting

    Because Interfaces should not be patentable.

    Patent implementations all you want.. the interface independent parts and those details not specifically arising from an interface.

    There's code and then there's housekeeping. As is.. and we still have a chance to affect the discussion in Europe, you get a patent for square corners in the design of the house.. instead of for what you made the walls from.

    So rather than whining about software patents, lets whine about interfaces being patentable instead of being available for fair use in order to enable commerce and competition.

    That's why his project is among the world's most important software projects and why what he's doing is going to be a bigger test for freedom than anything to date. Its an RMS **2 thing.

    Support it.

  35. Re:What a load of rubbish by gabebear · · Score: 2, Interesting
    Those languages are all pretty open standards that aren't changed often. With a more proprietary API like .NET or DirectX it generally does speak the death of the third-party one. A good example is the nv XFree86 driver vs the Nvidia driver.

    I doubt Microsoft will be releasing .Net for Linux. I'm more worried people adopt Mono/.NET and Microsoft then decides Mono is violating it's Patents(which it probably is).

  36. Re:Miguel is dead! by Frymaster · · Score: 4, Interesting
    I can think of cases where C is the right tool for the job

    but, really, there aren't that many of those. here's a statement you can argue about:

    "usage of c and it's derivatives (c++, objective-c) is more likely create buggy and insecure software. the performance gains from these languages does not make up for this loss of stability"

    seriously. direct memory management is a dangerous thing and isn't necessary for 90% of the software written in c-like languages. if you're writing device drivers or an os or whatever, it's important... but does sendmail really need to be written in c?

    would it be more secure if it wasn't?

  37. Re:Danger! by Anonymous Coward · · Score: 1, Interesting

    Well for a start the MSFT/SCO has not been black and white 100% proven in a court of law so dont try to use it in any context to prove a point. Besides which:

    "So why implement the Microsoft APIs at all? Simple: to make migration from Windows to Linux as easy as possible"

    Show me the quote where Miguel has said that MSFT will definately never ever try to sue / destabilise / be evil over it ? you cant because you have assumed this is his stance since it fits with you anti-MS,SCO,some big company view.

  38. Welcome to irrelevance by Tom · · Score: 2, Interesting

    Miguel's view that 'C is dead!'

    Take a number. I think I've heard this about once every 2-3 years pretty much ever since I learned C.

    As far as I can recall, none of the alternatives proposed ever came even close to replacing it, and none of the vocal C opponents are still around or being listened to.

    --
    Assorted stuff I do sometimes: Lemuria.org
  39. Re:That is where you are mistaken by srn_test · · Score: 3, Interesting

    I think so. They go on to mention that other missing features are things like multiple inheritance, and the ability to reference self in the constructor, and to avoid calling super-classes constructors.

    In the end, though, they come out with something about how "language neutral" .NET is.... They seem to be Windows pukes, though - they refer to .DLLs all the time, rather than the more general "shared libraries".

    There's certainly no way pretty much any Python code I've written (and I've written a lot) would run on .NET, given these limitations.

  40. Two answers - SWT, and VM too good. by SuperKendall · · Score: 2, Interesting

    Here's the thing - first of all, the IBM SWT package does tie into QT (I think- it was one of those two) with some fast native components.

    The other thing is that projects to write open Java VM's have not had much push behind them, because there are already very good VM's around for just about any platform you can think of! IBM and Sun both make one for Linu (Hmm, does IBM still make one for Linux? I forget). Anyway, even if it's just one that one is good enough for just about everyone so there's little drive for people to work on another.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  41. Or... by SuperKendall · · Score: 2, Interesting

    It's because he is a fine coder and realized the harm that operator overloading does in real-world systems.

    I've been on the operator overloading acid trip in C++ thanks - I quit cold turkey.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  42. Re:Overnight by ajagci · · Score: 3, Interesting

    Seriously though, .Net is a nice language with some advancements over Java, but not different enough from Java to make its existence worthwhile.

    Maybe not if your idea of programming is limited to hacking J2EE server-side components and a few flaky GUI apps.

    For the rest of us, C#'s better native interface, value classes, operator overloading, fixed generics, and fixed exception handling alone are worth it as a language alone.

    Add to that that there is a high-quality open source implementation (Mono) and a complete stack of non-proprietary open-source libraries (Gtk#, etc.), and people have really strong reasons for preferring Mono to Java.

    But as it is I see the tremendous duplication of effort across the world to do the same things in Java and C#, and it just makes me sad.

    Well, do you think that Microsoft and the OSS community are spending time on .NET and Mono respectively for the fun of it? Sun forced this duplication: through their proprietary license requirements for Java and through their poor handling of Java's technical evolution. In the end, Java's evolution is primarily driven by what makes money for Sun, and that's why Sun has neglected client-side Java and Java numerics, for example. And the reason why they could get away with that is because they have retained legal control of Java.

    So, if this "duplication of effort" makes you "sad", complain to McNealy and Gosling and Schwartz and all of the other Sun managers: it's their responsibility, it's their greed, and it's their fault that it has come to this.

  43. ActiveState screwed up by ajagci · · Score: 2, Interesting

    Just because ActiveState screwed up doesn't mean that the CLR runtime is bad. In fact, recent work on Python implementations on top of the CLR beats both Jython and even the native C-based implementation.

  44. Re:Why Mono Will Fail by Simon · · Score: 2, Interesting
    There is almost no difference between C#/Mono/.NET and Java, but almost no Linux developers write in Java.

    ...except for the thousands of people developing in-house, business and custom applications in Java and deploying on Linux servers. It is quite possible that the majority of Linux developers are actually developing in Java and as such don't necessarily count themselves in the Linux camp, and certainly don't show up in Linux distributions.

    Now, if you don't mind I've got to get back to work with Tomcat.

    --
    Simon

  45. Why Java is Failing on Linux by jgardn · · Score: 2, Interesting

    I'll tell you why Java does not prosper on Linux: It sucks.

    When you come from a C / Perl / Python background, you quickly notice a few misfeatures of Java:

    (1) It's huge
    (2) The code-compile-test cycle takes too long
    (3) It's hard to use
    (4) Did I mention it is huge?
    (5) It's slow and resource-hungry
    (6) It is difficult to debug

    The only reason Java is around today in any significant proportion is because Sun has convinced several PHBs that Java is good, Perl is bad. That was enough to convince several companies to adopt J2EE and drop mod_perl. In most cases, the companies have regretted the decision.

    Ask the developers. They will tell you that the debug-compile-test cycle has been significantly slowed. They will show you the POs for new servers needed to handle the same load that the mod_perl servers were handling.

    Linux is a breeding ground for good concepts that work. Java is not one of them, hence, it is floundering. Mono will be DOA.

    Before you go ripping me about my opinions on Java, ask yourself: Can you program in Perl or Python? Have you done any significant work in either language? Generally, Java enthusiasts have either learned Java in college as the "one true way", or have converted to Java from Microsoft Visual Studio. I've not found a Java enthusiast yet that has a deep knowledge of perl or python.

    Remember, Perl and Python are there not because they have huge PR campaigns and million dollar budgets. They are there because they survived where others couldn't. They are there because they deserve to be there on their merits alone.

    --
    The radical sect of Islam would either see you dead or "reverted" to Islam.
  46. Embedded OS? by Plammox · · Score: 2, Interesting

    Anyone who has tried programming their own OS on a small, automotive application microcontroller (like the Siemens C167) with memory enough to support a ridiculously low number of threads, appreciates the simplicity and predictability of C.
    C is far from dead in machine level programming.

  47. Re:Miguel is dead! by Anonymous Coward · · Score: 1, Interesting
    Here's a fun one for you:

    How many times is the constructor message displayed, and why?
    #include <iostream>

    class CTest
    {
    public:
    CTest () { std::cout << "In constructor...\n"; }
    };

    int main (int,char*[])
    {
    CTest t1;
    CTest t2();
    CTest *t3 = new CTest;
    CTest *t4 = new CTest();

    return 0;
    }
  48. Microsoft funded? by oniony · · Score: 2, Interesting

    I'm a suspicious kind of chap.

    Ximian create Evolution and sell a connector for plugging into Exchange. What if MS, in a break from funding SCO to go after Linux users, have funded development of Mono, attempt to get as great a dependence upon the platform as they can so that they can then pull the plug, in a lawsuit sense, wiping out a plethora of applications ported to Mono.

    I'm also suspicious because Java has been around for god-knows how long now and I've not seen anywhere near the comotion for using that for Linux apps -- and why not? Sun understand and support the Linux cause more that MS ever will. Gnu even have an open source implementation of the platform. The Java libraries are superior to .NET and a lot more mature. Why not create Linux apps on the Java language and platform?

    --

    Powered by onion juice.

  49. Would Sun back this effort ? by gangz · · Score: 2, Interesting

    Mono seems to be a very interesting way to go ahead, but what is more important is the fine print. Would Sun / IBM back Mono ? Would Sun want to nurture a competitor to its own framework (J2EE) ? And the interesting part is (as long as you donot worry about the proprietory APIs ) is that any .NET (mind you the one without any managed C++) app will run on Windows and Linux. This will work to Microsoft's advantage too - but the best thing for any developer would be the guarantee that his/her code will be cross platform. It would you the GDI calls on Windows and GTK calls on Linux ! Then you dont have to worry about the slow UI of Java.

  50. Re:Miguel is dead! by Gr8Apes · · Score: 3, Interesting

    So that's where all those idiot^H^H^H^H^K inexperienced OO java programmers come from! I was wondering.

    FYI, a bad OO programmer in C++ is most likely going to be a bad OO programmer in Java as well, except the language will most likely prevent them from taking down the entire machine.

    Good OO programming is good OO programming, regardless of the language.

    --
    The cesspool just got a check and balance.
  51. Re:Miguel is dead! by William+Tanksley · · Score: 2, Interesting

    I'd like to point out that there is absolutely nothing wrong with writing "C with Classes."

    Depends what you mean -- the type I'm most familiar with jams all the functions into one class which is then instantiated once, and since the programmer knows that "it's an object" he knows that it must need member data, so he feels free to have all the functions use lots of member data. (Effectively indistinguishable from global variables.)

    I worked with one class that had over 100 methods and 50 member variables. There were hidden in there about 5 completely different interfaces, none of which were simultaneously usable (because they shared member variables); in addition, the 5 interfaces consisted each of about 10 functions (some shared with other interfaces), most of which had to be called in a specific order.

    To add insult to injury, most of the actual data-passing in these functions were not via the member variables; it was via massively long function parameter lists. Many of the functions took pointers to the same data that _had_ to be in a member variable.

    That's what I think of when I hear "C with Classes".

    You can see why I wince.

    Now, I've written a good amount of "strongly typed C" (that's C code compiled with a C++ compiler); it's my preferred way of writing C. I think _that's_ a good thing. But if you're going to use classes, I think you HAVE to know how to write object-oriented code to an object-oriented design; you can't just use the old C procedural skills.

    -Billy

  52. Re:At least one place where C++ is KING by GenSolo · · Score: 2, Interesting

    So when I say that Pixar (or whoever) will switch, I am saying that all new code will be in, say, C# and the existing C/C++/whatever will be replaced at some point.
    My point was that your point that processing ability is rising is irrelevant because processing requirements are rising as well, so "slower" languages won't be able to cope with the needs of major image processing. The libraries developed by Pixar et al will be used to make C++ a higher level language (in much the same way that Java and C# make themselves higher level languages) by making new code use existing libraries. The new code will be higher level than the existing code but use the same language and take advantage of the speed optimizations already made in the libraries. The beauty of C++'s level is that you can get down to the low level if you need to, and you can write high level code the rest of the time. As long as you have libraries, that is.

    That is the same reason you will switch from your beloved C++ ;) to a higher level language in the future.
    I welcome the opportunity to switch to a higher level language if it's easier and equally expressive. C++ is just as expressive (if not moreso) than C, and C is just as expressive (if not moreso) than assembler. Java is not as expressive as C++. C# may be, but I don't really think it is. I haven't researched it as much, but it seems to also force you to do things. I'm not saying that a higher level language won't emerge and take over. I'm just saying that the ones that are developing now may replace each other, but they won't replace C++. Java doesn't write better assembly than C++, or it would be smaller and faster. The same goes for C#. They make the language less expressive in order to make it harder to do dangerous things, but until the cost of upgrading is at most zero, I don't see it happening the way people switched from assembly to C.