The DevDiscuss Podcast begins with an interview and ends with commentary from listeners — and we like to feature the actual voices from our community!
To inform an upcoming episode of the show, we'd like to know...
“When do you think it’s the right time to create your own coding language?”
For your chance to hear your actual comments on an upcoming episode, answer the question above by:
Calling our Google Voice at +1 (929)500-1513 and leave a message 📞
Sending a voice memo to pod@dev.to 🎙
OR, leaving a comment here (we'll read your response aloud for you) 🗣
Please send in your recordings by Wednesday, March 24th at Midnight, ET (9 PM PT, 5 AM UTC)
Voice recordings will be given priority placement 😉
Plus, don't forget to check out the most recent episode of DevDiscuss:
Top comments (12)
I'd say a good time to create your own programming language is when you have an idea how to bring something new to tech. For instance, @yechielk (together with Moshe Schorr) has recently created Yid++, the oylem's first programming shprach ✨
Otherwise, I imagine that creating a new language could be a good exercise in programming in general and from that perspective, any time is a good time ❤️
That's a fun one, but I had nothing to do with creating it! I just saw it somewhere and felt like I had to share!
Ohhhh I thought I saw you as one of the contributors on the repo!
“When do you think it’s the right time to create your own coding language?”
It's actually quite difficult to create a programming language, you can't do that in a day, or in a week, or even if ten years. If you don't have the willingness to learn and the desire to create. Even if some built one while waiting for code to execute🙃, most of us need to have a lot of experience to create a working programming language. You have to dedicate a lot of time to the process. You will have to be very experienced in computer science and to perfectly know how a computer and a programming language work and interact. It needs to be in a moment in your life where you have time, or at least where you can find some in your busy dev life, to read and learn more and more about the subject. Then I'm sure you will find by yourself when it's the right moment to start creating.
So, the right time to create a programming language is when you are sure to have the programming background, the time to do so, and most of all, the determination. Then the rest will just be history...
I agree with you on that creating a programming language requires a lot of experience and background knowledge. But what do you think about a scenario when there is a person who's really passionate about an idea they have, yet they are quite a newbie? I imagine that the passion+determination will prompt them to step up their game, to reach out to their mentors (or find some) to make this happen.
Some languages are created just for fun and out of pure curiosity -- and maybe for those the scenario I presented could work quite well. It's an entirely different story if you actually want to revolutionize the tech world.
Never 😆
This is purely my point of view. I am neither a veteran programer nor one by training, but here it goes:
Creating a programming language is long task. Making a language just for fun isn't great. It needs to perform better than other language to be useful. For example, when Binary was created, though it was really tough to program, people used it. Then Assembly was born and people found out that it was much better than binary. If creating a new programming language was so easy, everyone would have made their own language. There are a lot of factors which makes creating a new language difficult. Cross-Compilation, Targeted devices and functionality is just to name a few. The best time to make a programming language is when we have decided about how easy will the language to learn or how it has more benefits than others. And of course, as @devlorenzo told, we need Determination and time to do so.
If you broaden the meaning of programming language to something more akin to "the way you describe something through program(s)" (of which sometimes natural language is said to be one way we describe the world), then I would say that developers are ALWAYS inventing a language. When you program in order to materialize your thoughts e.g ideas or solution in the form of code (such that then you can execute them) there tends to be quirky things about the particular code that is specific to the way that code. For example when someone asks "how do you start up your application?" and perhaps there will be steps such as "first you run tool X, then Y then Z and then start". X, Y, Z and start may be code which have embodied some description of the concept of "starting the application"
With regards to programing languages as we would usually think of, I think of them as the most important framework that a programmer works with. Language shapes our ability to perceive the world and conceptualize new ones. Since I think of frameworks as these powerful tools that frames the way we approach some work, I cannot help but think that programming languages are frameworks of the highest importance. Therefore, if one would want to venture to create a new programming language it would be best I think when the persons wants to introduce a new frame of thinking/approach/style as an endemic (pervasive) methodology.
“When do you think it’s the right time to create your own coding language?”
If you're a developer working on a project, I'd say never. Why reinvent the wheel when there are already 16 or so other wheels to choose from that do the job and have their own team of masochists maintaining them?
Unless it's for practicing, almost never. There are so many languages out there covering different domains (even for legislative programming for example).
Designing your own language however is very beneficial for a developer and I believe that every developer should try to build at least one simple programming language in it's career.
When you have no other choice but to do so.
I created my own template language for working with PSQL Queries because we used to just use handlebars but the ruby implementation was actually just wrapping the nodejs implementation, and fun fact, that wasn't thread-safe.
I couldn't just move to a pure ruby handlebars implementation because the snytax was too different, so I had to reimplement what I used using Parslet.
I created it by finding a handlebars implementation in Parslet and I walked through the commit messages until I could make sense of how to build my own langauge.
github.com/teacherseat/querylet