Computer Science Canada

Open Turing (How to make turing)

Author:  Tony [ Tue Nov 07, 2006 2:07 pm ]
Post subject:  Open Turing (How to make turing)

[mod:08e9549060]
This topic was split from "help new to programming" and was spawned from andys coments that we should make our own turing that is free.
[/mod:08e9549060]

you know the deal Andy, we need a lead for the compiler development. A lot of people are interested and willing to participate and contribute, but we lack expertise and leadership for this crucial part of the project.

Author:  Andy [ Tue Nov 07, 2006 2:16 pm ]
Post subject: 

hmm, how many people here took a compiler course? Martin said he droped out of it didn he?

Author:  wtd [ Tue Nov 07, 2006 2:30 pm ]
Post subject: 

You know, you wouldn't need for it to compile down to native machine code. You could just have it translate into another language. Might be easier.

Author:  Tony [ Tue Nov 07, 2006 2:35 pm ]
Post subject: 

wtd wrote:
You could just have it translate into another language. Might be easier.

I've already brought this up, and this is exactly how Turing works currentlly. The syntax is translated into C++ via Lexer, and is then compiled as such. Quite possibly using VC++'s compiler (at least executables have a lot of references to it)

I'm actually in favour of this approach (if anything, just because I can do a whole lot more myself). Though I'd like to hear from Andy as to the advantages we'd get out of running our own compiler instead.

Author:  Dan [ Tue Nov 07, 2006 5:32 pm ]
Post subject: 

I am curently taking a corses that deals with some complier realted materal. I deftaly think it dose not make scences to make it complie to mashen code if you ever whont to see the project done. Also if you whont to make it plantform indpenedt then VC++ is not going to be going in the right direction.

Author:  Andy [ Tue Nov 07, 2006 5:40 pm ]
Post subject: 

although i'm a die hard asm fan, compiling to c would be much easier. I'm actually writing an interpretor for work right now, so it wouldnt be much work. I guess commitment is greatest issue here =P

Author:  Dan [ Tue Nov 07, 2006 5:58 pm ]
Post subject: 

I am not shure if you guys have fully thought out the domain for this project. If you think about it most of the users of turing do not even know what a complier is. Most do not even know that turing can make exes. If you do pull off a complier that turns turing to c code (witch is going to bring up more issues as to how you are going to do the windows and graphics things platform idpentlyl) very few users who do not have turing will be able to figgure out how to use an comand line complier with out alot of help from others with more knowalge about such things.

If you whont to make somthing that whould be most helpfull to the magority of turing users i whould make an IDE with an interperiter builit in. Personaly i whould try to replicate the turing IDE in a java applet so they whould not even have to download anything to get going. Also as an applet with out the ablity to aucatly complie to an exe and fixed to our site you could aucatly make moeny off this by placing some small ads right below it well stiill providing a free turing resorce online.

This may not sound sain form a progaming stand point but if you think of who your client is and what they are using it for it dose. Very few users of turing are aucatly trying to make exes but the magoirty are just trying to run there program at home.

Also from a leagal stand point an applet turing IDE is quite diffrent form baisclky remaking turing. Since turing was aucatly made very much like you descirbe there could be legeal ramfiactions of basiclky reversengering turing and making the same thing with out the IDE.

Just some non-progaming realted thoughts.....

Author:  batman [ Tue Nov 07, 2006 6:19 pm ]
Post subject:  Which to use?

i recomend using turing first it is very simple, then one you have obtained a lot of turing knowledge then move on to java which can create more colpex programs. C++ is also a good and it is free as well. I have one question though where do u get ruby????????????????? Anyways, turing is free and u can get it on the internet u just need to know where to look.(cough) Very Happy

Author:  Dan [ Tue Nov 07, 2006 6:26 pm ]
Post subject:  Re: Which to use?

batman wrote:
i recomend using turing first it is very simple, then one you have obtained a lot of turing knowledge then move on to java which can create more colpex programs. C++ is also a good and it is free as well. I have one question though where do u get ruby????????????????? Anyways, turing is free and u can get it on the internet u just need to know where to look.(cough) Very Happy


