Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Let's say you have created a programming language, maybe because there was a problem which was unfeasible to try to solve using existing languages, what would you do to market it (and so on) in order to make it gain attention in the software engineering (or academic etc. depending on the purpose of the language) industry?

share|improve this question
Yet another programming language? Oh FML! –  Job Mar 12 '11 at 21:38
Luck has much to do with it. It is a winner-take-all. steve-yegge.blogspot.com/2007/02/next-big-language.html –  Job Mar 12 '11 at 21:59
@Job, the more languages - the better. Evolution needs a mass to go on. –  SK-logic Mar 13 '11 at 11:01
@Job I used to think like that, but, since programming and technology changes too fast, is it possible, that a programming language doesn't suits a need. For example, C# is a language with Java features with new ones... –  umlcat Mar 17 '11 at 21:49
@umlcat: What I find frustrating is that lots of details change very fast but a few basic concepts are reused all the time. Most of the concepts that are used in modern programming languages have been around for quite some time already. Often, only the mix of features and many subtle (but less important) details change. –  Giorgio Feb 11 '13 at 13:10
add comment

closed as not constructive by gnat, Martijn Pieters, Glenn Nelson, Yusubov, Walter Feb 11 '13 at 14:12

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

7 Answers

up vote 15 down vote accepted

Use it.

Use it as your primary development tool. When you run into its failings, address them, because you can afford to change basically whatever you want about it before it becomes popular. The language will improve and solidify over time. As you produce more and more great applications written in your language, people will take notice of it and begin to take it seriously as a tool, and they might start using it. That's step one.

Step two is to keep using it, and make it as easy as possible for the people who might want to use it. That means top-notch documentation and examples, actively promoting the language to everyone you can, and getting your users to actively promote it by making it good enough to use as a primary tool.

But it all starts with using it yourself for real tasks. If you never get to that point, neither will anyone else.

share|improve this answer
Use it for an important project, then write a series of articles about your project for prominent CS and technology magazines and peer-reviewed journals where you highlight the benefits of your language. –  oosterwal Mar 22 '11 at 13:38
add comment

Unfortunately there's not a whole lot you can do to MAKE something popular. Take for example the popular game for the apple platform Angry Birds. The company that made that game had created many many games prior that were only marginally used in comparison. Then there was just something about Angry Birds that just struck with people... then they told their friends who told their friends to the point that it seems like almost everyone owns/has played/knows about it. The same thing is true of programming languages. You make it... then its either a success in time or its not. The only real things you can do is try to promote it with friends, colleagues, etc. Certain things will influence its success such as speed, ease of use, functionality, versatility, etc. Its these areas that are most worth your time and effort.

EDIT: Well I actually just thought of something... volume might be with in your control. If you're extremely creative you could just start pumping out hundreds of different programming languages... eventually the odds would get very good that one of them would become popular...

share|improve this answer
Yup yup yup yup yup. Hary Potter, Microsoft, Facebook ... "Folled by Randomness" is a good read. –  Job Mar 12 '11 at 21:57
Well, Microsoft made C# popular (not that it was a bad language). –  Matěj Zábský Mar 12 '11 at 22:34
mzabsky: I guess if Anto had MS's cash, he wouldn't have to ask us how to make anything popular. –  user281377 Mar 12 '11 at 22:41
@mzabsky What do you mean they made C# popular? –  Kenneth Mar 12 '11 at 22:52
Yes but MS J# failed massively. –  Carra Mar 13 '11 at 11:54
show 1 more comment

Flip this around and ask yourself why someone would want to use your new language?

  • What does it provide that existing languages don't provide? Are the advantages big enough to warrant someone taking the plunge ...

  • Is the language specified? Is the specification complete? Is it stable?

  • Are the runtime libraries available?

  • Is there a decent tool chain? Compilers, debuggers, IDE support.

  • Are there real people using it to do real projects?

  • Are there examples? Case studies? Tutorials?

If the answer to many of these questions is "err ... no", then it is too soon to market your language.

share|improve this answer
add comment

make it fun to use. Besides that have really great documentation! That is always the first thing I look at when trying to evaluate something new.

Actually the thing a new language needs to get picked up by a lot of people is going to be a Book, By O'Reilly or the Prags

share|improve this answer
add comment

The same as any other thing you've invented, create lots of examples of useful stuff you've built using it.

share|improve this answer
add comment

Why would you create another programming language? Unless you want to learn some fundamental CS concepts to improve your day to day programming writing a programming language in order to make it popular seems like a waste of time. Then again if you're really set on creating a popular programming language then targeting the JVM or the CLR or LLVM is probably the way to go.

share|improve this answer
<devil's advocate> Every programming language has its drawbacks. Different languages are better suited for different goals. Sometimes a project has multiple goals, with some being easy to do in one language and next to impossible in another language. You could build the project from many different parts that use many different languages, or, by creating a new language that addresses the needs of the project, you may be able to save yourself a lot of time and headaches in the future. </devil's advocate> ...or you could create the mother of all headaches. –  oosterwal Mar 22 '11 at 13:36
@oosterwal: There are much better ways of doing that with DSLs. A full blown language is overkill if that's your goal. –  davidk01 Mar 23 '11 at 1:39
add comment


That and assuming the this problem that people have affect enough people. I know Ruby got really popular cause of the MVC framework rails. They also had a huge marketing team. Microsoft C# is very popular because they would try to push it on everything. XNA framework uses C# and to do games on their platform (PC, ZUNE, 360, what have you), you got this neat XNA framework that uses C#.

So yeah, it seems like you have to be proactive and push for it or have something so significant that you don't have to do marketing (scala for example). Google Go language for example isn't taking off. I think only time will tell.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.