gsoc 2019 application

Seb seb at wilzba.ch
Sat Mar 16 11:01:06 UTC 2019


On Friday, 15 March 2019 at 19:52:24 UTC, Sushma Unnibhavi wrote:
> Hello,
> I am Sushma Unnibhavi,an undergrad student from India. I am 
> interested in contributing to D Programming Language as part of 
> GSoC 2019. I am interested in the project on Jupyter Notebook D 
> Kernel. I have gone through the links in the project 
> description.
>
> I have a few questions regarding the process for GSOC:
>  1.What is the process for selection into D Programming 
> Language?
>  2.Are previous contributions necessary to get selected into D 
> Programming  Language as part of GSoC?
>  3.I am comfortable with c and c++ and using tools like git. Is 
> there anything else I need to know before I begin applying and 
> contributing to dlang?
>
> Looking forward to your reply.
>
> Thanks,
> Sushma

Let me copy Mike's private reply, s.t. it's visible for everyone:

---
Thanks for reaching out.

A good place to start is this forum post:

https://forum.dlang.org/post/siqgbkbitokwltxawjim@forum.dlang.org

Previous contributions are not required. What we want to see in 
our GSoC students is the motivation for future contributions in 
GSoC and beyond. We want to build lasting relationships. I 
encourage you to make yourself comfortable in the forums and look 
for ways you can start contributing as soon as possible.

Your C and C++ background will be useful to you, but it can also 
be a hindrance. D is similar enough to C++ that it can sometimes 
cause you to get so comfortable that you overlook the 
differences. A great resource for familiarizing yourself with D 
is Ali Çehreli's 'Programming in D', which is freely available 
here. You should also consult the language documentation.

http://ddili.org/ders/d.en/index.html

https://dlang.org/spec/spec.html

Thanks!
---


Let me add a few more infos on top of this:

- The DTour is also an excellent resource to start learning D 
(https://tour.dlang.org)
- prior contributions/involvements are not required, but strongly 
encouraged as it's an excellent way to get in touch with the D 
community and practice your D skills

As I'm currently listed as a backup mentor for the Jupyter 
project, let me add more guidance on this one.
Currently we have:

- We have DREPL [1] which is based on libdparse
- PydMagic [2] which is heavily based on the cython magic

Moreover, I recently learned that another company (Kaleidic 
Associates) has started early work on this project [3].

Their work uses DREPL as a backend, so I think this project can 
be grouped in two phases:

- improve DREPL
- work on the jupyter-d kernel ([4] provides a good idea list to 
start)

However, the DREPL approach isn't superb. It essentially uses 
libdparse to parse the AST of entered lines and classify them 
into declarations, statements, expressions. Then it compiles the 
new lines as a dynamic library and loads it in the current 
instance and executes the "just-compiled" function.
A more solid approach would be to do sth. like Cling [5] with DMD.

The second part (working on supporting more Jupyter features 
natively (like tables for dicts) should be easier), but I 
recommend to contact Atila Never (the guy who developed [4]) for 
further questions.

I think I should point out that working on part 1 of this project 
will be hard if you don't have prior experience with compilers, 
so if you're looking for a straight-forward project with a high 
impact I would advise to work on Dub as there are still lots of 
"low-hanging precious fruits" available (see [5, 6] for details).

I hope this answer helps you. Otherwise please feel free to ask 
more questions on the NG.

[1] https://github.com/dlang-community/drepl
[2] https://github.com/DlangScience/PydMagic
[3] https://github.com/kaleidicassociates/jupyterd
[4] https://github.com/kaleidicassociates/jupyterd#to-do
[5] https://github.com/root-project/cling
[6] 
https://wiki.dlang.org/GSOC_2019_Ideas#DUB:_D.27s_package_manager
[7] 
https://forum.dlang.org/post/eftttpylxanvxjhoigqu@forum.dlang.org


More information about the Digitalmars-d mailing list