Hello friends, I know this is weird but Let me just Say it.
Is it actually possible to create a new programming Language like C++ and other. I saw Go( A language made by Google). So is it actually possible, I know it is not within my reach but if the whole team of Repl.it comes together,it is possible. Just a suggestion to start a new project. I found a few videos on YouTube and got inspired though nothing went in my head 😩
I have no idea about it just an inspiration.😃
I got a book a few months ago, and it went through from the basic logic gates up to a high level language (i think it was rust) and it showed you all the steps, and you got to build a design of a basic computer, an assembly language a compiler and a high level language. I would recomment it since it has some stuff on compilers. The book's name is 'The Elements of Computing Systems', Written by Noam Nissam and Shimon Schocken.
Update: I just remembered... amasad, CEO of repl.it, is already making a language: https://repl.it/talk/learn/Announcing-Basic-Language-With-Graphics-Beta/31741
this question has already been answered by a lot of people but I'll just restate what I consider the important points:
- Yes, it's possible to make a programming language
- There's not really a point to make a useful language since lots of already been made
- Making a programming language is EXTREMELY difficult. In fact, it's one of the most difficult things to do if you are making it properly with an interpreter, lexer, parser, compiler, etc. I would rank it only a bit less difficult than making an operating system itself (if you are actually making the entire compiler)
- Most "programming languages" you see on repl.it are fake and not really programming languages they just use lots of text replacement and regex
@MrEconomical VERY TRUE actually very few know it and they claim to make their own. They don't know that a full well established Company(GOOGLE) sat down at one place to develop a language GO. hence I asked the full Repl.it also to do the same
all are scattered to their own.
Lastly, and most importantly... making a new language is EXTREMELY hard, okay that's not necessarily true, but making a good + useful language is anything but easy.
@StudentFires Every Language has its pros and cons. Every thing has its own advantages and disadvantages,that may or may not be parallel or we can say appropriate to our needs. Hence it is better to create something that fits our needs. According to your views no new language like C++, Java and others won't be discovered. We would have sticked to FORTRAN.
@Viper2211 Actually this was an idea to unite the full repl.it team to work under a single project but till now no initiative is taken to start . So you are not late.☺️
Stay focussed on this thread until something is done and an initiative is made.
I am more of intrestented on the unity of repolers
Why not make repl.it more into an active place like a game
levels and leguse depending in your programing knolwedge and making every legue with the same group and chat with some sort of missions so to level up and the final two missions is to make a lungusge then a n os
if you want to unite all repolers into one project you should give them the platform (an imaginery one) to grow @MrHackman
Absolutely! In making a language, there are three main things you need to do:
- First, write a lexer, which takes a bunch of code and splits it into tokens. Your lexer might convert
a = 5to
[(a, name), (=, op), (5, val)]. This is needed so the computer can understand the code you enter.
- Then you need to write a parser, which takes a list of tokens and generates a parse tree, which is just a more organized form of the token list. The parse tree for
[(a, name), (=, op), (5, val)]might be
program [assign [a 5]]or something similar.
- Then you make either the interpreter or compiler. There are three main things to do here: one is to run the parse tree directly. Another is to compile it to a different format, like C compiles to machine code. The last one, and most common, is to compile it to bytecode, which you then execute. This is what many languages, including Lua and Python, do. Bytecode is just like machine code or something, only it is only for your language.
It's definitely possible, the question is what advantages would said new language have over existing languages?
@CaptainAnon Yes but as I said that a new language will provide undue advantages. If a single language provide all advantages of Java, C,C#,C++,python and all. They will learn it. It is an all in one like all in one tacos
I know someone made at the least a transpilar on here a while ago, also someone else made a lua interpreter and a third person was in the process of making a c compiler I think it was so it’s definitely a thing :P
@CaptainAnon Check out the advantages
Golang has efficient concurrency, like C, C++, Java, and at the same time concurrency in Go is done much easier thanks to goroutines, channels, and garbage collection.
Nice think tank you got going here by the way :P
Let’s make a small list of things we have discussed so far in the thread about programming languages.
1) true speed (idk - eh)
2) portable "compiled" results (byte code - coolio)
3) efficient concurrency (goroutines - noice)
4) general ease of use (python/go - yee)
5) nothing else.(at least that I’ve seen)
Of these so far, what is it ya’ll want the most? What else do you guys like about other languages? What things do you guys hate about other languages?