Required skills for "Providing Swif Overlays for C++ standard library types" and "Improve CLI User Experience" projects

Hi everyone,

I'm Arthur, a third-year undergraduate Computer Science student from University of São Paulo, in Brazil. I'm reaching out to say that I'm very excited about the possibility of contributing to Swift in GSoC and because I have a few questions regarding the skills required for the projects I'm considering applying for.

The two projects that caught my attention the most are the one that seeks to provide overlays for the C++ STL types (to be mentored possibly by @egor.zhdan and @ Alex_L) and the one that aims to improve the CLI user experience (to be mentored possibly by @NeoNacho, @ abertelrud, and @ Tom Doron (I believe Tom's nickname is tomerd, but I'm not sure)). However, I have no experience with Swift, which is a requirement for both projects. Should reading the Swift Tour and its guide be enough to participate in either one of these projects?

Thanks,
Arthur

Ps: I'sorry I only tagged one mentor from each project, but can only tag two people in a question, as I have just recently joined the forum

1 Like

Hi Arthur, thanks for reaching out!

For the C++ stdlib overlay project you wouldn't need advanced Swift knowledge.
Reading the Swift guide would indeed be very helpful. Once you feel comfortable reading Swift code, I would also recommend you to take a look at the Swift standard library types like Array & Dictionary and the protocols they implement (e.g. BidirectionalCollection , Sequence , etc). As a part of this project, you would need to implement conformances to some of these protocols for C++ standard library types, so it would be helpful to have a basic knowledge of these protocols and the features that they enable (e.g. iteration over a collection with a for item in colection {...} loop).

Feel free to ask me any other questions you might have about this project!