Skip to main content
gamedev.net
🔒 Locked

Serious about programming/scripting language

Started by AcidZombie24 9 replies 1.6k views
Original Post
AcidZombie24
AcidZombie24
Hey Guys, i am very serious about my programming language. I was thinking a subset of it could work as its own interrupted/scripting language. I documented the language, looked into others for inspiration etc. Now what do i do? i want this to be made and i am afraid i cant do it all myself or lack of time (sure i can do it in 10yrs spending an hour or two per week). What should i do? i was thinking about submitting snippets to google, game companies, etc to see who is interested. And i was thinking of contacting universities to see if anyone there is interested as well. What can i do? I know someone will say to open source it. I plan to have the libraries open sourced as all my apps are cross platform. Ideas anyone?
<SkilletAudio> Your framerate proves your lack of manhood
jjd
jjd
Quote:
Original post by AcidZombie24
Hey Guys, i am very serious about my programming language. I was thinking a subset of it could work as its own interrupted/scripting language. I documented the language, looked into others for inspiration etc.

Now what do i do? i want this to be made and i am afraid i cant do it all myself or lack of time (sure i can do it in 10yrs spending an hour or two per week). What should i do? i was thinking about submitting snippets to google, game companies, etc to see who is interested. And i was thinking of contacting universities to see if anyone there is interested as well.

What can i do?
I know someone will say to open source it. I plan to have the libraries open sourced as all my apps are cross platform. Ideas anyone?


Well you've pretty much answered your own question. If you're planning to make it open-source, and you want others to work on it with you, you might as well start a project on source forge.
Programmer One
Programmer One
I am going to be flat-out blunt with you: nobody is going to care about your programming language. Additionally, judging from your post you made last month about wanting to write a programming language - I am also going to assume your language is broken and/or totally incomplete.

The harsh reality is, you're not going to create the next C# all by yourself (especially not in a month), and anything less than a mainstream language is, quite honestly, a fart in the wind.

Now, some people may disagree with me but, even though PHP was designed by a single person, it took a lot more people and time to get it decent enough so that it'll pass for "complete shit."

What do you do? Nothing. You chalk it up on your resume/portfolio and you move on. If you are really serious about programming language design, I suggest you join an existing project and gain some additional experience. If you're still interested after all that, well, you'll know what to do next.
Sirisian
Sirisian
If you know how to program already and have a grasp of assembly and other low level thinking then pick up the book "Programming Languages : Principles and Paradigms". It will walk you through how languages work including BNF grammar, syntax checking, type systems, semantics and memory allocation including a section on the basics of GC. It also discusses the basic programming paradigms in great detail. The book covers the basics of writing an "interpreter" for a C-lite language.

After reading that book you should look into writing the grammar for your language and try to make sure what you have isn't ambiguous. The book also shows the mathematical model of a language which I don't find very useful but it might turn out to help you.

// edit oh wait I mentioned this to you before. So did you pick up the book and read it? It's really eye opening if you haven't put much thought into the subject. Honestly I just finished reading it a few weeks ago. :P
ApochPiQ
ApochPiQ
Quote:
Original post by AcidZombie24
Hey Guys, i am very serious about my programming language. I was thinking a subset of it could work as its own interrupted/scripting language. I documented the language, looked into others for inspiration etc.

Now what do i do? i want this to be made and i am afraid i cant do it all myself or lack of time (sure i can do it in 10yrs spending an hour or two per week). What should i do? i was thinking about submitting snippets to google, game companies, etc to see who is interested. And i was thinking of contacting universities to see if anyone there is interested as well.

What can i do?
I know someone will say to open source it. I plan to have the libraries open sourced as all my apps are cross platform. Ideas anyone?



Why should I use your language instead of one that is already stable, reliable, and widely used? If you haven't invented some remarkable new feature that nobody else has, nobody will care about your language besides you. Everybody else already designed their own language, and so they don't have any reason to be interested in yours. (I'm only slightly exaggerating here - but look around at the number of people doing experimental languages and you'll see just how overcrowded the market already is.)


In fact (and I speak from personal experience) you can even manage to invent that new amazing feature, and people still won't care.



So, here's what you need to do: you need an elevator pitch. Suppose you get into an elevator one day and there's a programmer already there. You have the duration of the elevator ride to convince him to use your language.

Ten seconds, five sentences or less - go. If you can't elevator pitch with success, don't expect your language to grow beyond a personal toy.
AcidZombie24
AcidZombie24
Quote:
Original post by Sirisian
pick up the book "Programming Languages : Principles and Paradigms". I
...
// edit oh wait I mentioned this to you before. So did you pick up the book and read it?


Since then i grabbed a copy, skimmed though interesting chapters. I had non programing language things on my todo list so i did those and picked the book up once again yesterday :).


>Ten seconds, five sentences or less - go

I suck at elevator pitch and not thinking about it, writing on the fly right this second i would say.

Wouldnt it be nice to use C++ without the verbosity and have bad practice more obvious then they are. C++ has a terribly small library, its a pity it doesn't have an official home where a community can share their libs. My language gives you all the power of C(++) without many bad practices c++ programmers like to do.



I know someone will call bullshit on my claims. I'll just give you one idea

string memberFunc(string a, b; int c; DataStruct d, MyClass e) <--- By default this is rval string memberFunc(const string &a, &b int c; const DataStruct &d, const MyClass &e); which i am sure everyone agrees is good practice and less verbose.

