Welcome to Open Carnage

A resource for Halo 1 modding and tech, with unique means of rewarding individual content creation and support. Have a wander to see why we're worth the time! EST. 2012

Sign in to follow this  
Followers 0
TCK

My general coding questions

So as I said in a different topic, the past several months I've been learning Clisp (the modern Lisp). I tried a couple years ago and got distracted, but this time it's going well and I'm working on my own accounting software for my store, which I now realize I could sell to other businesses of this style once it's good enough.

Anyway this made me realize I might as well learn a lot more to make myself more marketable in the future. My first question: is Assembly worth learning for the experience? I've tiptoed into Intel x86 Assembly to get a preview.

My friend and I are making a beginner level RPG. It's mostly his project, hes writing the game in Java, and I'm just writing the AI for the NPCs in Clisp. My second question: is combing two languages effectively into one program difficult enough for a beginner to be wary? I want to help but I don't want to fuck the game up for him.

Floofies and WaeV like this

Umh7x1l.gif

Share this post


Link to post
Share on other sites

Members of Open Carnage never see off-site ads.

Clisp is a distribution of Common Lisp, right? Powerful language, that. I've heard SBCL is a very good implementation of Common Lisp as well.

 

Assembly is specific to each kind of processor, so each variant will teach different lessons. I felt I learned a lot from using MIPS assembly in one course, though I haven't used it since. x86 assembly is probably most useful for reverse-engineering and code-injection sorts of tasks.

 

Have you started to combine Java and Clisp at all yet? I found this stackoverflow post discussing Java/CL interop. From my experience, multi-language interop is a hairy issue.

 

I think Common Lisp is a very great language, but if you're set on Java interop, Clojure might be a good alternative. It's a somewhat different lisp specifically designed around interop with the Java ecosystem (although it also supports JavaScript and some other ecosystems now).

TCK and Floofies like this

Share this post


Link to post
Share on other sites

Yes it is, I'm very intrigued at the AI aspects even outside of a gaming perspective. I've got plans for a sort of AI that monitors the inputs of sales as they're typed, which could eliminate a lot of the errors from the older co-owner when she enters her sales into the computer.

 

As far as communicating with the Java goes, I feel that the NPCs' thinking could all be done in the Clisp, and the Java would only need to listen for a few certain emit events from the Clisp to know what the NPCs' decisions are (move forward/back, jump, primary trigger, etc.). That's how I planned on keeping it simple. No we haven't interacted them at all yet, he just came back to town this weekend visiting from college in Clemson.

 

Motto of Lisp programmers: Fuckin parentheses all over that shit.

Edited by TCK

Umh7x1l.gif

Share this post


Link to post
Share on other sites

is Assembly worth learning for the experience? I've tiptoed into Intel x86 Assembly to get a preview.

 

Yes, of course. Knowing how to read assembly, even if you don't ever write it, at the least is valuable; especially if you work with C or C++ where one layer of abstraction below is asm. You can see how your compiler generates code and reading it is a must for heavily optimizing code.

 

On interop, I agree with Waev that it can be hairy and it all depends..

Share this post


Link to post
Share on other sites

Assembly is not worth learning if you're trying for a marketable skill. It is invaluable in general though because it forces you to program procedurally - and a different approach/viewpoint is useful.


7oWRJVS.gif

Share this post


Link to post
Share on other sites

Assembly is not worth learning if you're trying for a marketable skill. It is invaluable in general though because it forces you to program procedurally - and a different approach/viewpoint is useful.

Ye I didn't mean that knowing Assembly would be a marketable skill, but knowing it would help increase my overall experience with code and understanding code in general is marketable.

Waev, you were remarking on Common Lisp as a powerful language; do you consider it or Java to be the more powerful?

Edited by TCK

Umh7x1l.gif

Share this post


Link to post
Share on other sites

Common Lisp is more powerful than Java for sure. Java's main advantages are being relatively straightforward, modular, and having tons of available libraries. Java developers are easy to come by and easy to replace. Great for business. Java is the language everyone knows because it was taught at college and they never bothered learning another language.

 

Guy Steele, co-creator of Java, was asked by Lisp programmers why anyone would want to use Java, and he said the following:

"We were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp. Aren't you happy?"

 

Lisp is made with secret alien technology which lets you do more with less.

 

"A Common Lisp program tends to provide a much clearer mapping between your ideas about how the program works and the code you actually write. Your ideas aren't obscured by boilerplate code and endlessly repeated idioms. This makes your code easier to maintain because you don't have to wade through reams of code every time you need to make a change. Even systemic changes to a program's behavior can often be achieved with relatively small changes to the actual code. This also means you'll develop code more quickly; there's less code to write, and you don't waste time thrashing around trying to find a clean way to express yourself within the limitations of the language." --Peter Seibel

 

lisp_cycles.png

Ryx and TCK like this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.