Re: My thoughts on C# and gaming.
OvermindDL1 <[email protected]>
| Newsgroups | gmane.games.devel.sweng |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Jan 27, 2010 at 10:51 PM, OvermindDL1 <[email protected]> wrote: > On Wed, Jan 27, 2010 at 10:35 PM, Brandon Van Every <[email protected]> wrote: >> On Thu, Jan 28, 2010 at 12:01 AM, OvermindDL1 <[email protected]> wrote: >>> On Wed, Jan 27, 2010 at 9:53 PM, Brandon Van Every <[email protected]> wrote: >>>> >>>> Scheme is the small one, and "big vs. small" is a different axis from >>>> "academic vs. practical." A huge standard library isn't so useful if >>>> what you really want is a "fast" language to embed. Consider Python >>>> vs. Lua. >>> >>> Hey, I embed Python quite often! ;-) >> >> Yes but Lua is better at it, which is what you'd expect since it was >> actually designed to be small and embeddable. The result is it has >> far more acceptance in the game industry as an embedding language. >> You can embed Lisp, for instance there's Embeddable Common Lisp. >> http://ecls.sourceforge.net/ I don't know about the performance >> though. > > Yeah, I had found that one before, but slight issue, it is infected by the GPL: > GNU Library or Lesser General Public License (LGPL) > Which does not react well with BSD code that needs to *stay* BSD, I do > not want to restrict the code any further, I would prefer the Boost > license though (as I generally release all my own code as unless > forced otherwise by crap like (L)GPL). I need to statically link it > into a single binary, so the L part of the LGPL is worthless here. Er, clicked send before I meant to... >.> As for LUA, yeah, it is, smaller is a huge boon in the console market, I would never expect Python to exist there. :) But Python is awesome for what I use it for (pure PC), much easier to read and understand by the non-programmers that use it in my things. As for the Lisp, I still love statically typed systems (hence one major reason I like Python, how often does *anyone* use the dynamic aspects of such things, and how many bugs does it cause), plus with making a statically typed Lisp'ish language with LLVM, it is both compiled and optimized, plus I can change the syntax. Mine is more of a tuple system then an S-Expression system, the syntax is similar though, but with tuples I do pattern matching for function invocation, for example, to do: Lisp -> My play language (+ 1 2) -> (1 + 2) As mine does pattern matching with a function of type (int (SYMBOL +) int). Although there is still the usual LISP style function that takes ((SYMBOL +) (repeat (QUOTE (1 inf)) int) to do things like (+ 1 2 3), which is still pattern matching, but looks Lispish at least. This way allows for nicely complicated things that are actually compiled down machine code by removing some dynamic features, plus it allows for arbitrary overriding. In macro's you can still test based on type and all sorts of stuff like that though, so they are still dynamic. _______________________________________________ Sweng-Gamedev mailing list [email protected] http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com