Home > Mono > Mono 1.1.9 Released Mono 1.1.9 Released Thom Holwerda 2005-09-10 Mono 72 Comments “We consider Mono 1.1.9 stable enough to recommend it for all users. Those upgrading from the 1.0.x series should note that these notes only contain the differences between 1.1.8 and 1.1.9.” About The Author Thom Holwerda Follow me on Twitter @thomholwerda 72 Comments 2005-09-10 8:25 pm I think someone should ask the question about the legal status of Mono. And to be sure that it is done, it’s the first post. (And will soon fall below the default threshold.) 2005-09-10 8:40 pm There isn’t much to worry about for what’s already been implemented in Mono. MS has warned them not to implement certain libraries, but they have conspicuously NOT complained about what has already been done. In fact, they have even supported some Mono integration into VS. This sends a clear message that the courts listen to. The worst thing that could happen would be an SCO type lawsuit – one that has no chance of winning, but might generate panic in users. That’s unlikely, though, except as a last resort because of all the bad press it would generate. 2005-09-10 8:55 pm ldouglas Here is the way I look at Mono. We need it like we need Samba. Imagine where Linux and other free POSIX OSes would be today without Samba. Mono needs to be there so that developers who come from an MS background can comfortably develop for Linux. However, I also feel that developers who are already comfortable developing in an OSS environment would do best to avoid it like the plague, and use Java, Python, etc. Mono is just too close to MS for comfort, from a legal standpoint. And, yes, I know all about the ECMA standardization and all that. But you can bet that there is a trap set somewhere. 2005-09-10 10:00 pm segedunum http://tirania.org/blog/ Read the part called Background for the Mono Meeting. Apart from the legal uncertainty of Mono (Microsoft can start telling people things whether they may or may not be true), you’ve also got this. Once you tie yourself to a Microsoft technology you’re tying yourself to their mindshare, misinformation and dirty tactics (and possible legal uncertainty). That’s certainly a big part of the reason why Red Hat and other companies don’t want to get involved with Mono (despite the fact they may find parts of it good or interesting). You simply cannot have Linux-using customers subjected to this sort of crap, and companies like Red Hat just cannot afford it. The above is something many people just do not seem to understand. That’s unlikely, though, except as a last resort because of all the bad press it would generate. Bad press for whom? With SCO they were claiming something obviously developed by other people as their own. With Mono it is quite clearly a technology developed from Microsoft’s own technology and ideas. A lawsuit simply wouldn’t be necessary. Enough people would be scared off because of that alone, but since no one of any significance whatsoever is moving applications to non-Windows platforms because of Mono it is a fairly irrelevant point. 2005-09-10 10:22 pm I agree that for Mono, the bad outweighs the good. Mostly because I don’t see a need for it. The real reason behind it is to facillitate porting .NET programs from Windows to Linux, but seeing how slowly .NET is catching on in Windows this doesn’t seem very important. Add to that the (mostly over-hyped, but still legitimate) concerns over using something developed by MS, and there just doesn’t seem to be a good reason to use Mono instead of java. I may have seemed a bit defensive in my first post, because I’m really tired of listening to these flamefests about whether mono is legal or not. But I really don’t think there is a major LEGAL problem with using Mono. Honestly, though, it doesn’t even matter. As long as the perception of a problem exists, Mono will never take off. And I think most people don’t need it anyway. Having a free C# compiler is nice, though, so I do like Mono for that. I don’t think GCC is going to add that language anytime soon. 2005-09-11 1:04 am segedunum The real reason behind it is to facillitate porting .NET programs from Windows to Linux, but seeing how slowly .NET is catching on in Windows this doesn’t seem very important. Well, it’s not just that. The vast majority of systems out there today on Windows are COM based and written with C++ or VB. In order for Mono to be of any use whatsoever in helping people port applications to Linux people are going to have to re-write their systems for .Net, and then, somehow miraculously see a need after all that effort to run those applications under Mono on Linux (which is always going to be behind .Net and not support all the same features they may have used – Indigo etc.). In order for Mono to be a success, .Net has to be a success as well – but first. It’s a horse that just won’t run get out of the starting stalls. Something far more interesting to me would have been an environment and a set of tools to really attract all those disaffected VB/RAD developers out there. I can’t help but feel that is an unbelievably huge missed opportunity, and someone needs to take it and run with it. VB developers represent a lot of the Windows development world, especially a lot of in-house, bespoke development a lot of companies do. 2005-09-11 1:37 am binarycrusader Something far more interesting to me would have been an environment and a set of tools to really attract all those disaffected VB/RAD developers out there. I can’t help but feel that is an unbelievably huge missed opportunity, and someone needs to take it and run with it. VB developers represent a lot of the Windows development world, especially a lot of in-house, bespoke development a lot of companies do. There is such a thing already. It’s called RealBasic for Linux. 2005-09-11 2:12 am ma_d No, I think he means something that will run their VB6 code since Microsoft, basically, told them to rewrite. 2005-09-11 2:40 am binarycrusader RealBasic comes close: http://www.realbasic.com/support/whitepapers/portingvisualbasic/ “You will be pleasantly surprised by how many REALbasic and Visual Basic keywords work identically…” Even though it doesn’t run most VB6 code unmodified, it’s the next best thing and the closest to VB6 in usage that is commercially available and supported. 2005-09-11 7:14 am It is not a simple question. IMHO the big thing in .NET the complex and coherent environment. If you a VB coder you can create your app in VB, if you a C# programmer you can use C#, if python fan you can write python code in .NET. And Object Pascal, RPG, COBOL, Prolog, PHP, etc. And you can call the VB code from C# or Object Pascal, Java, etc. And it is universal: with VB6 or Delphi7 you can create business desktop apllication very effortlessly, but if you want to create web application, web service, etc, it is not a simple question. But with .NET you can create any kind of application with any language with one tool and API. IMHO it is a very strong solution, far better then the many separated win32 based (or linux based) solutions. 2005-09-11 9:53 am Something far more interesting to me would have been an environment and a set of tools to really attract all those disaffected VB/RAD developers out there. I can’t help but feel that is an unbelievably huge missed opportunity, and someone needs to take it and run with it. VB developers represent a lot of the Windows development world, especially a lot of in-house, bespoke development a lot of companies do. You should try Gambas: http://gambas.sourceforge.net 2005-09-11 2:09 am ma_d Isn’t SCO going out of business or something now though? 2005-09-12 4:23 am So fucking predictable from the OSS zealots. Mod a guy down for asking a question not even Miguel de Icaza can answer… http://news.com.com/More+than+an+open-source+curiosity/2008-7344_3-… “The moment we are made aware of an infringement on a valid patent that cannot be worked around and there is no prior art, we will remove the code. So that has been our policy. We will remove any infringing code and as a user of Mono, you will have to work around the removal of the code. So today we don’t have that because we are not aware of any infringements, but that’s the situation.” 2005-09-10 8:27 pm Most of mono technologies are illegal ASP.NET for examples or ADO.NET. 2005-09-10 8:37 pm All of Mono is completely legal. The real question is why we would need Mono because .NET is becoming pretty much obsolete. 2005-09-10 9:19 pm Wrawrat Then what is the future? C? 2005-09-10 9:22 pm orestes COBOL, and I’ll have some of whatever the second poster is smoking. 2005-09-10 9:27 pm ldouglas The future? C/C++ for when speed is at a premium. Java, when it’s not. Python when rapid development is a major factor. C# for developers with a .Net background. A mix of other languages, as well. It’s never been a one language world. Why should that change, now? 2005-09-10 9:59 pm Wrawrat That was sarcasm… If .NET is obsolete, then I would like to hear about the solution(s) that made it old technology. Maybe a breakthrough in Assembly? Now, it’s definitely not the only solution out there, but I tend to prefer claims with more substance. 2005-09-10 9:59 pm You’re showing your ignorance again… 2005-09-10 11:30 pm collinm why we need .net when java do a better job… and java is free and open source 2005-09-10 11:36 pm rm6990 why we need .net when java do a better job… and java is free and open source Can I have some of what you are smoking? Java is not Open Source. It may be free as in free beer, but it is not F/OSS. 2005-09-10 11:49 pm Can I have some of what you are smoking? Java is not Open Source. It may be free as in free beer, but it is not F/OSS. Wrong, gcj + GNU Classpath == F/OSS Java implementation. It just isn’t as advanced as the proprietary solutions yet. 2005-09-11 12:44 am You mean a FOSS implementation of java exists?, just like a FOSS implementation of .NET, You have really shed the light on this for me. Thats fuck#n fantastic 2005-09-10 11:52 pm Truthseeker “Can I have some of what you are smoking? Java is not Open Source.” FreeJava? GNU Classpath already supports over 80% of JDK 1.5 and over 90% JDK 1.4. Plenty of F/OSS VMs to choose from also. http://www.gnu.org/software/classpath/ http://www.gnu.org/software/classpath/stories.html#jvm 2005-09-11 4:38 am kaiwai Excuse me; I can get the source code to Java quite easily; its all available on SUN’s website, licenced under their particular opensource licence. 2005-09-11 11:38 am Have you read the licence? Yes it is opensource, but it isn’t free!!! 2005-09-11 12:29 pm m_abs It isn’t Open Source either. Open Source is more then just access to the source code. 2005-09-10 8:51 pm mono is Legal ? yes excluding Asp.net Window Forms Ado.Net Window Drawing VBasic.Net 2005-09-10 10:24 pm rm6990 mono is Legal ? yes excluding Asp.net Window Forms Ado.Net Window Drawing VBasic.Net Almost all software is illegal as almost all software infringes on patents. Get over it. I think what is more troublesome is the obsession some people on this site display over this issue on every single Mono article. Incase you don’t understand, people are getting sick of hearing it. 2005-09-10 9:14 pm Enough with the mono bashing already. It is so predictable. Everyone in open source knows what mono is about. The C# compiler from mono is quite nice and completely legal. C# with GTK# actually makes for a nice application development framework. And it is all legal and Microsoft free since it is based on a open standardized language. The proprietary Dot Net stuff is another story. 2005-09-19 12:47 pm aesiamun Openly published does not mean free of MS… RAND licensing is completely feasible and MS could very well start charging it for any of it’s patented “standardized” technology. 2005-09-10 10:40 pm hmmmmm. I wonder how well mono would work with reactOS… 2005-09-10 11:33 pm rm6990 I’ve actually never thought of that…..ReactOS could use wine for their win32 compatability and Mono for their .NET compatability. Of course, there is probably something I have overlooked. 2005-09-11 12:56 am aesiamun Yeah, the fact that GTK is ugly. It doesn’t look good in a theming environment unless you’re surrounded by several other GTK apps. GTK on windows is not a good solution. 2005-09-19 12:45 pm aesiamun So instead of debating with me, people just mark me down? Typical. GTK isn’t good on windows and no amount of GTK fandom is going to change that. It doesn’t feel native, it’s pretty damn slow and it doesn’t conform to the MS themeing. It doesn’t do this in a QT environment or an Apple environment either. There’s nothing to argue, it’s just not a good native look and feel tech. .Net offers a native look and feel to windows users. Yes it’s a very large set of libraries, but it offers a look and feel and it behaves as expected… 2005-09-10 10:45 pm I should make a note to never read Mono related comments. You are all going on like little teenagers… 2005-09-10 10:47 pm ckknight For everyone who thinks that Mono/.NET equates to C#, I’d like you to check out the Boo programming language at http://boo.codehaus.org It’s Open Source and very nice, It combines a lot of the nice syntax of Python with the safety and large library of .NET and some of the features of Ruby. Also, if you want, there’s always someone in irc://irc.codehaus.org/#boo who can answer your questions. You can go to an HTML-based IRC client at http://irc.codehaus.org/ 2005-09-11 12:50 am segedunum For everyone who thinks that Mono/.NET equates to C#, I’d like you to check out the Boo programming language at http://boo.codehaus.org/Differences+with+Csharp That’s what all these .Net/Mono languages come down to – “that equals that and this equals this in C#”. That’s just one part of the idiocy I find with .Net and the meaningless hype – language neutrality. All .Net languages when it all boils down to it have to be translated to IL and use the .Net framework and as such, all languages like C#, VB.Net, Boo and Nemerle can be are absolutely identical languages with some syntactic changes and some hyped added features which do not make the language unique in the slightest. Many people are going to squirm like crazy over that, but that’s what languages like Boo and Nemerle boil down to. And before anyone says “Oh, but lots of people are familiar with VB, Python, blah, blah, blah” the fact is that VB.Net is not VB at all, and in porting Python or any other language, at some stage you have to tie that syntax to IL and run it within a CLR. Anybody who’s worked on these things will tell you that all that will be produced is a .Net language, and nothing that you will have been familiar with before. A language is more than just mere syntax. That’s the simple reason why Python and PERL for .Net have died a death and why many VB.Net developers are questioning why they are using VB at all when .Net is clearly designed for C# and they can’t re-use their existing language skills anyway. Because of that, having a choice of languages is totally pointless because in order to co-exist totally within the same environment (.Net framework, the CLR and IL) they have lost any reason for any programmer to use a different language – the fact that they are different! Look at Visual C++ and classic Visual Basic. They were both very different and used for different purposes, and they could certainly co-exist to a certain point, but each had a clearly defined use. Not so with any .Net language. The only differences people come up with are “this syntax is equal to this in C#” and “we’ve effectively bunged all of this into a macro so you can magically appear to write x% less code(tm) but it still doesn’t make the language unique in the slightest”. The acid test is “can you port all of those features to C# tomorrow with no effort?”. The answer, is of course, yes. If that’s all there is then there simply aren’t any different langauges at all in the .Net world. Cue the usual .Net fanboy squirming ;-). 2005-09-11 6:08 am Yeah! What’s the point of all these programming languages in general, they all equate down to assembly language anyways, it’s completely useless 2005-09-11 7:42 am Where does all this hatred come from? Such angry spite for something you’ve obviously never really tried. Boo is a phenomenal language. Dont knock the shit you’ve never tried. You’re obviously adverse to dotnet, I’d wager to say you dont use it much or the various languages built on dotnet. The only thing that makes me squirm is such degrading and negative comments from people who obviously havent investigated whats been done with dotnet. This *really* bugs the shit out of me. The page you linked is to show the syntaxical differents between C# and Boo. If you’re looking for information on type inferencing, closures, runtime inferencing, splicing and the horde of other features Boo supports that neither C# nor Java support, you’ll have to look at more than a page listing syntax differences. Thats really a pretty fuck-headed move buddy; pick out a page listning syntax differences as your case example and then slam the language for offering nothing more. -1, a big honking -1. I pray its only more ignorance and not deliberately harbored spite. http://boo.codehaus.org/Language+Features should serve you much better. Your arguments do not hold water. A common runtime is an advantage. Having to build to a common virtual machine is no more problematic than needing to build to a common hardware machine. Its simply an architecture, both can be abstracted for any number of purposes. The VM allows for common optimization across a number of languages (by improving the runtime engine), new hardware platforms can be added by updating the runtime engine alone (whoo ARM!) and most importantly the VM allows code interoperability. True, for the most part we’ve seen IL used around the Common Type System to build a very prototypical object oriented structure, but the virtual machine is capable of far more. Boo is beginning to flex some of that power, and it and other langauges will continue to show off more impressive and divergent capabilities as time goes on. Dotnet is still in its infacy. Its only now that Mono is starting to really shape up that the OSS world has tools to go out and build new things like boo, things unlike whats out there already. Like boo has innovated with typing, Cw is beginning to play with concurrency and data access in new ways. Its a platform for play. Frankly, I fail to see this same sort of innovation happening anywhere else. Because building a complete self sufficient language is hard, because a language needs a platform to support it. Never has language building been so easy, so accessible to everyone, so integrable, so compliant. The big thing that irks me is how every other language except the dotnet languages all require their own libraries. They do not interoperate. Until Parrot gets released and we have a new virtual machine to try out, dotnet will remain my favorite platform (thanks to Boo). Listen to Guido’s talk on Python on Itconversations, he spends a good amount of time talking about how one of the most important factors to language adoption is having a large and well built standard library. Build almost any langauge on dotnet and you have the potential to access a pretty-damned-good library. Boo: Never have I seen such a clean concise langauge. Code just works, boo is so clean I dont have any more syntax errors, I know exactly whats going to happen at runtime. All code is elegant and functional. C# was a bit of a mess, very bloated coding, but Boo just flows like water. 2005-09-11 12:50 pm segedunum Boo is a phenomenal language. Dont knock the shit you’ve never tried. Feel free to convince yourself that Boo is a phenomenal, innovative and cutting edge(tm) language. I’ve described why it, and other .Net languages, aren’t. Besides, my argument wasn’t with Boo per se but with .Net language neutrality and the total rubbish people come out with about it. What makes you think I’ve never tried it anyway? This *really* bugs the shit out of me. That’s not really my problem, is it? Maybe it bugs you because you can’t see a way out of it? The page you linked is to show the syntaxical differents between C# and Boo. Yer. And? If you’re looking for information on type inferencing, closures, runtime inferencing, splicing and the horde of other features Boo supports that neither C# nor Java support, you’ll have to look at more than a page listing syntax differences. Oh dear. Boo is a .Net/Mono language, right? It compiles to IL, right? The acid test, as I described, as to whether a language actually provides some unique features (stuff that will actually be useful to programmers) is whether you cannot add the same features to C# (or another .Net language) as there is with Boo in no time. You obviously can, and what you’ve linked to there are a bunch of features which are essentially packed up macros that give you the appearance of writing less code(tm) and type inferencing done in a different but-not-very-interesting way. What is described in there are not features, but simply ways of appearing to write less code vs C#. That does not mean that C# cannot do that though. Certainly in the real world, the differences are just not worth talking about because whichever way you cut it, when you cut to the chase they are all syntactic differences. Why do you think VB developers are questioning VB.Net and their future these days? You never know. Microsoft will probably lift some of those ideas that might prove to be useful and bung them in the next version of C#. So tell me – what will Boo provide for people then? You’re all deluding yourselves because with .Net, IL the CLR and CLS you’re all working on the same language anyway! Your arguments do not hold water. A common runtime is an advantage. Yawn. Why are you going off on one about the incredibly wonderful virtues of the CLR (like we haven’t heard enough) when that’s not really what I’m talking about? Wait, don’t bother, I know why. The VM allows for common optimization across a number of languages Different languages which I’ve described to be pointless, because once targetted to the CLR and compiled to IL different languages cease to be different or useful! Having to build to a common virtual machine is no more problematic than needing to build to a common hardware machine….. Running a machine within a machine. Wow. Now that seems such a sensible and totally innovative idea. I’ve no doubt it is useful in some cases, but people seem to have this strange idea that it equates to the inventing of the wheel and is a panacea. Never has language building been so easy, so accessible to everyone, so integrable, so compliant. Err, I’ve just described to you why having different languages targetted to .Net, IL and the CLR are essentially pointless. Why? Because in then end they all compile to the same thing! You can cut it any way you like and convince yourself that .Net is the greatest thing since sliced bread, but quite frankly, it just isn’t terribly interesting in the slightest from a language (read non-C# or especially OO) point of view. They are all just variations on a theme I’m afraid, whatever way you choose to cut it. All they’re doing is giving Microsoft ideas to lift and put in their next version – if they’re actually of any use – making their own language even more pointless than it already is. The big thing that irks me is how every other language except the dotnet languages all require their own libraries. My God, you really are a total twit. Heaven forbid that anyone should even think about not using the .Net framework and libraries and using their own tried and trusted methods (which actually provide people with a different programming language and environment for a particular task)!! Consider that a minus one from me then. 2005-09-11 1:19 pm “Err, I’ve just described to you why having different languages targetted to .Net, IL and the CLR are essentially pointless. Why? Because in then end they all compile to the same thing!” As with C, C++, Pascal, Basic, ObjC, Scheme and .. They all compile down to machine instructions, so they are completely useless… So the real language is assembler. O and IL compiles down to machine instructions. 2005-09-11 1:41 pm segedunum As with C, C++, Pascal, Basic, ObjC, Scheme and .. They all compile down to machine instructions, so they are completely useless… So the real language is assembler. Yer, and none of those languages claim 100% compatibility with each other in any way shape or form, therefore they are different, therefore they are useful for doing different things. Not so with .Net languages. You have to conform to the CLS and run within the CLR for it to be of any use whatsoever (if not, what’s the point of running in a VM or having any sort of environment?). What you’ve got with .Net, and when you try to port a language to .Net, is a square peg in a square hole mentality. If your language is just a little bit rectangular (which might actually make your language useful) then it simply won’t fit in. Conform to the .Net environment and you lose any of that originality. That’s been the consistent point here. O and IL compiles down to machine instructions. Yer, in a straight jacket. It’s the same IL code and the same machine instructions coming down. Give me a break. 2005-09-11 4:56 pm doug Um segedunum, just about every programming language has already been, or is in the process of being ported to .NET/Mono. From Python (IronPython), Pascal, Lisp, C++, PHP, all sorts of languages that you see in non-VM environments as well. Most of these (especially IronPython and PHP), are hardly doing any bending whatsoever to conform to the .NET runtime. So, uh, that kind of refutes everything you’ve been saying I guess is what I’m saying. You don’t even seem to understand the advantage of using programming languages over keying in ones and zeros. Of course this is all assuming you’re not just intentionally being an ignorant troll. Bad assumption? 2005-09-11 5:35 pm segedunum Um segedunum, just about every programming language has already been, or is in the process of being ported to .NET/Mono. Wow, really because I don’t see them, nor do I see anyone making any real use of them whatsoever? At best, outside of VB.Net and C#, .Net language porting projects are just that – .Net language porting projects. Anyway, can you go away and read what I’ve been arguing about please before making silly comments? From Python (IronPython), Pascal, Lisp, C++, PHP, all sorts of languages that you see in non-VM environments as well. The essence of the argument is that once ported to .Net these languages cease to be the languages they were meant to be and cease to give the diversity that actually made them useful, and thus, are useful for just about nothing after that. We’ve got thirty languages ported to .Net that all do the same thing! Yay! Good for you. And just how is that going to help interoperability when these languages and the languages that are ported to .Net end up being different, incompatible and use totally different frameworks and libraries? I certainly don’t see Python developers flocking to .Net through Iron Python or Pascal or COBOL developers porting lots of existing code to .Net through those language ports. So, uh, that kind of refutes everything you’ve been saying I guess is what I’m saying. Err, no sorry. You’re going to have to go back, read, find out what the whole thing has been about and then try harder. You don’t even seem to understand the advantage of using programming languages over keying in ones and zeros. Err, that’s got nothing to do with what this has been about. Read, rinse and repeat. Of course this is all assuming you’re not just intentionally being an ignorant troll. Bad assumption? No, it’s just you have no clue at all what I’ve been arguing about nor have you read back first before creating this absolutely non-sensical reply. You’ve just thought “Oh, he’s attacking .Net! This cannot stand! .Net is the greatest invention since the wheel!”, without actually understanding what’s been argued. That’s called being a troll in case you don’t know ;-). 2005-09-11 8:03 pm Well, actually IronPython is pretty good example that all .NET languages aren’t just the same methods with different syntax. The author of IronPython was making the same sort of argumentation that you do now, when he was going to write an article about how stuff like dynamic typing couldn’t be done in the CLR, until he found out that actually wasn’t the case. That’s when he started coding IronPython. 2005-09-11 7:49 am Botty You are just showing your ignorance. Just because all languages are compiled down to a base thing does not make them the same. For many boo programs I would be challenged to write an equivalent in C#. For instance, a single generator (1 line of boo code) splays out to about 30 lines of C#. And yes, syntax is what it is all about. It’s what any high level language is about in fact. Languages compiled to ASM are basically syntax candy in the extreme. Languages may have different variable handling schemes, but most of the procedural languages boil down to basically the same stuff. The thing is, the ASM system is so low level it is architecture specific and doesn’t allow easy interoperation between languages. Enter CIL. High level stuff that leaves the implementation of lowish level stuff like variable management up to the computer it runs on, and allows seemless operation between languages that utilize it. “The answer, is of course, yes. If that’s all there is then there simply aren’t any different langauges at all in the .Net world. Cue the usual .Net fanboy squirming ;-).” To a certain extent this is true. And I’m not squirming at all . All the languages run on the same class and variable system. This is excelent because you can write an assembly in say, Boo, if it has your favorite syntax, and someone else can access it in C#, because they prefer its syntax or haven’t seen boo yet. However, the language’s look and feel totally different and have syntactical features that make a programmer’s job easier. You are correct there is nothing now that discerns languages capability wise. They are all equally good and capable of any task you throw at it. And language differences are not always as superficial as seems. As far as I can see, technically VB.net is actually more capable than C#. Like boo, VB supports late binding which is an insanely handy feature that allows easy plugin systems, where you just give it a dll and it can access classes in it very easily. This is also very handy for scripting systems where scripts are actually compiled to binaries and accessed at runtime. There’s no reason to speak different languages when you are in different moods, there’s no reason to use different programming languages for different tasks. 2005-09-11 1:33 pm segedunum You are just showing your ignorance. Well, you’re showing quite a bit of blind faith. Just because all languages are compiled down to a base thing does not make them the same. Wow, really Sherlock? For many boo programs I would be challenged to write an equivalent in C#. For instance, a single generator (1 line of boo code) splays out to about 30 lines of C#. Hmmm, let me see. That would be through the use of behind the scenes macros and libraries giving you the appearance of writing less code but generated the same compiled code like I described in my earlier post? Wow, like no one has ever done that with a language before. You might want to generate some IL from those programs and see whether they really are different ;-). My God, the LOC (that would be Lines of Code) fanboys are out in force I see. Bloody hell. Write x% less code(tm) with this shiny new technology(tm). Err, no. I’m afraid the world just doesn’t work like that. People have been trying it for years. At then end of the day a different language has to provide something tangibly different. That might mean some incompatibility, but hey, that’s why you’re using something different in the first place! Boo, if it has your favorite syntax, and someone else can access it in C#, because they prefer its syntax or haven’t seen boo yet. Language decisions based on choice of syntax? Ho, hum. Certainly in the case of VB.Net, many developers would take issue with you there. It does make .Net sound good though, I’ll grant you that :-). Unless either Boo or VB.Net (or JScript et al) provides something fundamentally different for programmers it is a totally mute point. Many VB developers today are questioning their usage of VB.Net, because the advantages and specific tasks they could perform with classic VB have all evaporated. As far as I can see, technically VB.net is actually more capable than C#. Wow, really? Like boo, VB supports late binding which is an insanely handy feature that allows easy plugin systems C# actually does support late binding, and it’s quite easy to do, but in many cases it just isn’t necessary. .Net is simply an environment set up to be statically typed. An easy method is to still early bind (after all, you still need to know what’s in a DLL or an assembly either way to use it) but control through code when things are instantiated and whether they are available. As such, you still get the advantages of early binding and type safety where you need it (which has been the main point of .Net all along). VB.Net might let you get away with a tiny little bit more syntactically, but quite frankly, who cares? They’re artificial compiler differences and both languages get compiled to the same thing anyway. There’s no tangible difference coming out the other end. Most answers you get on this topic are people (the usual MVP suspects) on forums and mailing lists desperately trying to tell you there’s a use for JScript or even VB.Net. There isn’t. Anybody who thinks you need a different language simply for that needs their head tested. There’s no reason to speak different languages when you are in different moods, there’s no reason to use different programming languages for different tasks. Well, certainly in the case of .Net I couldn’t agree more with you there. 2005-09-11 1:44 pm Oh no, the Codehaus (laugh) monkeys are back and they’re angry!! Boo is a pointless pile of steaming opensores shit. When are you people (yes i’m talking about Codehaus degenerates) going to understand that you’re the laughing stock of any serious developer ? What kind of name is Boo anyway ? I’d suggest you cut down on your delusions of grandeur and do something useful but retarded pimple-popping sociopaths are not known to listen are they ? 2005-09-11 3:08 pm segedunum C# actually does support late binding, and it’s quite easy to do, but in many cases it just isn’t necessary. I knew I’d forgotten something. Should you have a limited need for more fine-grained late binding (plugins, P2P protocols, discovering interfaces on-the-fly) then you can do that through reflection. You should have a fairly limited need for it though because at some level of your code you still have to make some assumptions about what interfaces exist, what supports what and in what version, and then write some code for it. Everyone early binds at some stage, whether they know it or not – that would be compatibility. All .Net languages do this in the same way using the same reflection namespace classes. Fancy that ;-). Why did I go off on one about this? Because the language neutrality of .Net is obviously total crap kept up with total hot air. Do I have anything against Boo personally? No, and that’s never what it was about. 2005-09-11 12:03 am AdamW So if patents affect .NET, how come no-one ever mentions Java patents? http://www.theregister.co.uk/2004/10/04/kodak_wins_java/ http://arstechnica.com/news.ars/post/20041007-4284.html If Sun were infringing Kodak’s patents when they implemented Java, presumably anyone else who implements it is, too…and Kodak, unlike Microsoft, sued someone already. Did anyone license Kodak’s patents for free Java yet? 2005-09-11 12:25 am So if patents affect .NET, how come no-one ever mentions Java patents? Because some people are rabidly anti-MS and will do anything to stop the spread of .NET. So they spread FUD, and the situation isn’t helped by some of the comments MS execs have made about FOSS in the past, even if they haven’t ever sued anyone. 2005-09-11 12:08 am AdamW “Please do not use this feature to vote down comments that you merely disagree with, or even ones that contain factual errors or misinformation. Rather, use the reply feature and enlighten us all with your opinion or correct facts.” Can you, in fact, read? 2005-09-11 12:12 am ckknight That is a big problem with the current moderation system. Just try not to let them get to you. 2005-09-11 8:10 am How about some 3rd party OUTSIDE of MONO implement WinForms etc and then have NO NAME on it but just keep releasing it, what can MS do, NOTHING, they cant chase who they dont know 2005-09-11 8:40 am ValiantSoul Sure they can, the 3rd party would need a server to spread their work and Microsoft can find out who owns the server. If it is a free server, Microsoft can have it removed and once thats done the creator must find another server in which no one would no to look at. 2005-09-11 8:39 am Every news item that mention Mono we have this dicussion. I don’t know why I bother … it will never change I guess. Is there some new cool stuff in this release? 2005-09-11 9:19 am No they dont, ever heard of P2P? Bit Torrent etc. Let the rest do the spreading, who do they chase? ghosts. 2005-09-11 9:19 am Its ACTUALLY LEGAL to REVERSE ENGINEER in Europe. MS can do SHITE. 2005-09-11 9:20 am It cant be copyright infringement as its just REVERSE ENGINEERED to APPEAR the same on the APIs and forms, the code is NOT the SAME IMPLEMENTATION. Oh great, Miss Marple is on TV now. 2005-09-11 10:00 am For those wondering about Winforms status: http://svn.myrealbox.com/blog/images/themenice.png I don’t understand why poeple don’t read the linked page on the article before posting. 2005-09-11 4:47 pm I’ve see a lot of language – related posts here. At least to me an easy accessible/extensible FCL is much more important. And when you look around you’ll see a lot of good OSS Frameworks. So for me the best Framework for my most used client OS wins (MS.NET at the moment). Apropos OSS FrameworksAt the moment i’m looking to: http://www.castleproject.org/index.php/Main_Page (btw. one of it view engines uses Boo) Looks promising to me but i’ll stop now because i’m fanboying Good Code 2005-09-11 5:38 pm segedunum I’d also like to thank everyone for modding down my comments whilst not coming up with any sort of reply or response (I’m used to it) It confirms what I already knew anyway ;-). 2005-09-11 7:25 pm segedunum It is extremely funny to observe how the voting happens around here. I just wonder when all this is going to use up all the votes in the multiple OSNews accounts this very sad person, or these very sad people, have so very sadly created for themselves simply for the purposes of moding people down, or moding their own comments up on the account they usually use (which probably has no votes in it whatsoever!) :-). Should I play along? No, I can’t be bothered because I’m simply not that sad and I’ve already won a very weak argument anyway. It is very funny though. I won’t look at comments on OSNews in quite the same way again. *ROTFL* 2005-09-12 3:10 am ple_mono @segedunum I’ve always been interested in this .net hype, and I actually think it’s shaping up pretty good. I didn’t know about Boo until reading this thread though, but i must admit after reading up on it, it looks awsome. It peels away much of what i don’t feel at home with in C#… But I seriously want to know what you dislike about .net/mono? Is it the vast array of copycat languages spawning out of this, or is it the runtime/IL solution itself? What is your favourite/preferred language/solution? If .NET can serve a purpose, in what situations should it be used? This is NOT intended as troll, or flamembait for that matter, but because i honestly want to understand why you reason as you do… 2005-09-12 10:34 pm segedunum But I seriously want to know what you dislike about .net/mono? Is it the vast array of copycat languages spawning out of this, or is it the runtime/IL solution itself? A little bit of both, but mostly it is hype just for the sake of hype. The way that .Net is done Microsoft wanted to have a language neutral environment, rather like VB and C++ with COM, except going the extra mile to map one on to the other. What they’ve either knowingly or unknowingly done is taken away the usefulness of many languages by forcing them to comply with the CLS and run within the CLR. In essence, they all become the same language, and any differences are simply not interesting. That’s why a lot of that hype has died down (ActivePERL/Python?), and the only two languages you see get used are VB.Net and C#. As time wears on you might see that whittled down to just one. I also do not get this “running everything in a CLR is great” mentality. I can certainly see the value of virtual machines in cross-platform scenarios and providing a nice controlled environment for server software (JVMs, security etc) but I do not believe it to be a panacea as Microsoft wants you to believe. “Stop buffer overruns by running in a CLR!” are statements which shows just how immature Microsoft is with regards to security. All that happens is the security vulnerabilities move to your new environment, so all you’re doing is running a virtual machine within a machine for no reason whatsoever. The only way to stop this is to restrict the programming power you have available in that new development environment, rendering it not very useful for many jobs. However, every (certainly desktop) .Net application I have seen or developed runs much, much slower than its native counterpart and it does not look, feel are act any better than an application written with another programming tool. It is not necessarily quicker to develop for either. Having used .Net as a development tool every day for several months, and being amongst a group of people who think it’s changing the world, I can quite categrorically say that people are stirring around looking for something great with .Net, but they just cannot realise that it isn’t there. What is your favourite/preferred language/solution? The right one, and as programmers hopefully we will be diverse enough because that boosts creativity. Java has good development tools and has a wide variety of open source infrastructure available. I’ve seen Zope and Python do great jobs as content delivery backbones for universities. Ruby is a language that promises much for rapid development, and as for the desktop, the best development tool I have seen for serious systems there is Qt. That’s simply because of the way it hangs together, they way they’ve though about certain problems and come up with signals and slots (which has no equal anywhere) and the way they’ve thought about how their libraries look and programmers’ usability. They don’t simply make object-oriented wrappers, namespaces and classes – which is basically what the .Net framework is around Win32 now. I once went on a .Net training course where a tutor drew a small rectangle on the board and told us that was the size of the .Net framework now. He then proceeded to draw an even larger rectangle around that one (several times the size) and told us that was how far Microsoft still wanted to go in coverage. I think that tells you all you need to know about how interesting .Net is. 2005-09-13 2:04 pm The right one, and as programmers hopefully we will be diverse enough because that boosts creativity I don’t know why boosts creativity the many small, redundant and primitive class library and tool. They don’t simply make object-oriented wrappers, namespaces and classes – which is basically what the .Net framework is around Win32 now. LOL. And mono is basically an object-oriented wrapper around the linux ? And what about java, python, php (this things also available under win32). 2005-09-12 2:06 am I’m glad you can admit you are a worthless ignorant troll segedunum. You seem to think languages exist solely so their creators can create different standard libraries. I dont get this hating. PLURRRRRR….. 2005-09-12 11:59 am You microsoft fanboy’s running on linux, question: How do you justify Mono with technology that doesn’t actually support any other browser then IE? I’m working on a project that is coming up with a consistant stream of Asp.Net code that doesn’t work in mozilla/foxfire? Are you going to “Extend” Asp.Net to actually work on other browsers? What’s the progress, if any? – Regular Expression client side support – Response.write( writing a form ) doesn’t work These two of the top of my head. 2005-09-13 5:26 am miguel Someone asked about ASP.NET, Mono’s version of RegularExpression validators work on IE, Mozilla and Safari and fall back to server-side validation if the browser is not supported. See the Mono 1.1.9 release notes for details. your second comment: I do not understand what you mean, so its hard comment on it 2005-09-16 3:55 pm Zan Lynx Those of you who argue against using Mono or .NET because of the virtual machine, just think about it in a different way. It’s a encoded form of source code that gets compiled to machine code for you automatically. It gives the closed-source world the same portability features the open-source world has had. If the world ever does break out of the x86 instruction set monopoly, the CLR (or JVM) is the only thing that will prevent closed-source programs from needing one version per processor type.