Create a NEW programming Language from scratch (Udemy.com)
Learn to create programming language and create a compiler for programming language from scratch
Created by: Harshit Srivastava
Last updated November 2020
What you will learn
- On completion of this course you could create your OWN programming Language,
- And you would be able to design your own compiler implementing all the concepts
- behind such as including LEXICAL Analysis, PARSING, etc.
- You will learn some concepts of Compiler Design with practical examples
How it compares
Against the other 1,182 rated Udemy courses in IT & Software on CourseDuck:
- Rating3.6 out of 5higher than 1% of them
- Reviews95#1,016 of 1,183 by number of reviews
- Length1.4 hoursshorter than 91% of them
- Last updatedNovember 2020earlier than 82% of them
Course Description
Welcome to this course, where you would learn how you create a programming language with some functionalities, right from the beginning in short amount of time. The key concepts involved in a programming languages are Compiler Design and Theory of Automata. You might need familiarity of some concepts in these domains, and you need to be familiar with Java Programming language. Although if you don't have any exposure to these terms, you can still benefit from this course, but you should try to learn more on Compiler Design and Automata later. These are the core building blocks of a programming language, being complex topics, and we tried to simplify a few of them and provide a quick roadmap of steps involved in developing a completely new Programming Language.
Before heading to create a Programming language, you may need to be clear with what kind of Programming language you would like to develop. Just put a sheet of paper and write your requirements beforehand, based on these questions:
Will it be based on a Compiler or an Interpreter or both?
Does it require UNICODE literals (for non-English syntax, like Hindi, Tamil, Chinese, Russian, Arabic, etc.)
Or can it be written with ASCII (for English syntax or Roman script)
Would it require bytecode, or does it directly convert to machine code?
If it requires bytecode, can you use any existing bytecode program like JVM?
Will it be an Object Oriented language like Java, Python or Procedural like C?
Would you require bootstrapping (writing compiler in the same NEW language you are creating) or not?
Would you require to manually perform operations like Lexical Analysis, Parsing, Syntax tree, etc or will you Automate some of these?
You can ask yourself more such questions, and here you will be learning to create a programming language that will follow this set of features:
It will be based on Compiler
It will be implemented in ASCII (as the new language is based on English)
Yes, it will be implementing bytecode, and based on JVM (Java Virtual Machine)
It will be a simple procedural language, but you can add Object Oriented and other feature later.
Its compiler will be written in Java, No bootstrapping involved.
Some parts of the compiler will be automated
In the beginning of this course, you will learn about the Grammar. You will learn how to create a grammar file and what are the next steps involved in creating the programming language. Next you will be learning about Lexical Analysis, Parsing and Compiler Design. In the following section you will learn how to create a simple calculator based programming language, and in the last section you will learn how to enhance language to support variables. You would be able to print strings, perform operations on variables. Later you can add control statements in a similar manner.
Instructor Details
- 3.6 Rating
95 Reviews
Harshit Srivastava
I am Self-Taught developer who had worked on various platforms using varied languages, and involved in various Projects both Open Source and Proprietary.
I have developed Web and Android Applications, chrome Extension, worked on various frameworks, fixed bugs for some projects, and explored numerous others. I think education and learning should be free and open, not be bound with restrictions like attending classes or going to college, People from all age groups, gender, faith, race, nations, etc must get equal privilege. When entire world would act this way like being a single FAMILY, we would truly realize VALUE of Knowledge and Human Life.
Currently I am teaching more than 152,000 students from 189 countries across the world.
More courses by Harshit Srivastava
Develop your Operating System from SCRATCH using SUSE linux (2022)
3.7 (197 Reviews)
Provider: Udemy
Time: 42 mins
$39.99
Create Analytics Dashboard with PowerBi and Tableau (2023)
4.2 (137 Reviews)
Provider: Udemy
Time: 2h
$39.99
Container on Microsoft AZURE Docker Kubernetes- Azure Devops (2022)
3.3 (131 Reviews)
Provider: Udemy
Time: 3.1h
$54.99
Develop your Google Chrome Extension and Firefox Plugin (2022)
3.6 (108 Reviews)
Provider: Udemy
Time: 2.4h
$19.99
More IT & Software courses
D3.js Data Visualization Fundamentals - Hands On (2026)
4.9 (3,917 Reviews)
Provider: Udemy
Time: 4.6h
$49.99
Hands-On Training: Streaming Data with Apache Kafka on Azure (2025)
4.9 (103 Reviews)
Provider: Udemy
Time: 3.7h
$10.99
Oracle Grid Infrastructure and RAC using Oracle Database 19c (2026)
4.8 (2,499 Reviews)
Provider: Udemy
Time: 8.7h
$19.99
PowerShell Scripting & Automation: The Complete Hands-On (2026)
4.8 (1,750 Reviews)
Provider: Udemy
Time: 9.6h
$11.99
AWS EC2 Crash Course + Load Balancing with Demos and PDFs (2025)
4.8 (866 Reviews)
Provider: Udemy
Time: 3.7h
$19.99
Reviews
By Kamal Panara on 10/30/2020
The most of the course only Explains the process of Creating Programming Language with Presentation, I was excepting that this course will teach more about how to code our own language because I already know the process of creating language, that tokenizing, lexing, parsing, compiling. I want to learn how to implement this process in real time. And also in this course they are not teaching how to install ANTLR in our System. Don't Buy this course, Not Recommend for beginners because this course skips the steps of installation & many other stuff which may beginner don't know. Not Recommend for Intermediates or those who knows the process of creating programming language. You can simply understand the process of creating programming language from google for free then why to waste money on this useless course.
By Marcin Rutkowski on 5/7/2020
( after the first lesson)Werd to ask for an opinion after a single lesson but this is just a representation of my confidence that I will learn what I'm after during this course. (after 6 lessons) What was that ... There are some elements which are ok. but there are many many free resources with much better explanations and much better content. I paid for the course to expect Pro-quality content and this was almost slide show in power point. Even if the statement was NOT introduced and implemented. I would give a single star, but I'm familiar with the subject a bit so maybe for a beginner, this course would have some value, but If You are considering to pay for this course I would suggest to invert 79min of Your time to google this subject and find everything that is freely accessible and You will be surprised. Personally I'm disappointed.
By Neil Dagger on 10/20/2019
Having a background in electronics, i dont have a programing background. Lessons are easy to understand for person like me, learnt compiler designing, and creating a programming language.
By David Baladi on 11/11/2018
This is 100% money grab scam. People like the instructor make the world a worser place. This is proof that Udemy doesn't have any vetting procedure to prevent such shitty product development. Rethinking my opinion of Udemy entirely because of this awful experience.
By Manpreet Chaddha on 8/10/2018
This is really useful course to understand basics with working example of how one can develop his/her programming language as fast as possible.
By Dante Festo on 1/14/2018
Course content was well-organised to suit varied audience. Presentation was well-often prepared, dependency on slides were removed with practical demonstration of code. Thanks for providing all the Grammar and Listener files at the end. Found everything to the point, but you could add more theory to some relevant sections including lexical analysis, and Parse tree. I should ask one thing- can we use Flex & Bison in place of ANTLR, with your code? If i could, then should i need to work on JVM or LLVM? At the end, I would recommend this course to anyone from Research Student to professional who are willing to experiment with their own ProLang. This course if unique because it just not simple get very deep into boring Theory, but to demonstrate with working example.
By Kubilay Tunca on 1/13/2018
This is not about hating or something, its just my own subjective impression of this course. This is just a course for making fast and easy money and it works because there are literally no other courses on this topic. Strong accent makes it hard to understand but thats ok. What really makes this course not worth any money is the poor explanation. Reading some poorly made powerpoint slides and recording with some free trial software that pops up messages and restricts the recording time is just terrible. No coding tut or explanation on the java files. And a few words to the grammar files. Nothing from Scratch if we get ready made files. But is should have known it: 1.5 hours for coding + explanation on such a complex and huge topic cant work out. I would not recommend this. There are youtube series that have more on that topic...for free.
By Sadashiv Rao on 12/19/2017
Wow This the tutorial which should be watch everyone because it contains many information which is necessary to make your own basic programming language.
By Rashid Hussain on 12/17/2017
Found this course to be effective. I not just learned how compiler works, but can now develop my own. Would like to get some material on Interpreter design.
By Pranjal SRIVASTAVA on 11/17/2017
found this course different from others because i wanted to develop my prolang but i knew nothing at begining, but later learned as well as deployed my own grammar, etc.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 72 / 100












