Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I am creating a new language, with some nice features like OOP, static typing, imperative, etc. The main reason for making a language was to learn more about compiler construction. My question is, what are the chances for my language to be known? What can I do to make my language used by many? I know there are lot of similar projects, and much better than mine, but I want to make this project a success.

The project is almost completed. I think it comes with useful tools such as automatic memory allocation, memory manager, pointers, and few others.

I would like to know if my project can have a future or shall I just drop it like many others?

Thank you.

share|improve this question

marked as duplicate by Greg Hewgill, Walter, MichaelT, Martijn Pieters, JeffO Feb 10 '13 at 22:24

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

Even if your language doesn't have much chance to become well known, I would still complete it and learn all you can. You could one day go in to language development professionally! – AndyBursh Feb 10 '13 at 21:24
Honestly: unless it has huge advantages over the "big players" in the market, it will probably be a niche language at best. Without support by a big company (marketing/evangelizing, tool support/IDEs, library support, support contracts, ...) it won't be a "big player". But then again: it does not need to be a big player. – Joachim Sauer Feb 10 '13 at 21:28
Languages often remain unknown for a long time before they become popular. Ruby for example has exploded in popularity over the last 5 years, but later this month it celebrates its 20th anniversary. What was it doing for those other 15 years? Python is another example which goes back nearly 15 years.. – MattDavey Feb 10 '13 at 21:46
By the way: creating a language and creating a compiler are only tangentially related. Creating a language to learn about compiler construction (or the other way around) isn't actually that useful. – Jörg W Mittag Feb 11 '13 at 1:50

1 Answer 1

Typically, new languages which succeed have one of two things:

A ridiculously high quality implementation or other implementation-specific factors (unlikely for your personal project). For example, C# being bundled with VS, already a major IDE, and having a ton of IDE work done on it by Microsoft. Everybody who programmed C or C++ for Windows got C# and could just try it for free, with the IDE they already knew. If it wasn't so pushed by them, it would likely have been "just-another-Java" dust in history. They did build in some very good new features in the later versions, though, very quickly (due to the large funding for their team from Microsoft), leading to

Some serious new features you can't find anywhere else. Such as in C#, it's like Java but with actual features. It's easy to imagine why C# took off when they have things like LINQ. Then compare something like Python, a primarily-interpreted language which wasn't handicapped by it's creators being plain insane (PERL) or sticking too much to the C Standard (Lua). Voila. Python is easy to use and very powerful with large base libraries- the best of it's predecessors all in one package. This is in comparison to Lua- it's a sweet language, but the base libraries are absymal, so you have to roll most everything for yourself. That's why Lua is taking off in a small way in the sandbox world- because they want to roll their own, and Python's base libs get in the way. Lua's feature set is simply very well suited to sandboxing, and Python's is very well suited to general scripting.

If you are defining and implementing a new language on your own, the implementation quality is probably going to be very low, relatively speaking. You will not push an implementation into the hands of everyone who already has a major language and get a massive popular IDE for free.

This means your best shot is if it can do something that the other relevant competitors simply cannot- some feature or combination of features which the others in this field can't compete with.

share|improve this answer
+1 for "it's like Java but with actual features." – Elyse Feb 10 '13 at 21:36

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