exercism / generic-track

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Request for Standard COBOL track

KTSnowy opened this issue · comments

What programming language should we add?
Standard COBOL

What is the official website for the language?
It doesn't have an official website.

Is this a language that comes in many variants? If so, which variant should we support?
COBOL has many variants and dialects, some are really outdated and/or not compatible with each other.
This track would follow the newest COBOL standard, without any third-party extensions or modifications, teaching the full standard COBOL language without depending on any vendors or specific compilers.

Does the language have an official logo? If so
COBOL itself doesn't have any official logos.

Does the language have an unofficial logo? If so
Many compilers have their own logos, but COBOL itself doesn't have any.
A suitable logo for COBOL on Exercism would be like the C and C++ logos, just the name in the middle.

Is there a testing framework available for the language?
https://github.com/neopragma/cobol-unit-test/wiki
https://sites.google.com/site/cobolunit/

Is this language listed as 'supported' by Highlightjs?
No, but we can create a Highlightjs package to support it if the track is accepted into Exercism.

  • what file extensions should be highlighted?
  • .cob .cbl .cpy

If it is not supported by Highlightjs, what is the closest supported language it maps to?
There's no other language close to it.

Who will be leading the effort to launch the track?
@KTSnowy and @otterkit @KTCOBOL contributors
Both of these are projects that we're working on.
KT/COBOL is a new Standard COBOL compiler project.

As a follow-up, this would be a request for modern standard COBOL. Alongside having differences in dialect, many COBOL compilers have not yet fully integrated features added in the 2002 and 2014 standards, such as object-oriented patterns and user-defined functions. Additionally, the standard is set to be updated by the Iso sometime in the next few years and is currently in the drafting phase.

This is exciting, and we should definitely do this. I can bootstrap the repository for you shortly.

Would it make sense to call the track standard-cobol / Standard COBOL? Or is kt-cobol / KT/COBOL better? Or something else?

Would it make sense to call the track standard-cobol / Standard COBOL? Or is kt-cobol / KT/COBOL better? Or something else?

It would be better to call it "COBOL" since this track would follow the language's standard. Most COBOL variants have their own names as well, like IBM's Enterprise COBOL and Micro Focus's Visual COBOL.

Calling it just "COBOL" would allow us to say that we're teaching the language itself instead of a third party version of it

But if it's not possible to use "COBOL" for the track name then "Standard COBOL" would be the best option.

Thanks for wanting to build this 🙂

How does this fit with the gnucobol track that's under development? Is this the same thing? Does this request for a new track superseed the issue you opened at exercism/gnucobol#9?

How does this fit with the gnucobol track that's under development? Is this the same thing?

As far as I know it is not the same thing, the gnuCOBOL track seems to be using the gnuCOBOL compiler to teach COBOL. That could be confusing for someone learning the language because gnuCOBOL is not a language, It's a compiler that understands various dialects and standards of COBOL.

It also has features and extensions that don't exactly follow the standard.

Does this request for a new track superseed the issue you opened at exercism/gnucobol#9?

It does, I opened the issue in the hopes that the gnuCOBOL track could be renamed to just "COBOL", but maybe it would be a better option to create a track for Standard COBOL.

Hey @kytrinyx, is cobol available for the track name?

@KTSnowy Yepp, cobol is available.

As far as I can tell there's only one exercise in the gnucobol repository so far.

Would it make sense to combine the efforts and just have one COBOL track? (What do you think, @axtens?)

That sounds like a good idea.

That would be a good idea.

But we would have to rename the repo and only use standard COBOL features.

Hi @KTSnowy,
I added the "Hello, World!" dummy exercise but @axtens and I were looking for a testing framework.
We evaluated cobol-check and it seems to be appropriate for the job. AfaIk. we do not plan to use any non-standard features for the exercises.
Can I find you in the exercism Slack? There is also the #maintaining-gnu-cobol channel.

AfaIk. we do not plan to use any non-standard features for the exercises.

Hi @0xE282B0,
In that case I would recommend changing the track name to COBOL due to gnuCOBOL being a compiler rather than a variant of COBOL.

It would be like having separate tracks for GCC and Clang for the C language.

Can I find you in the exercism Slack? There is also the #maintaining-gnu-cobol channel.

I don't have a Slack account but I could create one if it would help maintain the COBOL track. Please let me know if I should make one.

Since there's only one exercise, I'm going to go ahead and make a new repository called cobol, and then you can add the exercise (again) there. Then I'll archive the old gnucobol repository. That will save us from doing a bunch of little edits and missing a spot.

I'll make you all maintainers.

Once you accept the invitation to the maintainer team, you'll have access to an invite to the Slack workspace. I'll get the channel name updated there in a second.

@KTSnowy Would you give me the list of other contributors who should be added as maintainers as well?

Okay, the repository is bootstrapped: exercism/cobol#1

Let me know when you're all set so that I can archive the gnucobol repository.

Wonderful!

@KTSnowy Would you give me the list of other contributors who should be added as maintainers as well?

For now just @TriAttack238 they're part of the @ktcobol project

I'll let you know if other project members want to join as well.

I've invited @TriAttack238 so I'll close this. Thanks for sorting it, @kytrinyx 💙