Turing is no more free then windows or photoshop. If you post a copy of turing online you could get sewed by holthsoft and it is tehcaly break some rules to download and use it with out a lincen. Also the last few poster where talking about making a free verson of turring not about using other langues then turing.

Author:  batman [ Tue Nov 07, 2006 6:30 pm ]
Post subject:  Turing

I know turing is not free, but you can downloaded if you know where to find it thats all im saying. Its not like im going to tell people where to get it. Its kinda of obvious where you can get it.

[mod:07a755248d="hacker dan"]
Then why did you bother saying that? Please do not spam topics when it is "obvious where you can get it.".
[/mod:07a755248d]
[mod:07a755248d="Tony"]
You are clearly derailing this topic.
[/mod:07a755248d]

Author:  Tony [ Tue Nov 07, 2006 6:50 pm ]
Post subject: 

It doesn't matter if the students can't tell a compiler appart from blue (well it does, but that's besides this point). They are looking at running their Turing assignments at home, and if it's by another name, but works.. it shouldn't matter.

We are not compeating with Holt here (the compiler and IDE will be freely available under GNU/GPL). It's just that it's going to have a nifty feature of complete backwards compatibility to Turing's syntax Wink I'd like to think of this as OpenOffice being able to save in Word.doc format.

As long as we don't use Lexer/VC++ combination, the project will be quite different. In fact I hope of extending the language in it's short-comings. Definitely OpenGL based graphics package!

code:

View.Set("3D")
Draw.Line3D(x1,y1,z1,x2,y2,z2,blue)

Very Happy

Clean room development, no openning up on Turing's IDE with hex readers Laughing

Author:  wtd [ Tue Nov 07, 2006 11:58 pm ]
Post subject:  Re: Which to use?

batman wrote:
i recomend using turing first it is very simple


I'm not sure why I even bother saying this anymore...

Turing is not the only "simple" programming language. It's not even really all that simple.

Author:  Dan [ Wed Nov 08, 2006 12:40 am ]
Post subject: 

Tony wrote:
It doesn't matter if the students can't tell a compiler appart from blue (well it does, but that's besides this point). They are looking at running their Turing assignments at home, and if it's by another name, but works.. it shouldn't matter.


It dose matter if they do not know how to use it :p. Unless you mean make an IDE for it too. We realy should get a new forum or topic for this going.

Legeal wise if they did try to sue it whould be a fun cort case....

Author:  Andy [ Wed Nov 08, 2006 1:17 am ]
Post subject: 

can they license the language? i mean, how would they do it? by keywords? by syntax? i'm really curious...

Author:  Dan [ Wed Nov 08, 2006 1:29 am ]
Post subject: 

It whould be an intresting thing to look in to. I honstly am not shure if you can copy right the sytantx of a langue or even the word "turing". It is somthing that should be looked in to, to some degrea tho. Tho it whould be a hard case for holth soft to make since they whould have no loss of profit since virutal all there sales are from selling to the school borad. I swaer you could get ritch slaping together crapy software in VB and selling it to the goverment and public orginations as long as you lobby for it.

Any how this topic is kind of geting out of control from what it started as so i am going to slipt it. Hopfully every one will figgure it out.

Author:  wtd [ Wed Nov 08, 2006 1:36 am ]
Post subject: 

Keep in mind that if you wish to create an open source Turing, you'll have to perfectly replicate its semantics, as well as its syntax. Yes, even the things you don't like.

Anything else would be just another programming language, and a fairly lame one at that.

Author:  Tony [ Wed Nov 08, 2006 9:54 am ]
Post subject: 

thx for splitting this Dan Smile I've PMed you with my thoughts on copyrights. For the benifit of the others - syntax would be difficult to copyright, languages often borrow parts from one another (and certain things just make sense. You can't copyright for or if then). Supposedly Turing borrows heavily from Pascal (although I haven't tried it out myself, so can't comment).

What remains is "Turing" as in "programming language". That would actually be a viable trademark. We'd just have to use another dead Mathematician's name in place. (You know, the whole IceWeasel deal)

wtd - Turing would have to be replicated to the best of our abilities, yes - that's the feature we are aiming for. Though arguably processes could be left out Laughing As long as the original Turing syntax remains as a subset of the language, I don't see why it can't be extended with new modules. Granted that it might cause some confusion (since that would not be backwards compatable with the original Turing). Perhaps force an explicit include? I'm jumping ahead of myself again...

Author:  md [ Wed Nov 08, 2006 10:48 am ]
Post subject: 

Processes ahould be easy to implement, monitors would be a little harder, but not by much.

The hardest part is parsing the language and generating (preferably human readable) C/C++ code. Potentially even Pascal code...

Author:  wtd [ Wed Nov 08, 2006 11:28 am ]
Post subject: 

Well, Tony, the only real reason Turing is in demand at all is that it is mandated for use by students in some schools. If the Turing you could provide cannot work seamlessly with the Turing Holtsoft provides, then it's useless for those students.

Similarly, if you extend the language, students will still not be able to use it. Any work they turned in which depended on things made possible by that extended Turing would be rejected by their teachers for not working with the official Holtsoft Turing environment.

Author:  md [ Wed Nov 08, 2006 1:42 pm ]
Post subject: 

Unless such extentions are implemented as Turing code (probably slow) and as a hook to a native version; so like if you write 3d functions then you'd have to implement them in Turing, and potentially also provide a OpenGL version in C/C++ or whatever that is used instead where possible.

Author:  Tony [ Wed Nov 08, 2006 1:46 pm ]
Post subject: 

Good point. You are right, we should concentrate on the full compatibility before else.

I do want to hear your opinion on one thing though. Given an alternative graphics engine (say OpenGL), the code ends up running phenominally faster, and renders better (clearer colours, anti-aliasing, etc). The same code works with the original Turing, but looks more pixalated, and appears to lag.

Would you consider that a problem?

Author:  Andy [ Wed Nov 08, 2006 4:36 pm ]
Post subject: 

The only problem i'd see with that is students convincing teachers to stop using Holtsoft's Turing and use ours. Which would in turn, cause Holtsoft to lose profits, resulting us getting sued.

Author:  Tony [ Wed Nov 08, 2006 4:52 pm ]
Post subject: 

why would schools do that? we don't offer any Turing support Laughing (does anyone know how Holt's distribution license works?)

