Too many problems with Mono compiler

Please pay attention to a very outdated Mono compiler (in this case I mean VB.NET).
Strange unknown bugs, missing features, and so on (Linq, Option Explicit Off, extension methods).

Today I found out that my code to Code Size Challenge has not compiled because of a non-working “option explicit off” (BUT WHY IT WORKS BEFORE ???). Very annoying.

Of course, you can’t fix Mono, but the .NET Framework provides a fully featured console compiler, why not to use it (and yes, I know that you use linux-compilers)? It is in your power to make sure that .NET users were not restricted in modern language features in comparison with others.

Wait… doesn’t Mono usually attempt to implement stuff before it shows up in .Net?

Or… have I just been using the ridiculously bleeding edge development versions of Mono not ready for production use?

“The compiler is mostly feature-complete (compared to Visual Basic 8 (Visual Studio 2005)), with the following exceptions:
The support for Option Explicit Off is not implemented (no plans for this for the moment)”
http://www.mono-project.com/docs/about-mono/languages/visualbasic/#compiler-status

and

“There is currently plans to update the VB compiler in the future”
Comment from mono compiler bugtracker 2015-09-29 (and similar one at 2014)

1 Like

Eh, to be fair, you did specifically state VB.Net in your OP…

But typically with .Net and Mono, the languages used to target them for any kind of official usage is usually C#. So I understand why they’d have VB.Net be less of a priority.

Also, Option Explicit Off is likely not included for the same reason PHP had patched in “RegisterGlobals” to be defaulted to “Off” around PHP4. It is a REALLY bad practice to make use of in a language. Complaining about it not being implemented is like complaining you don’t have a gaping back door into your system or not having BackOriface2k4 installed on your system. You are complaining a possible security leak hasn’t been implemented.

Even then, most other languages for the shortest code challenges tend to also require declaring variables.

(Do not make a snide comment to suggest learning Ruby… do NOT make that snide comment to learn Ruby in an attempt to sabotage people arguing that the CoCs are not unbalanced. It would be ridiculously transparent and obvious and people would dislike me)

To be clear, Code Size Challenge isn’t a reason for this topic. And yes, I use VB as the most obvious example, given that I also see here reports of problems with C#

I think not much mistaken if I say that most of the presented languages have official or at least supporting the necessary standarts linux-version compilers. Mono is not one of them. It’s not official, not supporting features, provides undefined errors and unexpected behavior, outdated compiler.

You are asking to use Database access, APIs and not require to declare variables in your usage of .Net/Mono

I did not address the request of use of Database storage or the asking to use noncore APIs… as I figured the answer should be obvious.

Mono is not one of them. It’s not official, not supporting features, provides undefined errors and unexpected behavior, outdated compiler.

Mono is actually official. Novel has purchased rights for all the patents and what not to implement most of the features available in Mono. If Mono was not official, they’d have been taken down with a ridiculously large amount of legal take down notices.

It is to the point where many of the updates and patches of Mono and the GNOME project are done by Microsoft–ontop of many features and additions to the KDE project being written and produced by (again) Microsoft. As the KDE project’s alpha code is the basis that Windows Vista was based upon.

None of the errors or unexpected behaviour you’ve listed actually are those.

You’ve literally complained about not being able to use a security issue feature–and two features that are not included into the Codingame packaging for good reasons.

I’d suggest you’d realise that
a) You are wrong
b) You need to research more about these notions.

Yes… I just googled LINQ for what it was. As I figured maybe I was wrong, and that wasn’t the databased connectivity portion of .Net/Mono.

Now, stop bitching about stuff you are incorrect about and fix your code.

Microsoft at its core is a computer technology research firm. Most of their work is done in creating and figuring out new ways to handle computer science stuff–and their white papers generally are like… fourth place for their high quality levels. Not the best–but damned they are good.

Software projects like their server platforms, Windows OS, Web Browsers, Microsoft Office, etc. are mostly just avenues for them to make money to invest into software projects to use internally.

The notion of them “eating their own dog food” does not refer to them using the inferior products they sell… so much as some ridiculously experimental shit that most people outside Redmond don’t know about (unless they are total fucking nerds like me).

Mono project may have any patents, rights, etc, but this doesn’t mean that their implementation of .NET is correct, and this is the main idea I’m trying to explain. I speak about compiler errors (vbnc 999999) that occur periodically without any reasons. Many times I’ve seen code which ceased to be compiled after insignificant changes, and vice versa.