rval string i am still on the fence on how it should work. By default no params can be changed unless its explicitly defined. The compiler decides if DataStruct and MyClass should be passed myval or reference. They would also be a keyword to force a struct to be pass by val (for compatibility in other languages) etc.

But lets not pick at the language (thats not new, its just helps back my help better practice claim and is fairly obvious), what can i do to get this made?

About having it open source. I was thinking libraries because i want a community to help. But i dont know if any programmers will work on an open source language, no matter how good it is. Everyone seems to have their own projects. And i'm not sure if its a benefit to open source it if i am the only one programming it.
<SkilletAudio> Your framerate proves your lack of manhood
_goat
_goat
I'm writing a compiler (for an invented language). Here's mine:

"It's intended to replace C for low-level development. It brings with it some things we've learnt in the past 25 years. And its syntax is like python."

At some point it'll change to:

"It's intended to replace C/C++ for low-level development. It brings with it some things we've learnt in the past 25/15 years. And its syntax is like python."


I guess if you're really curious (don't be), you can check it out (lol double entendre) from it's little home on the web, or its svn location at http://prism.googlecode.com/svn/trunk/. Yeah, it's called prism.


But basically, no one is going to care about it. You're going to have to do a great deal of work on it by yourself, for a long time. After a while, people might take an interest. Maybe. If they do, a minute percent might contribute sourcecode and whatnot. A smaller percentage will actually be good code. So, good luck with that!
ApochPiQ
ApochPiQ
Quote:
Original post by AcidZombie24
Wouldnt it be nice to use C++ without the verbosity and have bad practice more obvious then they are. C++ has a terribly small library, its a pity it doesn't have an official home where a community can share their libs. My language gives you all the power of C(++) without many bad practices c++ programmers like to do.



C#. Java. VB.Net. F#. Lisp. ML. Haskell. Python. Ruby. D. Objective C. Hell, Perl, if you want to get into the libraries debate (c.f. CPAN).

Not sold.



If all you want to do is change the syntax of C++ to suit your personal whims, you'll never get any interest. I'm not trying to be a dick here - just telling it like it is. There are literally more than a dozen languages that sport better syntax than C++ and are just as powerful and already well established in the general market. And those are just the ones I can think of at 2 AM when I haven't slept properly in over a week.

In other words, inventing a new "skin" for C++ is a non-starter. A programming language is much, much more than just its syntax. A language needs to have a theme or a philosophy behind it - something that drives all of the design decisions and guides both the style and underlying implementation of the language itself.

Stated another way, you can't just invent a syntax and claim to have a solid programming language. The consequences of syntax are very deep and quite difficult to fully understand; what looks like a nice syntax on paper can often end up being a complete nightmare to work with - or, worse, difficult to implement correctly. (Want to know why C++ has very few solid refactoring tools? Because it's a bitch to parse correctly.)


I fully respect the notion that C++ has terrible syntax and there is plenty of room for improvement. However, in the realm of better syntax, there are already many choices - and they are deeply entrenched in the market. You have nothing to offer programmers. There's no reason to adopt a new, unproven, probably unstable language just because it looks slightly less like shit than C++ does; if I want a better syntax, I have so many options available it isn't even funny.

This is marketing 101 here. You don't try to compete with a large number of existing products if you have nothing new. Either find a niche where you can do something that nobody's done before, or resign yourself to creating something nobody will ever use. Talk to the Zune team about how difficult it is to break into a market with already-entrenched competition.
Sirisian
Sirisian
Wow I just wrote an elevator pitch for the language I've been slowly developing. Might as well just paste what's in my work in progress standard.
Quote:

Why a new language?
First you should understand why I'm making the language. C# and AS3 are radically different to the point that I've needed a language that runs on both. An interpretted language. You maybe be thinking to yourself, "but Sirisian Flash is too slow to run a language in a language (yo dawg)" well I'm going to code it in C++ and convert it to a library using alchemy. The language will have the basic features of Templates/Generics, OO, operator overloading, reflection, and MI. So I can write a script for my C# server and send a script to AS3 so that it just runs it. That's the basic idea.
Put it this way I've written code generation tools and it's just not cutting it.

Also why does there have to be a reason for writing a new language? It's a fun experiment in and of itself.

//edit actually once he reads that book I mentioned I think he'll come to some conclusion about his language probably and whether or not he should make it.
AcidZombie24
AcidZombie24
>There are literally more than a dozen languages that sport better syntax than C++ and are just as powerful and already well established in the general market

What are they? i'm not sure if i can say C# is as powerful as c++. There was something i wanted to do with templates but was not allowed to do it with generics in C#.
<SkilletAudio> Your framerate proves your lack of manhood
ApochPiQ
ApochPiQ
I quoted a long list of languages in that very post. Please be sure you read posts carefully before replying [wink]


C# is actually, in general, more powerful than C++ because of features like first-class functions (aka delegates), LINQ, etc. Arguably it is also superior for most tasks because of the garbage collected memory management architecture; and with "unsafe" code you can link it to straight C++ anyways so there's no need to stay purely in C#. Couple this with the fact that you can link C# to any other .Net language (like, say, F#, which is far more powerful than either C++ or C#) and you get a pretty damn strong case against C++.

Yeah, C++ has template metaprogramming, but that's some seriously dark voodoo, and very few people can do it correctly. C# on the other hand makes things difficult to do incorrectly - which is not to say it doesn't have its pitfalls, but it's a much safer language than C++ will ever be. Also, it doesn't have an idiotic compilation model like C++ does.


In any case, that's holy-war territory and we really don't need to go there.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.