exercism / go

Exercism exercises in Go.
https://exercism.org/tracks/go
MIT License
973 stars 649 forks source link

(Potentially) Implement New Concept Exercise: Compiling #2524

Open junedev opened 1 year ago

junedev commented 1 year ago

We have a lot of students coming from intepreted languages to Go. Those students often struggle with the fact the Go is a compiled language. They sometimes have trouble to understand the compiler error messages and/or would expect to see all the test failures instead (see https://github.com/exercism/go-test-runner/issues/47).

One idea that came up how to mitigate that was to add a concept that explains more what it means to work in Go as a compiled language and how to deal with the compiler errors (especially in cases where the exercise comes without a stub). I think there are quite some things to unpack, e.g. that Go does not allow unused variables, has no compiler warnings etc. Since we don't have concepts without coding type exercises, the exercise could be around fixing some compiler errors in existing code and maybe add one missing function. In any case, the focus would be a bit more on the content the student is supposed to read.

See also https://github.com/exercism/go/issues/2473#issuecomment-1290642593 were this was mentioned.

This exercise should appear very early in the concept tree, potentially directly after basics (lasagna), definitly before functions (lasagna-master) though.

More details to be defined ...

andrerfcsantos commented 1 year ago

Since we don't have concepts without coding type exercises, the exercise could be around fixing some compiler errors in existing code and maybe add one missing function. In any case, the focus would be a bit more on the content the student is supposed to read.

I like this idea a lot. It is a powerful but gentle introduction to the language and the tooling. Puts you in control without giving you a lot of work from the start. rustlings follows the same formula and is very popular amongst learners of Rust.

SAbruzzo commented 1 year ago

I think that this was never tackled. If nobody is working on it - I am happy to take it and contribute

junedev commented 1 year ago

@SAbruzzo Sorry but this repository does not accept community contributions currently. Please see https://exercism.org/blog/freeing-our-maintainers for details.