[Haskell-cafe] open source project for student

Jeremy O'Donoghue jeremy.odonoghue at gmail.com
Thu Apr 12 11:04:22 CEST 2012

Hi Dan,

I am the maintainer of wxHaskell, but please don't let that worry you, as
I'm actually not going to go on and recommend wxHaskell as an Open Source
project for a relative beginner - it is architecturally complex, and you
need to know as much C++ as you do Haskell. You might choose to *use*
wxHaskell in any project you undertake, but that is a different matter.

I'm also a software engineering manager in my day job, so I have a lot of
experience of what a good intern (those who come to me have generally
completed their second year of undergraduate studies in the UK) can achieve
- usually in fairly hardcore embedded C++, but that's beside the point.

On 11 April 2012 22:52, Dan Cristian Octavian <danoctavian91 at gmail.com>wrote:

> I am a second year computer science student who is very interested in
>  working on a haskell open source project. I have no particular focus on a
> certain type of application. I am open to ideas and to exploring new
> fields. What kind of project should I look for considering that I am a
> beginner? (Any particular project proposals would be greatly appreciated).

Long experience of many types of software project tells me that before
everything else you should choose something which interests you. You need a
reason to want to understand, analyze and generally get stuck into a
codebase, and having an interest is what gives you that motivation.

At the same time, please don't let being a 'beginner' be too much of a
barrier. I tell new interns that by the end of their internship they will
be debugging multithreaded kernel-mode C++ code on an embedded target
confidently and they look at me as though I am mad. However, they have all
(so far) managed to succeed in doing just that kind of thing. Don't
underestimate your ability to understand new concepts when you have a
reason to focus hard on them.

What will help you a great deal is good mentorship. Working on a project
where the development team can take time to explain to you how (and why)
they think things should be done in a particular way will accelerate your
learning to a remarkable degree. Far more than 100 lectures, in fact. You
should also try to choose a project which is well documented - this will
help you to understand how everything hands together.

Is the entry bar too high for most projects out there for somebody lacking
> experience such as me so that I should try getting some experience on my
> own first?

It is amazing what you can do when you actually make a start! I'm assuming
that you are somewhat familiar with Haskell at this point (e.g. worked your
way through most of Learn You a Haskell or Real World Haskell, and felt
like you grasped at least 50% - if you haven't, do that first).

The key is to start with something fairly small and then use it to build up
to something bigger. Most sizeable projects (wxHaskell, Gtk2Hs, Darcs, Yi,
Yesod and many others) will have things on the 'to do' list which are not
too large and maintainers who should be able to help.

Would it be a better idea to try to hack on my own project rather than
> helping on an existing one?

I think you would learn more by contributing to an existing project.
Whether that is of overwhelming importance is a question only you can

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120412/2552331b/attachment.htm>

More information about the Haskell-Cafe mailing list