Is there any case law on the topic of people not upgrading to new Microsoft Office, and using OpenOffice (or heck, even Google's apps) to continue working on the same files?

Author:  md [ Wed Nov 08, 2006 6:37 pm ]
Post subject: 

Andy wrote:
The only problem i'd see with that is students convincing teachers to stop using Holtsoft's Turing and use ours. Which would in turn, cause Holtsoft to lose profits, resulting us getting sued.


There is no grounds for a lawsuit, nothing to worry about. Unless we copy routines written by holtsoft. Cleanroom implementation is key here; some people look at the existing turing code and write docs, some people who have never seen the code look at the docs and write new code.

But like tony says, schools will not use free software unless there is a support contract there. So there really isn't any competition there.

Author:  Dan [ Wed Nov 08, 2006 8:16 pm ]
Post subject: 

Tony wrote:

I do want to hear your opinion on one thing though. Given an alternative graphics engine (say OpenGL), the code ends up running phenominally faster, and renders better (clearer colours, anti-aliasing, etc). The same code works with the original Turing, but looks more pixalated, and appears to lag.

Would you consider that a problem?


It could be in poorly wirten code. Since noramly turing whould be slower the student may not put any kind of dealy of fps control in there game and in open turing it whould happen so fast it whould be unplayable. In the other way around a student could make some bad code in open truing that runs ok but in real turing it takes a day or so to run a frame.

This is just a simple example, there could be many other timing issues if the sutedent is not using the best coding partucies.

Author:  md [ Wed Nov 08, 2006 9:07 pm ]
Post subject: 

I think if this is just a command line tool (and I'm definitely not up for writing an IDE) then very few beginners will use it. Only people who are really interested would use it (or people who just want to run some of these supposedly nifty programs...). While that may limit hte user-base at first it's probably also a good thing. No need to worry about stupid users if there aren't any.

Author:  wtd [ Wed Nov 08, 2006 9:09 pm ]
Post subject: 

Command-line for free, and that is easily obtainable would likely be more appealing than you think. Plus, it's the easier of the two (CLI, GUI) options to implement, and as such is the logical first choice.

Author:  Tony [ Wed Nov 08, 2006 11:56 pm ]
Post subject: 

well the GUI based IDE is essentially just a graphical wrapper for the compiler (and packs a bunch of extra features like a text editor, and perhaps debugger options). So command-line compiler is the first step, IDE could be a project on its own.

(btw, my detailed commentary on the legal aspects of Turing's syntax can now be found on the blog)

Author:  Clayton [ Fri Nov 10, 2006 1:23 pm ]
Post subject: 

Tony wrote:
Good point. You are right, we should concentrate on the full compatibility before else.

I do want to hear your opinion on one thing though. Given an alternative graphics engine (say OpenGL), the code ends up running phenominally faster, and renders better (clearer colours, anti-aliasing, etc). The same code works with the original Turing, but looks more pixalated, and appears to lag.

Would you consider that a problem?


Well considering OpenGL (as you so rightly said), runs so much faster than the "official" turing, you could get problems when a student makes a game that is fairly graphically dependent and a bit of a CPU hog even on OpenGL, then they go over to the official version, and it then runs so slow you can count the iterations of a loop. I think that, should this get started, we should try and keep it as close to the official versions speed as possible. (That is, if this IDE thing gets off the ground)

wtd wrote:

Command-line for free, and that is easily obtainable would likely be more appealing than you think. Plus, it's the easier of the two (CLI, GUI) options to implement, and as such is the logical first choice.


Right you are. I personally would take the command-line option if it was for free. It also has the upside for students to learn how to use the command line, and other things, such as traversing directories etc.

Author:  Tony [ Fri Nov 10, 2006 1:48 pm ]
Post subject: 

Freakman wrote:
we should try and keep it as close to the official versions speed as possible. (That is, if this IDE thing gets off the ground)

But that means intentionally crippling the language (with what? artificially implanted clock-cycle caps?)

and the IDE we are free to play with. It's just the source code compatibility that we are conserned with.

Author:  wtd [ Fri Nov 10, 2006 2:15 pm ]
Post subject: 

Tony wrote:
Freakman wrote:
we should try and keep it as close to the official versions speed as possible. (That is, if this IDE thing gets off the ground)

But that means intentionally crippling the language (with what? artificially implanted clock-cycle caps?)


I just see no appeal to an open source Turing clone beyond where Turing is currently used. As such, compatibility in all aspects with that existing environment is the top priority.

Author:  Cervantes [ Fri Nov 10, 2006 2:21 pm ]
Post subject: 

Tony wrote:
We'd just have to use another dead Mathematician's name in place. (You know, the whole IceWeasel deal)


How about Alonzo Church? He's closely linked to Turing (see Church-Turing thesis) and fathered lambda calculus.

I'd say we shoot for a CLI first. Once that's been done, the road to an IDE is open.

Author:  Tony [ Fri Nov 10, 2006 2:31 pm ]
Post subject: 

Quote:

[Alonzo Church] and Turing then showed that the lambda calculus and the Turing machine used in Turing's halting problem were equivalent in capabilities, and subsequently demonstrated a variety of alternative "mechanical processes for computation."

Cervantes, I am awed with your brilliance

Author:  rdrake [ Fri Nov 10, 2006 4:00 pm ]
Post subject: 

Posted Image, might have been reduced in size. Click Image to view fullscreen.
Laughing

Author:  [Gandalf] [ Fri Nov 10, 2006 4:35 pm ]
Post subject: 

Wow, nice rdrake. You forgot syntax highlighting though. Claping

wtd wrote:
I just see no appeal to an open source Turing clone beyond where Turing is currently used. As such, compatibility in all aspects with that existing environment is the top priority.

Oh dear... For once I must strongly disagree.

I mean, yes, a huge part of the reason for making this is to help kids out with school projects and homework, but that's hardly reason to do something as insane as purposly crippling something. Leave that to the commercial programmers...

First off, it would be possible to leave it at full speed by default, and then have an option to either put in a delay or else waste clock cycles on 'nothing'. Same thing goes for extending the actual language capabilities or library, have a backwards compatible mode, and then an extended mode.

Second off, you'd never get the exact, or probably even close to the real speed of each function of Turing. It's not worth the effort it would take. Imagine all the things that affect the execution time of some code, who feels like wasting time measuring how long each function in Turing takes to run in a whole bunch of test cases? Not I...

Third off, letting problems like "do we make it slow when it doesn't have to be?" cripple the beginnings of this project is the first step to it dieing out, like everything else. Rolling Eyes

In the end, you can only go so far in "compatibility in all aspects."

Author:  zylum [ Fri Nov 10, 2006 5:00 pm ]
Post subject: 

why would you want to make it slower than necessary? i would have to disagree with that point. but we should make the language identical atleast for the first version. then if we make newer versions we can depricate some stuff and add in our own functionality.

Author:  md [ Fri Nov 10, 2006 5:11 pm ]
Post subject: 

Compatible in the sense that syntax and stardard library functions are all the same. Beyond that anything new is an extension, and the only good ones I can think of are linking turing function headres to pre-written code in another language. That allows you to import all the additional features you want if they use non-turing-standard APIs (like say, OpenGL).

Author:  [Gandalf] [ Fri Nov 10, 2006 5:42 pm ]
Post subject: 

Good idea md, though extending actual language features might be a bit interesting too.

As for what I said, I assumed that wtd was also talking about crippling the speed, since he replied to:
Quote:
But that means intentionally crippling the language (with what? artificially implanted clock-cycle caps?)

In which case I fully agree with zylum.

Author:  wtd [ Fri Nov 10, 2006 5:48 pm ]
Post subject: 

Perhaps a few questions should be answered up front.

What is the target audience for "Open Turing"?

What problems does that audience have?

How will it solve those problems?

Author:  Andy [ Fri Nov 10, 2006 6:22 pm ]
Post subject: 

i brought up an interesting idea on another topic. what about hooking our turing compiler up with CGI and allow it access via the internet, and make an php turing editor?

Author:  Cervantes [ Fri Nov 10, 2006 6:31 pm ]
Post subject: 

I don't see much of an advantage to that. Instead of asking students to download and install and run the program, they have to go online and load this webpage. Also, it would be a lot slower.

Author:  Andy [ Fri Nov 10, 2006 7:42 pm ]
Post subject: 

there are several advantages.

1, editor would be extremely easy to build, since we already have turing syntax highlighting implemented into compsci.ca. 2, it would be able to determine what system the user is on and automatically build the required binary for the user, without having them worry about which version of openTuring to install. and finally, it would give us a chance to track bugs within the software, if the program crashes, we'd know it and have memory dumps of what went wrong.

Author:  Cervantes [ Fri Nov 10, 2006 8:15 pm ]
Post subject: 

1) If we're going for a CLI, this doesn't even apply. And I would imagine the syntax highlighting for compsci.ca could be ported to whatever IDE we build, even if that just means copying and pasting a huge array of keywords or whatever it may be.

2) I wouldn't forsee a problem of students downloading the linux version of openTuring and trying to install it on their windows machine, or (especially!) vice versa.

3) Good call here.

