creating a computer language
10-26-2009, 09:57 PM
|
creating a computer language
|
Posts: 492
Name: Lashtal
|
what do you need to know in order to do it?
[sorry if this sounds like a stupid question, lol]
|
|
|
|
10-26-2009, 10:40 PM
|
Re: creating a computer language
|
Posts: 1,066
Name: Matt
Location: Irvine, CA
|
That really depends on what you expect it to do. Languages range from full fledged general purpose programming languages to narrow scope meta languages. Generally, the difficulty of creating a language is proportionate to its power. A simple meta language might take one person a few hours to create, but would be limited in its applications. Of course on the other end of the spectrum are the mainstream languages such as [insert popular language here]. These languages are developed over years (or decades) by many people.
I guess what I'm trying to say is, what you need to know ranges from the ability to parse and interpret a few simple commands to an in-depth understanding of programming paradigms, language design, compilers/interpreters, machine language (and the list keeps going).
|
|
|
|
10-28-2009, 09:00 AM
|
Re: creating a computer language
|
Posts: 172
|
Do you mean website programming language, or "real" computer language?
|
|
|
|
10-28-2009, 11:36 PM
|
Re: creating a computer language
|
Posts: 492
Name: Lashtal
|
REAL computer languages, like C++
|
|
|
|
10-29-2009, 06:10 AM
|
Re: creating a computer language
|
Posts: 172
|
Oh, it will not be easy then  In order to create real computer language, you must know every bit of computer and understand how it works.
Anyways, I believe we have enough programming languages at the moment 
|
|
|
|
11-03-2009, 09:28 PM
|
Re: creating a computer language
|
Posts: 1,388
Name: Paul Davis
Location: San Francisco
|
"In days of old when knights were bold..." we used tools like Lex & Yacc to do it.
Nowadays, you should start by asking yourself a few questions.
Are you just trying to create a scripting language or a language that compiles to native machine code?
For a scripting language, you'll need to create an interpreter, for the later, a compiler.
From your post above, I'm guessing the later.
So, for a compiler, I'd recommend you start with the GCC.
The GCC works by using a "frontend" that compiles to a platform independent bytecode, and a backend, that targets specific platforms. This means for your new language, you'd only need to write the frontend.
So, have you written the Backus-Naur Form of your language yet?
|
|
|
|
11-10-2009, 06:12 AM
|
Re: creating a computer language
|
Posts: 492
Name: Lashtal
|
haha, no sir! I haven't written the BNF ...yet?
and my knowledge is nowhere where it needs to be to do something like that.
but I was just thinking about this question the other day, and I figured it would be a rather interesting one to ask. It has proven so for me so far.
|
|
|
|
11-10-2009, 07:05 AM
|
Re: creating a computer language
|
Posts: 492
Name: Lashtal
|
Also, what would one need to know in order to create an interpreter for a scripting language?
as I see you've already tackled the compiler approach.
|
|
|
|
11-10-2009, 07:39 AM
|
Re: creating a computer language
|
Posts: 22,214
Location: Blackpool. UK
|
Pretty much a similar thing.
You parse the script and make calls to functions you have already defined and complied into a "run time module"
|
|
|
|
11-12-2009, 02:37 AM
|
Re: creating a computer language
|
Posts: 492
Name: Lashtal
|
What is the official nomenclature for this particular aspect of computer science, where you create interpreters and compilers? (from the ground up)
|
|
|
|
11-12-2009, 05:31 AM
|
Re: creating a computer language
|
Posts: 22,214
Location: Blackpool. UK
|
programming!
|
|
|
|
11-12-2009, 09:48 AM
|
Re: creating a computer language
|
Posts: 58
Name: abhi
Location: Web
|
Hmmm..i used to think in the same way few years ago, To build a language you need to each bit of the computer, register, bus and every information.
I think you should start from building a compiler first like for C++.
|
|
|
|
11-13-2009, 08:30 AM
|
Re: creating a computer language
|
Posts: 492
Name: Lashtal
|
Quote:
Originally Posted by chrishirst
programming!
|
but Specifically?
like...
is there a specific name/occupation for someone who develops interpreters and compilers?
I was thinking Developer/Engineer... but without being too broad, could you say, "MySQL Dev." or "Borland Develper" ?
---
Reason I ask is, I was imagining someone out there... making improvements to the way languages communicate with a computer. So I was looking for an officially recognized name (I guess), or guidance as far as getting more into that goes.
suggestions as to what I should be looking at in order to understand more about this aspect of computer science?
|
|
|
|
11-19-2009, 03:55 PM
|
Re: creating a computer language
|
Posts: 492
Name: Lashtal
|
Quote:
Originally Posted by chrishirst
programming!
|
okay... you're right! (again, lol)
Some reading has shown me that all one is doing here is, yeah, programming.
|
|
|
|
11-19-2009, 04:02 PM
|
Re: creating a computer language
|
Posts: 492
Name: Lashtal
|
Quote:
Originally Posted by NullPointer
...what you need to know ranges from the ability to parse and interpret a few simple commands to an in-depth understanding of programming paradigms, language design, compilers/interpreters, machine language (and the list keeps going).
|
Now let me come back to this, because I find it interesting.
Who are the people that make improvements or innovations in this field?
(could you list some examples of people who have done this?) Please, and thank you.
|
|
|
|
11-19-2009, 04:57 PM
|
Re: creating a computer language
|
Posts: 1,066
Name: Matt
Location: Irvine, CA
|
Quote:
Originally Posted by Lashtal
Who are the people that make improvements or innovations in this field?
|
There are a wide range of people concerned with language design.
Some companies develop languages. Google just announced Go and a while back Microsoft announced Axum, both of which are designed with concurrency in mind (creating programs that can be executed non-sequentially is most likely the largest problem in language design currently).
Non-corporate organizations (ISO for example) are also involved the development of languages. C++ for example does not have a "home" like many other languages. Java has Sun, C# has Microsoft, PHP has PHP Group. C++ standards are created by the ISO (the last one in 98, with the next one coming soon).
Universities also contribute to the development of languages. Languages like LISP got theirs start at universities. In reality the three entities I mentioned are not distinct. Many companies work in conjunction with universities (tuition isn't the only way to make money). Most computer science programs involve courses in language concepts and compilers/interpreters, so at some level, any research university offering a degree in computer science is involved in language design.
|
|
|
|
11-19-2009, 10:57 PM
|
Re: creating a computer language
|
Posts: 1,388
Name: Paul Davis
Location: San Francisco
|
Quote:
Originally Posted by Lashtal
Now let me come back to this, because I find it interesting.
Who are the people that make improvements or innovations in this field?
(could you list some examples of people who have done this?) Please, and thank you.
|
Could be most anyone.
I used to work with a guy named Fredrik Hubinette who created a language called Pike. I met Graeme Rocher a few years ago at a conference, he created Groovy.
I've used lex and yacc to create mini-scripting languages for application configuration (long time ago). The actual work for creating a language isn't that big a deal.
The hard part is creating a specification for a language. There are so many little details that you may never think of ahead of time.
There is currently a movement going on to create lots of small DSLs (Domain Specific Languages) to work with application languages. Generally, the idea is you might have a scripting language specific to supply and logistics software, or one specific to financial software, to allow working on applications in those spaces.
Our general purpose application languages (C/C++/Java/etc) tend to be unwieldy for non-programmers but, a simplified language that targets a specific area could be easier.
Others, myself included, think it's delusional to create a language for non-programmers but, think it's a good idea to create code that is at least readable by non-programmers.
|
|
|
|
|
« Reply to creating a computer language
|
|
|
| Thread Tools |
Search this Thread |
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|
|