9 ms·
Is it possible to estimate the amount of manpower and time required to develop a new language from scratch till it is stable and reasonably production ready? Ad
by q2 12y ago
Is it possible to estimate the amount of manpower and time required to develop a new language from scratch till it is stable and reasonably production ready? Adoption of language is different topic, since it depends on users.
Rust and Go are two reasonably new languages. I understand scope and priorities of each language may be different but my idea is to get some approximation/thumb rule for any one before starting similar journey.
As per Github and wikipedia:
Number of contributors for Rust and time taken so far: 840, and 2 years.
Number of contributors for Go language and time taken so far: 424 and 6 years.
Financial details are not known.
It seems developing new language and bringing it to reasonable level is not trivial effort.
1. Is above data correct i.e. are those contributors full time working on those languages i.e. is it full time job of those people?
2. Can we get details like number of developers/number of test engineers/number of documentation writers ...etc?
3. Is it possible to know the total amount of financial resources consumed so far in the effort?
4. Is there any research into resources required for new language development in terms of man power, time, financial resources for various languages?
It is fascinating to see a new language developed in front of us.
- steveklabnik 12y agoTo give you an idea, Rust is actually about 8 years old in total, though it was just Graydon for the first four and a half. The language recognizable as today's Rust is about two years old, though. But it still needed that gestation to get to that state, so I'd count all of them.
- Artemis2 12y agoBoth Google and Mozilla have teams dedicated to their languages, but they represent a very small portion of the total number of contributors to the language. I couldn't find exact lists of the team members inside both organizations. In terms of volume of contributions, for Go, Google employees are by far the most active: https://github.com/golang/go/pulse https://github.com/golang/go/pulse. In this graph, the 7 top contributors to the project are Google employees. The Rust pulse graph shows the same trend (https://github.com/rust-lang/rust/pulse https://github.com/rust-lang/rust/pulse), with the top 6 contributors being Mozillians (according to a few Google searches). Something that noteworthy about Go is the "quality" of the team members: Google has Ken Thompson, Rob Pike and Russ Cox working full time on the language. Mozilla may have a few great developers on Rust too, but Google is very serious about Go. I don't have any information about how financial and human resources are used by Google and Mozilla for the development.
- kibwen 12y agoIn the linked Rust graph, eddyb (the third-highest committer) is a volunteer (an unimaginably prolific one), not a Mozilla employee. kmcallister (the fifth-highest committer) is a Mozilla employee, but not actually on the Rust team (they work primarily on Servo (though there is a fair bit of spillover between the two projects)). Rust has a few other full-time Mozilla employees that aren't represented on that chart for whatever reason (working on feature branches, perhaps?), such as nrc and pcwalton.
- lastontheboat 12y agosfackler is a volunteer, too.
- kibwen 12y agoJust goes to show how blurry the line is that I've never actually noticed that he's not an employee. :P
- Gankro 12y agopcwalton, at least, has mostly been focusing on making Servo completely amazing. Not a lot on the rustc front these days. Sucks for us, great for Servo. (because pcwalton is fantastic)
- jacquesm 12y agoThe reason why we recognize the names of the Google people is because of past achievements but when they were working on those we did not know their names either. I think it is a bit much to couple 'quality' to notoriety, for all the same money the Rust people are every bit as good as the Go people and Rust will be their claim to fame (if it already isn't doing that) a couple of years down the line.
- mike_hearn 12y agoIt depends what you mean by "language" and what you include. Rust and Go include the compiler, the runtime, some libraries, some package management and some tutorials. Other things you might want include IDE support, static analysis tools, advanced garbage collectors, GUI toolkit (bindings), slick debugger support, monitoring and profiling engines. These will all add a large amount of time and money to the development of your new platform.
- cygx 12y agoHow did you come up with the 2 years figure for Rust? If I remember correctly, development started 2006-ish as a one-man private project.
- kibwen 12y agoAlthough Graydon did begin playing around with ideas for a programming language in 2006, very little of that language survives beyond the general philosophy of "as fast as C++, but memory-safe and with modern features". There are enormous swaths of the language that are totally unrecognizable if you go back beyond 2012 or so (which is when I personally think "modern" Rust began to emerge). This is about when the borrow checker first appeared, which eventually became the core feature that much of the rest of the language came to be designed around. That said, it still took a lot of iterations on the borrow checker to arrive where we are today.
- hyperpape 12y agoI think Rust will be especially high because it's pushing hard to synthesize a lot of newish (not invented by Rust, but not often implemented outside of research languages) ideas. And it's has a huge focus on performance, so that makes things harder too. A scripting language or a JVM language or a PyPy based language (or pick two of those) can make it to a 1.0 much faster.
- nnethercote 12y ago> It seems developing new language and bringing it to reasonable level is not trivial effort. That is correct :)