Hacker News new | past | comments | ask | show | jobs | submit login

It varies widely, depending on the language and the type of contributions. It can be pretty quick for languages which are very similar, like between C# and Java, or for languages which are easy to learn, like Go. Languages that include a number of complex concepts not shared among other common languages, like Haskell, may take much longer.

I think the scale of contribution is a much bigger differentiator though. At one end is a trivial bug fix - tweaking a string, changing an option passed to a method, something like that. I'd say usually under an hour for that, unless the language is very difficult indeed. A little inspection of the code around it plus programmer common sense and a few Google searches will usually tell you what you need to know. Things get harder the bigger the change you're trying to make though. If you're doing major adjustments or new functionality, you'll need to know the best practices for how to do things in that language, how the rest of the application is architected, etc. You may need to learn the languages standard library, if it has one, and if not, what are the best third-party libs for doing various specific things and how to bring them into the project. This could easily take weeks or months.

I suppose the ultimate level of contribution would be making significant changes to the language itself, its standard lib, or to any large, mainstream libraries used in that language. There, you also need to understand the overall purpose and mindset of the language and have a broad view of the ecosystem of how it's used and who is using it. That can take years, maybe decades.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: