A language looks promising and claims to have solved many problems that other languages have. Should I dive in, and become an early adopter, or should I wait till it has a proper community? What are your thoughts?
I find this amazing as I am working with a few people building a language with a panel and clean syntax. I would say yes, when version 1.0 is done in a language.
I think that while its nice to experiment, you should definitely wait before implementing it in any major projects.
It's nice to try new things in programming, in you local environment you can use everything you want and test everything, but when go to production is best to take care of what libraries or technologies are well tested and if fit to your project.
Before go for a technology make some tests, write some code, or make a branch of your project and see if fits with your code or mind, and if works well go for it with your project or otherwise wait until get more support.
Depends on how experienced you are in general. if you're not experienced, you'll probably struggle quite a bit, if you're experienced, you'll pick up the new language quickly. Dart for example i used two years before it was considered production ready and by the time my project was nearing completion, it became production-ready. Kotlin i only started using when it hit 1.0.0
If you have a fixed deadline for your project, don't jump into a new language, use something that you're familiar with, unless you budget a lot of extra time into learning the new language as well.
I voted no, but then again I come from the Python community and might be spoiled. The time invested in the new language can be a waste if it happens to end up not being a hit. And the support for new language uses to be bad since most hosting providers etc tend to use LTS-software and have a very long validationtime for software.
But sure, it is always fun to tinker with new languages and such, really depends on what the goal is.
Short and fast answer is No though.
There is no rule for that, if you found a programming language, if you feel interested read more about it, if you feel like it's worth experimentation go ahead and experiment, give it a shot or two, after all this is how I got involved in the field in the first place, by feeling that I want more and more all the time.
Check it out, play with it, learn what the new ideas are about, but dont invest in it unless/until there's enough momentum behind it.
Right now for example, PHP would be a great language to pick up not because it's the newest of best, but because it has a large community, tons of documentation and tutorials, and we can be as certain as anything in life that it won't be going away any time soon.
To give another example, Swift is a new language from Apple that runs on OS X and Linux. There are a lot of people excited about the new features of the language, and wanting to use Swift for backend web frameworks. It might work great, but if you get stuck where do you look for help? Is there a large Swift community able to help you? Are there plentiful tutorials, walkthroughs, and documentation online? What if Apple decides to retire Swift development - would the community carry on development or would the language die without Apple's backing?
These are the sorts of questions that surround 'using a programming language' that have very little to do with the features of the language itself.
Personally I would wait until it has a community. A small one is fine, but if not many people are using it, libraries and best practices are nothing yet, I will not use it.
Since everything is not mature yet. New comers actually need a lot of experiences on related areas to help build the basis of the new community of the new language. It's tough work, I mean bugs and lack of tools. I would not like to try it.
However, if you are experienced in that area and want to explore and shape things. Well, that's different from me.
I'd like this poll, because of the choices: a brand new language is often nice to experiment with, because the ideas, paradigms and concept it uses or introduces are food for thought in your daily production-grade language(s). If the only tool you have in a hammer..... ;-) But new languages oftentimes are updated with breaking changes, have bugs, security issues, poor IDE support... or even deprecated/forgotten quickly .. which don't make them great candidates for real production work.
Marco Alka
Software Engineer, Technical Consultant & Mentor
As a user of Rust, a "brand new" programming language, I want to add the following: All the libs are beta, nothing is stable, but the language has an allure to it which is irresistible.
Take a look at why the language: Might it be interesting? Does it even concern your project? If so, does it top out other languages? Do you need to deliver results for your projects? Can you experiment?
As for me and Rust, I do have no need to deliver. My driving project is just a hobby project and I can wait for features and libraries. The language itself is very interesting and I think it will be a very important decision in the future. Rust has a lot of memory and thread safety built-in. That's what I need and it also allows me to add certain ideas to other languages (see my Result-system for Node.JS). It improves my overall abilities!
So I think, if there is a language which highly interests you, go and experiment. But do not do so with mission-critical projects. Make it a side-project, learn from it, and use it once you think it has become mature enough!