theodor.moroianu's blog

By theodor.moroianu, history, 5 years ago, In English

The list of IDEs available for the IOI contest has been online for a while now Link.

Sadly, as geniucos pointed out in his blog, Code::Blocks — the only full IDE made for C++ (autocomplete, debug, run and a GUI ok out-of-the-box) is really unstable on Ubuntu, and the IOI tech team offers no support for it.

The only other full IDE compatible with C++ seems to be Eclise, written in and for Java, but a nice C++ IDE, after the necessary add-in are installed (the CDT add-in — C++ Development Tools).

Note that the official webpage clearly states 'Eclipse 4.11 (+ JDT & CDT 9.8)'.

I downloaded the VM for testing the OS we will use, and either I don't know how to activate CDT for Eclipse, either it was not installed, as I was unable to create any C++ project:

This is a screen shoot of the virtual machine with Eclipse offering no option to create a C++ project. I searched in the settings for "C++" keyword but found nothing.

Below a picture of my version of Eclipse with CDT installed:

Is there a secret option I don't know about, is the VM not up-to-date or is the IDEs list just wrong?

For any IOI current/former participant, what IDE do you recommend the most and why?

Tags ioi, c++, ide
  • Vote: I like it
  • +24
  • Vote: I do not like it

| Write comment?
»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by theodor.moroianu (previous revision, new revision, compare).

»
5 years ago, # |
  Vote: I like it +44 Vote: I do not like it

Geany. Or if you are hardcore use vim.

  • »
    »
    5 years ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    I also used Geany on IOIs. It's simple and doesn't have good code completion or other cool features, but it works well. But it's not a good option for you if you use a debugger.

»
5 years ago, # |
  Vote: I like it +16 Vote: I do not like it

To generally answer your last question, I came to see that CLion is pretty similar and much more stable than CB (I really recommend it). But IOI doesn't want to install it (as it's not a free software — not as if sublime was considered free last time I checked or as if they couldn't convince JetBrains to sponsor them but whatever, they clearly don't care).

  • »
    »
    5 years ago, # ^ |
      Vote: I like it +10 Vote: I do not like it

    Eclipse with C++ tools looks and with some tweaks can be made to mimic codeblocks, but not if they don't install the CDT — which is currently not installed in the VM they gave us

  • »
    »
    5 years ago, # ^ |
      Vote: I like it +9 Vote: I do not like it

    CLion is trialware and Sublime Text is winrarware. Maybe that's the difference, although I don't get it either.

    • »
      »
      »
      5 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      But as CLion offers a 30-day trial, isn't it somehow "free to use" for 30 days (although it is not a free software)?

      PS: I don't know anything about the licencing of software so I may have said a really dumb thing

      • »
        »
        »
        »
        5 years ago, # ^ |
          Vote: I like it +8 Vote: I do not like it

        Nnnot exactly.

        The license is a legal agreement, meaning it can contain as much casework as you want and if someone has a problem with someone else interprets it, it can go to court, where lawyers will bicker about the listed cases and probably add more sub-cases.

        I don't have the text of this specific license, so I can't tell you, but it usually includes provisions about permitted use (you can't sell it for 30 days, for example). Use for educational purposes is often permitted, but it's unclear if it would apply to IOI or if a judge would interpret it as such if JetBrains took exception to its use in IOI. So there's some justification for avoiding programs licensed like this, although it's not very good justification — I don't see why IOI couldn't contact JB and work something out.

»
5 years ago, # |
Rev. 2   Vote: I like it +8 Vote: I do not like it

Hey theodor.moroianu!

I have tested it a bit on my own with IOI 2019 official image, and I indeed couldn't find any reference of CDT in Installed Software in Eclipse:

Image

After digging around a bit, you can install it through Eclipse by pointing it to the CDT location at https://download.eclipse.org/tools/cdt/releases/9.7/ and installing everything. Which makes options like the ones you pointed appear (although not all of them). We can also see that a lot of C++ becomes installed:

Image

However, I've never worked with CDT so can you please confirm that after doing so everything works as you'd expect? In any case, it looks like it's indeed missing.

UPD: Actually I may have a guess. The Eclipse installed is 2019-03, for which version 9.7 of CDT is applicable. If I try to install CDT 9.8 (which is meant for Eclipse 2019-06) on 2019-03, like they promise on Environment page, then I get some compatibility errors, so maybe some automatic scripts fail to install it completely. Please confirm that installing 9.7 manually gives the expected result and I'll write HTC an e-mail with some technical details of this.

P.S. To answer your question, I used kate + debugging output at IOI. Although I wouldn't say I recommend it over nicer debugging tools. :)

  • »
    »
    5 years ago, # ^ |
      Vote: I like it +10 Vote: I do not like it

    After installing the first package i saw when searching for 'CDT' on the 'Eclipse Marketplace' it works just as I expected to :)

    I didn't know eclipse had such a tool (and the only version I was able to install was 9.7 so you're probably right about a script error).

    As we won't have an internet connection, we won't be able to install it ourselves, so if you could talk / press the matter with someone of the tech team it would be really great!

    • »
      »
      »
      5 years ago, # ^ |
        Vote: I like it +18 Vote: I do not like it

      I made HTC aware of this and they promised to look into this shortly. I'll update once I know more information.

»
5 years ago, # |
  Vote: I like it +10 Vote: I do not like it
Question: Why don’t we have Visual Studio Code at IOI?

Answer: Due to Microsoft licenses that apply to Visual Studio Code product, we won’t be able to support it. We have been considering an open source alternative - VSCodium, but then extensions from Visual Studio Marketplace will not be available for a similar reason.

Could you please, explain these troubles with license? Isn't VSC free to use?

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    IDK about the exact reason, but here is my assumption:

    From the license:

    5. SCOPE OF LICENSE. This license applies to the Visual Studio Code product. Source code for Visual Studio Code is available at https://github.com/Microsoft/vscode under the MIT license agreement... You may not

    • ...

    • share, publish, rent or lease the software, or provide the software as a stand-alone offering for others to use.

    Note that the compiled binaries have their own license agreement, they are not licensed under MIT license as the sources do.

    • »
      »
      »
      5 years ago, # ^ |
        Vote: I like it +8 Vote: I do not like it

      What’s stopping them from just compiling the source and then using those binaries?

      • »
        »
        »
        »
        5 years ago, # ^ |
          Vote: I like it +18 Vote: I do not like it

        Isn't this the same as using VSCodium then?

        • »
          »
          »
          »
          »
          5 years ago, # ^ |
            Vote: I like it +10 Vote: I do not like it

          Oh, right

        • »
          »
          »
          »
          »
          5 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Then will VSCodium be available?

          • »
            »
            »
            »
            »
            »
            5 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            The Environments page could still imply that it’s being considered by HTC, but at this point I wouldn’t rely on or expect its inclusion.