Page 1 of 1
QuakeScheme?
Posted: Fri Aug 02, 2013 3:12 pm
by scar3crow
Didn't get to watch much of it, nor do I know off the top of my head where to find it, but during Carmack's keynote speech he spoke of how he had been wondering how it would've been had instead of making QuakeC, he made QuakeScheme. It was an interesting little side note, and then he went off on a tangent about mucking around in Haskell. Something to discuss, how do you think Quake would've gone had its interpreted language been based on Scheme rather than C?
Re: QuakeScheme?
Posted: Fri Aug 02, 2013 4:36 pm
by r00k
i found this
http://icculus.org/~phaethon/qscheme.html
but not sure what 'scheme' looks like.
Re: QuakeScheme?
Posted: Fri Aug 02, 2013 6:28 pm
by LordHavoc
Scheme is one of the more famous LISP dialects, functional programming is a different approach than macro-assemblers like C, relying entirely on nesting of parentheses for code structure, everything is an expression, and data and code are the same thing, both modifiable in the program, basically LISP dialects are implementations of the Lambda Calculus, a mathematical theory of computing, much simpler and more consistent than C but I find it unwieldy.
One of the better syntax examples of Scheme is probably this on the wikipedia page:
http://en.wikipedia.org/wiki/Scheme_%28 ... _variables
Re: QuakeScheme?
Posted: Fri Aug 02, 2013 10:23 pm
by frag.machine
Also, LISP is known as "Lots of Infernal Stupid Parenthesis".
Functional languages are an interesting concept, but I still think QuakeC was the Right Thing (tm) to do because the C-style syntax is very popular and well known. That alone is a very strong argument if you want the community to embrace your game.
Re: QuakeScheme?
Posted: Sat Aug 03, 2013 12:05 am
by LordHavoc
Usual nickname I see for LISP is "Lost In Superfluous Parentheses".
I really admire LISP for consistency, but clarity is lost.
Re: QuakeScheme?
Posted: Sat Aug 03, 2013 1:20 am
by scar3crow
Your description of LISP sounds like something might reserve for a harmless troll...
I don't know jack about LISP versus C et al, so I don't know how QuakeScheme would've impacted modding.
Re: QuakeScheme?
Posted: Sat Aug 03, 2013 3:30 am
by r00k
i think since the engine was coded in C it was only logical to make quake modding in a c style lang as im sure they had the forethought to release the engine source; it's just an easier progression.
Re: QuakeScheme?
Posted: Sat Aug 03, 2013 5:32 pm
by goldenboy
boy am I glad they didn't do that.
Re: QuakeScheme?
Posted: Sat Aug 03, 2013 6:04 pm
by revelator
Lisp is probably one of the if not oldest interpreted languages in existance

still usable though but its not for novices.
Its pretty fast though so it could actually have been used as something like quakec, but yeah braces of doom

Re: QuakeScheme?
Posted: Sat Aug 03, 2013 10:00 pm
by Dr. Shadowborg
scar3crow wrote:Something to discuss, how do you think Quake would've gone had its interpreted language been based on Scheme rather than C?
Scheme looks
nasty.
Most likely quake modding would have languished (with the exception of mapping perhaps), until engine source code release...At which point somebody probably would have recoded the engine to use something like a gamex86.dll. (which is also kinda nasty)
Either that or written a program that converted C code into QuakeScheme.

Re: QuakeScheme?
Posted: Sat Aug 03, 2013 11:02 pm
by Spike
considering things like reacc, I don't think it would have been a huge problem if quake had been written in scheme - we'd have just focused on third-party tools more instead.

(unlike today, quake came at a time when people actually cared enough to write new tools from scratch!)
Re: QuakeScheme?
Posted: Sun Aug 04, 2013 9:20 pm
by frag.machine
I think it would turn the learning curve to the average modder far more steeper. In the end, it would be a significative community push towards Unreal and UnrealScript IMO.
Yeah, mapping community probably wouldn't be that affected, but it wouldn't be enough to make Quake the huge success it was. CTF and TF probably would born as Unreal mutators.

Re: QuakeScheme?
Posted: Mon Aug 05, 2013 1:50 am
by qbism
Scheme actually makes sense for AI and geometry scripting. But never saw it in the 'real world' beyond coding intro course and AutoCAD LISP.
Re: QuakeScheme?
Posted: Mon Aug 05, 2013 3:31 am
by revelator
Indeed lisp was actually intended as an AI language it was also used as such by nasa
Could maybe be cool for openkatana.