Ask HN: How do I promote my awesome new programming language

5 points by eliah-lakhin ↗ HN
I'm working on a programming language, and it's compiler. I think the language has some advantages that may be interesring for another developers. But there are a lot of PLs around. And most developers are usually conservative in their choice of development tools.

So my question is how do I promote such product?

I am currently considering the following ideas:

1) Make an IDE for this language, or at least implement support for this language by the major code editors.

2) Make something cool using this PL. Like software or web sites. So I will have portfolio that I can show to clients and another developers. But again the question is how to promote these portfolio products?

3) I have no experience in game development. But at a first glance it seems to me it will be easier to promote games than software or web services.

14 comments

[ 4.3 ms ] story [ 39.2 ms ] thread
The sad truth is that unless you're language is a big improvement over existing solutions, it won't be adopted. You have to understand that the major benefit for someone beginning a new language is the libraries, and you wom't have any. This is why there are so many languages with so few having been adopted. If you have a real benefit that can ouweigh the _enormous_ disadvantage of using a new language, we'd be happy to hear.
Thank's for the point about libraries. That's very important part. I'm agree.

In fact it was a general question. Let's assume the language's ecosystem contains a lot of useful libraries, and it has another important technical charactersitics that can eliminate disadvantage of using a new language.

But I guess it's still not enough to promote it, or not? I'm afraid starting a topic about the language on HN, or writing a blog post will produce flame war about personal preferences on syntax design etc in best case.

Is it a compiled language? is it something like "a framework"?

Are you seeking to make a spectacular launch to build a startup around this language (support, consulting, etc) ?

Otherwise, just push your code to github, blog about it (or use the repo wiki), and treat nice to people willing to use it, or work with you to improve it. If it´s about money, you should make an strategy first, right. Else you can just "go" with it, no fears.

> Is it a compiled language? is it something like "a framework"?

It is designed in such a way that it will be easier to implement source-to-source compiler for it. The project's goals in fact are close to GWT, but more generic. And also I don't like Java. :)

> Are you seeking to make a spectacular launch to build a startup around this language (support, consulting, etc) ?

Kind of, but I don't have strategy right now. I just have a technical idea. That's why I'm asking.

Also I will be appreciated if you advice me how to build business strategy for this topic.

> Otherwise, just push your code to github, blog about it...

I will do all these things too of course. This is the minimum I can do. But it doesn't look for me like a good plan. I don't think there will be many people who will pay much attention to another one programming language made by unknown guy.

Yes, then you need to make it appealing to your market.

When I try to exercise that, I use to think in products, solutions, companies and items, that look apealing to me, and then I focus a litle bit in compare it with alternatives.

If you're planning a launch, then you need a plan.

Not only about getting a viral effect, but about making it work (the support, the visits, the downloads, the media coverage, namings, dns, communication tools, numbers, taxes, etc).

Many language specialists, use to write comparisons of their language or toolchain, and other languages. I personally don´t like it, but, you could make an A/B testing, anonymizing your future product, and see reactions. Of things valuable, like the implementation.

Write something detailed, anonimize names, create a pristine account on some discussion forums and see what happens without take too much risks.

In my opinion and in this order:

1. Complete your language including typical libraries and have it ready for production use. Not just beta and certainly not an alpha. There are just too many new languages around in this wave for even a beta to take hold.

2. Document your language well. W/O sufficient documentation people will quickly give up.

3. Ready to run/compile downloads for all supported platforms. No required "install this to compile" dependencies for Windows especially.

4. Portable "unpack and go" files for download. NO INSTALLERS. Should work from flash drive.

5. Script to temporarily enable any environment settings.

6. Online IDE or REPL of some sort so people can play with it w/o needing any download.

7. Forum for discussion and Q&A that includes topical RSS feeds. Very important for causal potential users.

8. Link to your language from Reddit, HN, etc. ;)

Still difficult, but this will make it as easy as possible for anyone to try out your language on a whim.

Thank you very much for such detailed reply!

If I understand you correctly all these points are about technical implementation mostly, but not the promotion. And they seems for me quite reasonable. But is it really enough to win?

Recently I have published my another project: https://github.com/Eliah-Lakhin/papa-carlo . This is related to PL development too. And I also have detailed documentations on dedicated website: http://lakhin.com/projects/papa-carlo/ . As well as intorucing blog post: http://lakhin.com/blog/15.11.2013-handy-incremental-parser/.

And I of course tried to publish these links in various places including HN too. But unfortunately there were too few feedback.

So this experience show me that having a good support of the product with Documentation etc is not enought. But maybe I should not project that experience to PL development?

For a programming language the "technical implementation" is, by far, the most important piece. No language that I'm aware of has been able to "win" without being ready for production use when the market was ready for it.

I don't think any amount of promotion is going to do your language any good unless it's ready for use when people see your promotion. And then, if it's ready for use and has a nice place in the market then I doubt you'll need much more promotion than what I've listed above and some success stories to show it works.

Are you really saying that you want to take your language and market it to the top? That's just not going to happen unless your Microsoft, Apple, etc. Unfortunately, you likely don't control enough of a necessary piece of the infrastructure to force people into your language.

Go down the TIOBE list and answer for yourself when each language was first developed, when it was production ready, when it caught on, and how much and what type of marketing was needed to put it in the top 50? I think you'll find promotion of the language itself was not very important to its success, but being ready for real use at the right time was.

(Is your language ready for production use?)

If you aim to reach opensource developers (they are great components for a new language community) I could add to that nice list:

    9) Mailing list
    10) IRC channel
With convenient support.

But on a more abstract way... I think... just focus all your marketing in the stuff that makes your lang desirable, for users of currently available languages. From all the view points (technical, management, guarantees, etc).

Create really good documentation. With lots of examples.
you should read some papers and books about network effects, going viral and so on... you know in this world, only the lame stuff goes public and becomes widely popular, because the majority of people in this world are lames...
You did not include one iota of information about the "awesome new" language, let alone a link to it. If you have that little interest in this alleged language, I do not think the word awesome means what you think it means. But I think it just does not exist.