If you simply assume that the reason for this is my incompetence, I will no more attempt to dissuade you.

If possible, I would like to see a comments from CodinGame team. If the refusal of use Mono is impossible, it would be easier to just know about it.

I speak about compiler errors (vbnc 999999) that occur periodically without any reasons

Yeah, turns out that error means “too many errors to properly list the errors currently held”. Which does not have much to do with the choice of Mono vs. .Net so much as the environment in which the return what errors your software has cause to appear. In that they can only return a couple errors… and the errors in your code are beyond the limit that Codingame allows.

this doesn’t mean that their implementation of .NET is correct, and this is the main idea I’m trying to explain

Yet… you’ve failled to mention anything concrete about it.

You’ve complained you do not have Database access (which to compare here: PHP doesn’t have MySQL access–and there are people who’d argue that PHP cannot work without MySQL). This lack of database access is by design of how Codingame accesses stuff.

You’ve complained about the inability to access libraries that are not part of the core API. Which is something that all the other languages on Codingame also have for limitation.

You’ve complained that a setting has been turned off–that the setting really only exists in either implementation for debug reasons of .Net and Mono THEMSELVES.

Many times I’ve seen code which ceased to be compiled after insignificant changes, and vice versa.

… maybe those changes were not insignificant?

If you simply assume that the reason for this is my incompetence, I will no more attempt to dissuade you.

I’m assuming nothing. I’ve googled all the issues you’ve had–and found you are ridiculous in your complaints.

This is from somebody who generally doesn’t use Google, as the results look like the Hall of Game in Gen 1 Pokemon after viewing Missingno. Even with all that scrambled weirdness in what shows up. I had some entries on Stallman talking about My Little Pony showing up… which does not reflect anything I look at on the internet. Or stuff involving stock footage of iguanas and voice overs of political humour–which while enjoyable content is not really helpful towards what I was searching for. That was when Google wasn’t giving me several Error 500 pages in the responses. Like the summary of the page was the Error 500 code given–or just a dumped stack of something doing something incorrect in Drupal or Pyramid. Those pages are usually about something like nature photography… seriously… Missingno. + Hall of Fame is what Google has became for me. I blame Google’s use of Thought Bubbles and psychological analysis to give responses that are pretty much kissing the ass of the person searching (different terminals will grant different results)… and the fact I am not able to be psychologically analysed being some form of Eldritch Abomination.

And I agree you are not attempting to dissuade. You seem to be prone to actively persuading people you are incompetent.

If possible, I would like to see a comments from CodinGame team.

Post screen shots of the incorrect behaviour, along with a sample of the source code… and explain what you understand to be the correct behaviour.

That is how you get a response.

Hell, I know I get a response everytime I show incorrect behaviour… but that is usually incorrect human behaviour. #guilty #BlatantlyGuilty #IRegretNothing

If the refusal of use Mono is impossible, it would be easier to just know about it.

The issue is your post just come across sycophantic dislike for Open Source and Free Software.

Like if I were to post some long rant about how I don’t like Sun Microsystem with veiled accusations of them drowning puppies barely hidden in me making complaints about my issues setting up their various software platforms. I mean, yes, I am not a fan of Sun Microsystems–and the blood sacrifices to the dark sadistic lords of the Aethers require to get Solaris to operate are a bit much for my personal liking. Well, I’d not expect to be taken seriously, as clearly I am not worthy of being one of the acolytes of evil terror that Sun Microsystems Sysops are being accused in this paragraph allegory.

If I have any issues with any Sun Microsystems related technologies… I’ll do what I can to double check that the star charts are in proper order, that the appropriate sacrifices have been made (turns out Scott Terriers are not the same as Terriers for puppies, BTW)… and then post a screen shot, my code and what I understand the expected behaviour for this situation stands to be.

My complaints about using Sun Microsystem’s technologies will just be considered whiny, lacking back bone and possible not taking responsibility for using the dalmation puppies for my fur coat, rather than to the continued running of various Sun Microsystem products.

(I’m just going to pretend that last part is me having a sense of humour… so as to not upset the Dark Sadistic Lords of the Aethers that might notice this post that has the opposite of praise for them contained in it)