New Programming language.
Vinyl Scratch
2012-04-12 18:25:00
I wanted to take on a rather large sized project.. I wanted to make a new programming language.. I wanted to see if somebody wanted to join me.. I've thought about it, and I thought/Think it's a good idea. I wanted to get other peoples input.
masterBB
2012-04-12 18:27:10
Do you know how much work that is? Do have experience with projects like this? Do you own a univ. degree in IT?
Kyle Undefined
2012-04-12 18:28:12
Making your own programming language isn't a simple task, and could take months, even years to get it working perfectly.
How do you plan on doing this?
Vinyl Scratch
2012-04-12 18:28:53
Nope. Nope. And, Nope. Just thought I'd try.
Couldn't be too terribly hard..
E:
Dammit, you Ninja'd me. They way I plan on doing it, is Google. I'm also not planning on finishing it tomorrow. I understand it's going to be alot of work, but it'll be fun.
nielsie95
2012-04-12 18:31:04
It's very doable. Just start out with something small and expand from there.
Have you got any ideas on what kind of language you want to make? What flaws from other languages do you want to tackle? What languages will it be inspired by?
masterBB
2012-04-12 18:31:31
From: xXTrollXx
Nope. Nope. And, Nope. Just thought I'd try.
Couldn't be too terribly hard..
You're wrong, it is terribly hard to create a language that actually adds something. Do you have any idea what kind of language you want? Something that compiles to .dll and .exe files? Something that is read by an interpreter? Or maybe something like pascalscript and lape?
weequ
2012-04-12 18:33:05
Correct me if I'm wrong but programming languages has to be written in some language, usually a (very) low level language? How do you plan on creating it?
Vinyl Scratch
2012-04-12 18:33:12
It'll be based off of C++ and/or C#, but it'll do more.. I'll figure out more as I go.
Recursive
2012-04-12 18:33:46
Always worth a shot. Not that I know the first thing about making my first script talkless of making a whole new language for programming. But dude, go for it but be prepared to be driven to the limit of your patience with computers n' such
nielsie95
2012-04-12 18:35:49
It's pretty hard to work with multiple people if you have no idea what you're making ;)
Vinyl Scratch
2012-04-12 18:43:15
Ehh.. I have a couple of good friends, but I wanted to see if anybody wanted to help, and get there insights. Thanks, Btw, for the advice!
Kyle Undefined
2012-04-12 19:42:24
If you truly want to make a language, learn ASM. Then work your way up, it will teach you how everything works in layers.
If you can make a language, you could be working for any major company as a program optimiser :)
Vinyl Scratch
2012-04-12 22:37:54
That would be awesome. I hope I can get to that! I'm going to learn ASM, as Kyle said, but I don't know where to get a program to code it in. Anybody have any ideas on that?
eduardo230
2012-04-12 22:43:47
if you want you can.. dont give up (although is almost imposible or one person, the more big the wall is the most satisfaction you get when you passed it )
Vinyl Scratch
2012-04-12 22:53:58
Thanks! I'll post my progress when I can!
ShawnjohnSJ
2012-04-13 00:58:57
You'll probably want to create a simple scripting language first. Creating a full blown programming language is a tremendously big/hard task even for experienced programmers. But if you're serious about it, learn as much as you can about compilers.
m34tcode
2012-04-13 01:33:35
A full blown language is a project for entire dev teams. And it still takes a long time. You could make a macro script language. Even that would take at least few months though.
Simba doesn't actually use its own language, or interpreter. We are built off of the FreePascal Compiler
masterBB
2012-04-13 04:49:56
From: xXTrollXx
That would be awesome. I hope I can get to that! I'm going to learn ASM, as Kyle said, but I don't know where to get a program to code it in. Anybody have any ideas on that?
You just need to search for a x86 assembler. I believe microsoft got one, MASM. You could also use an open source editor like
http://flatassembler.net/
From: m34tcode
Simba doesn't actually use its own language, or interpreter. We are built off of the FreePascal Compiler
Simba is indeed compiled with the FreePascal compiler. But we support two interpreters for the script, pascalscript and lape. And both of them aren't FreePascal.
m34tcode
2012-04-13 06:25:12
Ah. True, I had forgotten about those. Still not languages we wrote though;)
masterBB
2012-04-13 06:33:39
From: m34tcode
Ah. True, I had forgotten about those. Still not languages we wrote though;)
Nielsie wrote lape:P Let's hope he doesn't read that.
m34tcode
2012-04-13 06:43:03
Nelsie can't have written it all. based it on one of the other open source compilers?
masterBB
2012-04-13 06:50:24
From: m34tcode
Nelsie can't have written it all. based it on one of the other open source compilers?
I don't think it's based on something else, but I can't be sure:
http://code.google.com/p/la-pe/source/browse/It doesn't look similar to pascalscript at all:
https://github.com/MerlijnWajer/Simba/tree/master/Units/PascalScript
m34tcode
2012-04-13 06:55:30
I cant see how nelsie could write the whole language alone, but then i guess it is possible
nielsie95
2012-04-13 07:36:23
You can make it as difficult as you want for yourself. For example, you could make a programming language which only accepts a one letter input and then with 'a' it writes 'ello' and with 'b' it writes 'bonjour'.
Lape is an implementation of Pascal, but it does not compile to assembly. Compiling to assembly is an extra step which makes it more difficult. Easier would be to compile to another programming language or just create an interpreter.
An interpreter for the above language could be as simple as:
case input of
'a': WriteLn('ello');
'b': WriteLn('bonjour');
else WriteLn('Invalid input');
end;
There's a whole
list of programming
languages, and not all of them are as difficult to implement as you might think ;)
Vinyl Scratch
2012-04-13 08:25:06
Well, That's a start. I'll work with that. Thanks, Nielsie.
Oxygen
2012-04-13 08:39:13
This a massive undertaking, you should take a course before considering something like this.
Markus
2012-04-13 08:41:05
Also, I really suggest you don't start out with X86 assembler. Trust me, it's pretty bad for learning purposes.
The MIPS CPU has relatively easy assembler, google QtSPIM for an easy to use assembler/simulator. ARM is supposed to be fun, too but I don't have experience with it.
masterBB
2012-04-13 08:58:34
I'm by far not as experienced as Markus or Nielsie, but I've done some programming in assembly two years ago, and I can assure you it will cost some time to learn the basics and feeling comfortable with it. If this is the way you want to go I don't think you will be able to finish the project, especially if your goal is a c/c sharp like language. It's even a big project for an experienced programmer.
If your goal is to make a language like lape or pascalscript, which basically parses the code and convert it into working pascal code, I can see it working out. It's quite a project but it's not as hard as all the assembly stuff. You can start small and I would like to help you where ever I can. Though I've never wrote my own language, I did some other parsing stuff. You also got a great example right here at lape's source.
Important questions are:
- What do you want your language to compile to?
- What language do you want to write it in? (normally the language it compiles to)
- How big do you want it to be?
- Is there a language you want to improve?
- How much time are you willing to invest?
Echo_
2012-04-13 10:07:53
From: masterBB
I'm by far not as experienced as Markus or Nielsie, but I've done some programming in assembly two years ago, and I can assure you it will cost some time to learn the basics and feeling comfortable with it. If this is the way you want to go I don't think you will be able to finish the project, especially if your goal is a c/c sharp like language. It's even a big project for an experienced programmer.
If your goal is to make a language like lape or pascalscript, which basically parses the code and convert it into working pascal code, I can see it working out. It's quite a project but it's not as hard as all the assembly stuff. You can start small and I would like to help you where ever I can. Though I've never wrote my own language, I did some other parsing stuff. You also got a great example right here at lape's source.
Important questions are:
- What do you want your language to compile to?
- What language do you want to write it in? (normally the language it compiles to)
- How big do you want it to be?
- Is there a language you want to improve?
- How much time are you willing to invest?
Also:
- What paradigms will it support? (functional, object-oriented?)
- Will there be a standard library supporting common functions (ie multithreading, GUI support)?
Are you making a new language for the experience or because you don't like today's programming languages? Also something to keep in mind, the language doesn't have to compile directly to ASM, you can have an intermediate language like C that the compiler translates your language to and then you can use a standard C compiler to produce the final product.
m34tcode
2012-04-13 10:08:56
^ you have the experts advice :)
wantonman
2012-04-13 16:28:00
also if you want to learn machine code youll be stuck there for quite a bit especially on a x86… try programming a calculator first!! or buy a mod kit to get you started with asm…
http://wiki.qemu.org/Main_Page maybe thats a better start to learn asm may the power be with you
id say first off fuck windows (excuse the language) it is completely overloaded with x-interface… i will keep letting you know that there are simple gadgets out there for you to bug with first… buy a hobby/ starter kit first!!!! they have some good ones for like programming a tiny LCD… and its all in asm/machine code… im telling you you will get bored or swarmed if you think learning asm on windows for x86 is do-able!!!
http://hackaday.com/ <—- that is one of my favorite web sites maybe you can find a project on it that will help you on your studies toward ASM!!!! and also anyone tell me what you think of hack a day! haha i should of been sharing this a while back well now is now i guess!!!
Bobby Boo
2012-04-13 16:34:38
off topic:
end; <--- line 54
[Error] (55:1): Identifier expected at line 54
Compiling failed.
What did I do wrong?
Silentcore
2012-04-13 17:00:35
That has been one of my dreams but for now, good luck bro.
Vinyl Scratch
2012-04-13 18:15:34
Thanks, I'll get to work on that later!
ShawnjohnSJ
2012-04-13 18:26:24
From: Bobby Boo
off topic:
end; <--- line 54
[Error] (55:1): Identifier expected at line 54
Compiling failed.
What did I do wrong?
This has absolutely nothing to do with this thread. If you want help with a compilation problem, post it in the right forum section. People will help you there.
m34tcode
2012-04-13 22:37:25
From: ShawnjohnSJ
This has absolutely nothing to do with this thread. If you want help with a compilation problem, post it in the right forum section. People will help you there.
this
Bobby Boo
2012-04-13 23:44:57
But I wanted to post it in an active thread <3
Plus I said off topic… why wont wou wub me
m34tcode
2012-04-14 00:51:41
because you are distracting from the current conversation.
We are discussing the creation of new programming languages. By posting that here, you are effectively interrupting. Please make a thread ins the public 'help' forum. You will not receive help here.
Vinyl Scratch
2012-04-15 15:14:00
Rep+, M34tcode. Thank you.
E: And ShawnjohnSJ