Tutorial :Using a (relatively) new language for a long-term project


Would using something like Google Go (that's obviously still under rapid development) be stupid if you're trying to build a long-term project? (Access to developers that know the language not being a concern...)


A lot of it depends on the scope of the project and who else (if anyone) is going to be involved.

If it's a purely personal project, you can probably do it with whatever language you want; worst case you can always just stick with whatever version of the compiler/interpreter you currently have (you're never forced to upgrade in that respect). You won't have to worry about whether or not the language becomes popular or not because all that matters is that you know it.

For collaborative projects, it's often easier to work with a language that is stable and mainstream, because it's easier to find people who know the language to work with (and to add new team members if necessary, either due to expansion or other team members leaving the team).

If you're wanting to open-source a project and share code with others towards useful ends, it also helps to work in a language that many people use, because then they don't have to switch languages to make use of your code.

Hope that helps you figure out what's most suited for your project. In the end, though, it really should come down to what language you think will lead to the best end result; the only time you should really be writing something in a given language for the sake of writing in that language is if you're trying to learn the language in question and don't really care as much about the project itself.


In my opinion it would certainly not be "stupid" but it may not be the genuine best choice. If this is a personal long-term project to learn the language and hopefully make something useful at the same time, I say go for it. On the other hand, if this is a new project at work, I definitely say stick to something dependable. I wouldn't want any additional stress if I can avoid it, and you never know what can go wrong with a young language.


Not stupid but there are risks. Some things to consider.

What is long-term to you? 6 months? 20 years? I would tend to be uncomfortable basing a strategic platform with an intended long-life (years) on anything whose market poisition is uncertain.

How much would it cost (effort or time) you to rewrite in a different language if either Go were to be dicontinued or you found it to be unbsuitable?

How unstable is the Go environment? What degree of churn in the APIs is there?

How much collective wisdom is "out there". Ask a fee technical questions relating to Go here. Ask the same kind of questions about say C# or Java. Are you confortable with any differences you see.

What are the unique benefits of Go. Maybe it has key capabilities that really matter to you?

Carefuly examine the alternatives. Try to avoid basing the decision on the appeal of the new and shiny.


It depends on the project.

Is it for fun?. If it is a fun project - go for it.

Is it for the corporate environment? However if it is a project in a corporate environment, the answer would be a question first - "why?". You would need to justify the usage of the language of choice to your stake holders. You would also need to consider the maintainability of the project. In my experience where I have been dealing with bleeding edge technologies for many many years, I would hold back on the "nice to try" but stick to traditional means.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »