Click here to Skip to main content
15,885,043 members
Please Sign up or sign in to vote.
1.15/5 (5 votes)
Hi,
Can I create a New programming language ?
I know I need an environmental but I don't know which one?
Is Linux an OS for Creating an environmental for programming language? Or I can do it with windows 8??

Claim: I don't want to create a program, but a programming language like: Python, Ruby, Java etc..

Thank You !!
Posted
Comments
[no name] 4-May-13 10:52am    
If you have to ask, you probably do not have the skillset. But here is a start, http://www.wikihow.com/Create-a-Programming-Language
Richard MacCutchan 4-May-13 11:07am    
The environment is irrelevant, a programming language can be made to work anywhere. The difficulty is designing a language that will be likely to catch the attention of the developer community.

I have to draw you attention on following things:
- You can make a language on paper: a language is first a syntactical specification, than a semantic one
- There are many languages[^] out there, but few are really used. Why do you want to make a new one?
- There are several really bizarre languages also, check this list: http://net.tutsplus.com/articles/top-10-most-bizarre-programming-languages/[^], my favorite is space.
- Defining a language syntax, even it's semantics does not mean that you have a working language, it is only a specification, a document
- To have it working, you need to make an interpreter[^] or a compiler[^] based on your specification. The later one is of yourse more complicated.
- And when you have all this, you still don't have anything, since to make it usable, you need to make a bucket of libraries (or that like) to have IO, GUI, netowrking, regular expressions, and so on...
- Ant now you will have to promote, and gather believers, supporters and users.
I don't want to discourage you, let's suppose you invented the best language ever. Still, there is lot of work you have to consider before going further.
 
Share this answer
 
Nowadays it seems that a new language is invented every day. You can do this with a little effort. Reasons for new languages are many and varied; the best reasons are usually to exercise some new paradigm or to define something in a restricted domain (eg. shifting colored threads on a loom, interacting with cells in a spreadsheet, doing calculations on arrays...).

There are several programs that will help you with parsing and compiling. I would suggest looking at lex[^] and yacc[^] for starting examples. If you research these links, I think you will make good progress on the problem.
 
Share this answer
 
Building a Programming language is easy but making a compiler for it is difficult. You can easily interpret it using the parent language. But if you want to Compile it you will have to first make a Kernel, which will interact with the hardware. Second you will make a Lexer, Have you ever seen that the code has some whitespaces,comments and a lot of things that is only useful for the programmer and not the machine. The Lexer will remove all whitespaces,comments and other content before it's sent to the compiler. The last and the most important part is making the compiler, The job of the compiler is to merge the kernel and the Lexed code, and compile it to an assembly like EXE,DLL etc.
So you are going to have a lot of work.
You might be thinking what's a Kernel,
Well a kernel is the base of an OS, it's the CORE of the OS,
You can make a kernel in c# using COSMOS.
-Sids123
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900