Author:  md [ Fri Nov 10, 2006 8:43 pm ]
Post subject: 

forget the GUI aspects for now, though I too think a web-based gui is mostly pointless.

In answer to wtd's questions:

Quote:
What is the target audience for "Open Turing"?

I think there are actually two audiences. The first is people who wish to write turing code at home, and don't want to resort to pirated copies of Turing. This group may not run windows, and they may or may not be studying comptuer science in some schooling environment. This would most likely be the larger group of users.

The second, smaller, group are those (like me) who see the occasional turing program which looks interesting, but have no way of running it to check it out. Again this group may not be running windows. However unlike the first this group is unlikely to do very much in the way of actual programming, excepting the occasional debugging.

Quote:
What problems does that audience have?

The problems faced are again two-fold. In the absence of a free implementation of a turing compiler anyone wishing to run programs must find and download a copy of Turing. This is in violation of copyright law; and is not a legally or ethically valid choice. While many people have done this, I would think that were a sufficiently easy to use compiler made available for free they would use it instead of resorting to copyright infringment, and potentially theft (depending on the interpretation of copyright law).

In addition to the lack of a free turing compiler, anyone wishing to use Turing, legitimately or not, is forced to run Windows or MacOS in some fashion. This again limits a potential users options as if they do not run Windows/MacOS - or worse do not own either - they are forced to install (again perhaps an illegally acquired copy) of one or the other.

