Linked by Thom Holwerda on Sat 10th Sep 2005 19:26 UTC
Mono Project "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."
Thread beginning with comment 29431
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Boo Programming Language
by segedunum on Sun 11th Sep 2005 00:50 UTC in reply to "Boo Programming Language"
segedunum
Member since:
2005-07-06

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

Which is just C# with additional bits bunged on and some syntactic changes, so it really is C# after all. If you don't believe me, look at this:

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 ;-).

Reply Parent Score: -5

RE[2]: Boo Programming Language
by on Sun 11th Sep 2005 06:08 in reply to "RE: Boo Programming Language"
Member since:

Yeah! What's the point of all these programming languages in general, they all equate down to assembly language anyways, it's completely useless

Reply Parent Score: 3

RE[2]: Boo Programming Language
by on Sun 11th Sep 2005 07:42 in reply to "RE: Boo Programming Language"
Member since:

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.

Reply Parent Score: 5

RE[2]: Boo Programming Language
by Botty on Sun 11th Sep 2005 07:49 in reply to "RE: Boo Programming Language"
Botty Member since:
2005-09-11

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.

Reply Parent Score: 4