Making new language | SoloLearn: Learn to code for FREE!

+17

Making new language

I want to make my own language in C++ But it should be our coop project! So we will make a perfect(almost Nothing can be perfect) language for everyone of us(Yeah, not for all. Every person have his own opinion) So I want to hear your ideas about: Syntax Features Ideas Collaboration(For thoses of you who wants to take a part in my C++ party) If you are interested - just press like button and add your comments below! Write your ideas and take a look at current ones. Like them if you agree. I will be glad to hear all your opinions. I will add link to github project/gist soon. When we'll define the basic idea and syntax.

5/4/2017 7:19:42 PM

WittyBit

19 Answers

New Answer

+35

Try to take the following under consideration: 1)It should be more easier than python. 2)It should be like universally acceptable programming language for all the things like developing apps for Android or IOS OR designing a web page. 3)It Should be totally understandable to all the people, knowing programming or not. This will also increase our programmers family. Everyone would be coding. 4)It should be like JavaScript/Python where we don't need to declare datatype.

+13

@Biraj Patel, I think it will be near C++, but easier. Also want to make better generics. About my idea to cintribute to this project: Language will be compiled. Syntax will be mix of C#, C++ and Python/Ruby(with their ideas about arrays and lambdas, but with less writing) It will have strict soft(like "float = int" will work fine) typing.

+13

@C0MPL3X, thank you very much! I wrote some languages already. One of them looked like JS, but was much slower and had almost nothing. Also had expression compiler(You might find it in my codes). So I really appreciate your interested. If you have any ideas - write them here.

+12

Also we might think about removing these redutant Semicolons; Basically language will not support direct pointers. Almost noone needs them in the way they exist. If someone will need them there will be construction: pointer(to: myObject) If anyone think: "But how we will pass references?" Here is an answer: To pass reference 'ref' modifier should be used: mySwapFunc (ref <Type> a, ref <Type> b) const Type tmp = a a = b b = tmp end func Here I used generic type. Maybe language will use <X> to identify custom type(unknow, might be int/float/string/etc) X - name of type So next time if we will use myFunc (<X> first, <X> second) -> X return first > second ? first : second end func It will take only same parameters! Like: myFunc(3, 5) But NOT: myFunc(3, "str")

+12

Replace more identifiers with terms which has closer representation to human language?

+12

@Hatsy Rei, that is great idea! I knew that someone will say that. So please add your ideal 'identifiers'... or 'keywords' and their description. My ideas were close to swift(Some times it works, but idk how) return - returns value from function in - checks whether some value is in array/range Some more.. I want to hear your ideas! Write them please.

+9

Alot of SoloLearners want to make their own languages and that is cool, We are developing our new language: Proxima thats compiler written in Rust, Terminal commands made in Python and C++ for file handling :D Good luck

+9

@C0MPL3X, can you help me please with LLVM and Direct compilation(Might be 100 times faster. Compilation from ast directly to machine codes. But it will not support any optimization. Will use it for super fast compilation and testing) If you know any good tutorials on it - I will be glad to read them. Thank you very much for you answers!

+8

@Jeefery It will be simple general purpose language. Main thing in it are: I think genererics, easy light sytax and compilation But we are thinking about all of these. If you want something unique and useful - just contribute to it! Write your ideas =)

+8

@Michael Ermishin It doesnt run on VM since I a begginer at making new languages, I tried to make Proxima like this I would create a .rs file for Proxima to work use compiler.rs; //For example fn start() { } The code inside the start function would then compile to Rust giving the output the same as rust. Proxima is a very very low language but it runs a bit fast

+7

@Michael Ermishin Sure :D

+7

@Michael Ermishin Oh no I don't know anything about Direct Compilations and LLVM, Proxima's compiler is designed to be fast like Assembly codes, A 2 Generation Systems Programming Language.

+7

@C0MPL3X, So how do you compile it? Or if it is running by VM - then it is defenetly slower

+7

for others (not @michael) check out this https://ume.la/YGLwP9

+6

So you just translate it to rust? Okay, not bad too =~) Why not C/C++/...?

+6

why do you want to create a new language ? what additional features will it provide? what will be the target devices?... all such questions should be answered before you think of creating a new language.

+3

Reminds me of HolyC

+2

It won't be perfect for all. I, for instance, need a language as efficient as possible for running time sensitive programs.

+1

There are so many language.. what will be the difference?