As the majority of Turing users are students, placing the added burden of running a non-free operating system, on potentially non-free hardware, will almost certainly place them in a position where they must violate copyright law in order to run their own turing programs. This is not acceptable.

Quote:
How will it solve those problems?

A free turing compiler solves these problems by removing the limitations of the commercial Turing compiler. Specifically it is free, so students can easily afford it, and if the source code is released under an open source license (and I firmly believe that should be the case) then it could easily be ported to other systems such as linux or *BSD. That further reduces or removes the burden of running a non-free operating system such as Windows or MacOS by not requiring the use of such operating systems.


The next question is "How do we get there?" I think that is where things will get messy.

Author:  Windsurfer [ Fri Nov 10, 2006 9:58 pm ]
Post subject: 

Can we call it openFlugge-Lotz? Laughing (just because i find the name funny)

Or, perhaps call it openEinstein? After all, he did once say "I don't believe in mathematics." And it would be entirely ironic.

Author:  bugzpodder [ Sat Nov 11, 2006 9:36 pm ]
Post subject: 

Andy wrote:
hmm, how many people here took a compiler course? Martin said he droped out of it didn he?


i took the lower level compilers course, got like a 91. May I add that I remember nothing from it. Go VB

Posted Image, might have been reduced in size. Click Image to view fullscreen.

Author:  Clayton [ Sat Nov 11, 2006 9:51 pm ]
Post subject: 

Looks good Bugz, now does it actually compile and run the code properly? Wink

Author:  bugzpodder [ Sat Nov 11, 2006 9:58 pm ]
Post subject: 

that was from 5 years ago... (look at the old msn icon on the bottom right Smile, and i think the start menu looks like win98 or win ME) and yes, it uses the old dos turing compiler Wink Ironically, that program displayed is also my first turing program, which is over 2000 lines long and practically does nothing.

Author:  wtd [ Mon Nov 13, 2006 9:44 am ]
Post subject: 

I don't suppose Holtsoft provides a grammar for Turing with the executable.

Author:  [Gandalf] [ Wed Nov 15, 2006 4:39 pm ]
Post subject: 

wtd wrote:
I don't suppose Holtsoft provides a grammar for Turing with the executable.

Somehow, I doubt it.

Did someone say dead, already?

Author:  zylum [ Wed Nov 15, 2006 5:22 pm ]
Post subject: 

should we make it interpreted or compiled?

Author:  rdrake [ Wed Nov 15, 2006 5:31 pm ]
Post subject: 

wtd wrote:
I don't suppose Holtsoft provides a grammar for Turing with the executable.
Not the full thing, no. They provide a sort of lexer file in the directory Support/lib/lexer called OOT.SDF. This would be a very basic starting point in writing the scanner I suppose.

Author:  Tony [ Wed Nov 15, 2006 9:03 pm ]
Post subject: 

zylum wrote:
should we make it interpreted or compiled?

The current outlook is to generate platform independent C++ code and compile that.

Author:  zylum [ Wed Nov 15, 2006 9:33 pm ]
Post subject: 

sounds good. so in what language should we write this 'compiler' ? i personaly would prefer java mainly because im most proficient in that language. also because its platform independent, has great support for regular expressions, the language itself is now open source ( http://www.sun.com/2006-1113/feature/index.jsp ) and we could possibly make an online compiler through an applet.

what do you guys think?

Author:  Dan [ Thu Nov 16, 2006 1:04 am ]
Post subject: 

zylum wrote:
sounds good. so in what language should we write this 'compiler' ? i personaly would prefer java mainly because im most proficient in that language. also because its platform independent, has great support for regular expressions, the language itself is now open source ( http://www.sun.com/2006-1113/feature/index.jsp ) and we could possibly make an online compiler through an applet.

what do you guys think?


I sugested that in an above post, java also has some nice scanner clases that whould do alot of work for us.

Author:  Andy [ Thu Nov 16, 2006 4:00 am ]
Post subject: 

there are countless parsers and lexers for c. I'd prefer to do it in C++ tho

Author:  rdrake [ Thu Nov 16, 2006 6:07 pm ]
Post subject: 

If anybody is really serious about this project, they must take the following things into consideration, at the very least:

  • What language would it be written in?
  • Would Turing be completely remade or added upon?
  • What license would it be released under?
  • What happens if Holtsoft decides to come after us?
  • Do we try to emulate Holtsoft's interface as much as possible to ease the transition?
  • How will we inform schools there is a better choice out there? Will schools be informed at all?
  • What platforms should be supported?
  • Should we make an IDE, would we make one for each platform or use tools which allow it to be cross-platform? Essentially, should we try to integrate the IDE more into the operating systems?
These are just a few of the many questions which must be answered. Sadly, there will be arguments and there will be fights, but the answers to these questions must be set in stone before any work can begin.

I know everybody wants to use their own language (Java and C++ being the most popular), some may prefer different licenses (I'm sensing a huge leaning towards the GPL), etc..

Answer these, make these your goal, and the project should move smoothly.

Oh, and if this does go on, please, please, please use a form of source control (I recommend SVN, it being the easiest and fastest to use).

Author:  [Gandalf] [ Thu Nov 16, 2006 7:35 pm ]
Post subject: 

Really, I think the hardest part will be getting someone to actually start coding the compiler.

# What language would it be written in?
@ Now that's the question we're trying to answer now isn't it?

# Would Turing be completely remade or added upon?
@ First things first, making a replica of the current Turing language. Later on, additional options can be added, but there's no need to worry about that before we get the base finished.

# What license would it be released under?
@ I'm with you, GPL sounds good.

# What happens if Holtsoft decides to come after us?
@ Ultimately this is up to the majority of the people involved, or at least the admins, but we've already decided it's unlikely (I think). If worse comes, we can make it sort of private project, though that eliminates a large part of the point of having 'openTuring'.

# Do we try to emulate Holtsoft's interface as much as possible to ease the transition?
@ No use worrying about interface before compiler. For the start what you've already done is more than enough in terms of a GUI. Wink

# How will we inform schools there is a better choice out there? Will schools be informed at all?
@ Somehow I doubt it, but it ultimately depends on if someone is willing to try spreading the news.

# What platforms should be supported?
@ A large part of our goal is to create a cross platform compiler, right? So I'd say Linux and Windows as a priority, and then others once we have that working.

# Should we make an IDE, would we make one for each platform or use tools which allow it to be cross-platform? Essentially, should we try to integrate the IDE more into the operating systems?
@ I see no problem in trying. But again, an IDE is secondary... It's even possible to just create syntax highlighting features for an already existing editor. Or heck, use the V3 Turing syntax highlighting to make a sort of online editor. Smile

Author:  wtd [ Thu Nov 16, 2006 7:46 pm ]
Post subject: 

I think more important than what the implementation language will be is the consideration of what form an implementation would take.

Are you interested in making an interpreter? The source code for a program would be parsed, and then that parse tree would be interpreted. Examples of this in the wild include Holtsoft's Turing environment, Perl5, and the current C implementation of Ruby.

Should it parse a source file, and create machine code for a virtual machine? Java and Python, for instance, follow this model. A sub-option is: target an existing VM, or create one? Existing VMs include things like the JVM, .NET CLR, and Parrot.

Are you interested in writing a compiler that generates native machine code? Perhaps as a front-end to GCC, for instance. Obviously, C and C++ follow this model.

The final option is simply translating the Turing program into equivalent code in another language, and then compiling or interpreting the resulting source code using existing tools for that language. I know of no tools that work this way, aside possibly for Objective-C, but I may be simply unaware of projects following this model. The biggest complication of following this model is maintaining consistent run-time behavior (particularly with regard to errors) with the existing official Turing environment.

Author:  Amailer [ Thu Nov 16, 2006 9:21 pm ]
Post subject: 

To the question regarding the schools- at least for my school, I'll definitely make sure that my sir takes a look at it (next semester) and since my board is really small (2 schools in this area) maybe it can be passed on. Though I'm sure they will be interested.


: