Advertisement

Language Interoperability Preferences of the Professionals

Started by January 17, 2013 04:07 PM
46 comments, last by swiftcoder 11 years, 9 months ago

Python will probably be my second language to learn after this C# right now. I am considering C for my third language way down the road. For now I just want to get good at C#.

I have OS cross-platform on my mind every day, naturally I would ask how one would make a 2D game in C with Python be cross-platform. Would OpenGL be enough with C and Python to make for Windows, Mac, Android, and iOS, or would the developer need something else, too?

If I had my way, I would write absolutely everything in Python. Why? Because it is friendly, concise, and fun to program in.

Unfortunately, there are still various performance issues, especially if you want to run on more limited platforms, like iOS or Android.

Would Lua be any better for cross-platform?

I wonder also if Lua wouldn't work well with any of the other more common languages. Does anybody like to use Lua with anything else?

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Why are you so insistent that I have to have some kind of favoritism or preference? Why is it a problem for you that I don't hold unjustifiable opinions about arbitrary things?

Not trolling - serious question.

You are trolling and you know it. Bad moderator! /trout slap

Advertisement

Most of my situations involve C# being the primary language, C++ for calculations or intense crap (and in the future driver related work) and F# for maths

The project decides the language, but im happy using all three, most stuff is done in C# though


Why are you so insistent that I have to have some kind of favoritism or preference? Why is it a problem for you that I don't hold unjustifiable opinions about arbitrary things?

Not trolling - serious question.

You are trolling and you know it. Bad moderator! /trout slap



You don't have to believe me.

But I genuinely want to understand why the OP has this expectation.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

[quote name='3Ddreamer' timestamp='1358526756' post='5022926']
Would Lua be any better for cross-platform?
I wonder also if Lua wouldn't work well with any of the other more common languages. Does anybody like to use Lua with anything else?
[/quote]Lua is a C API, which means you can use it with anything that you can use C with (which is about everything).

Lua has good performance out of the box, but the LuaJIT version has great performance. Unfortunately, most closed platforms don't allow JIT'ed code on them... You can still use LuaJIT as it gives better performance than plain Lua (even when not JITing!) but you have to disable it's JIT feature that gives great performance.

Most of my situations involve C# being the primary language, C++ for calculations or intense crap (and in the future driver related work) and F# for maths



The project decides the language, but im happy using all three, most stuff is done in C# though

Interesting post you made. Is F# math for higher or lower level coding? How would you use F# with C#? Do they work well together? It's obviously common for more intricate things to be done in C++, right? Do you handle much image rendering in your applications?

Lua has good performance out of the box, but the LuaJIT version has great performance. Unfortunately, most closed platforms don't allow JIT'ed code on them... You can still use LuaJIT as it gives better performance than plain Lua (even when not JITing!) but you have to disable it's JIT feature that gives great performance.

By JIT, you must mean Just In Time compilation, correct? I couldn't find anything detailed in the internet about LuaJIT. Some coders love Lua, but I don't remember reading about anybody using LuaJIT in a game so I must not have been at the right place to find it. I wonder why we don't see many popular games which have been made with Lua and C - can't think of any at the moment.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Advertisement

[quote name='3Ddreamer' timestamp='1358715899' post='5023620']
I couldn't find anything detailed in the internet about LuaJIT[/quote]

Try the first result from google.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Thanks, swiftcoder. I didn't use Google and maybe I didn't query it correctly. So... how swift are you and what language would you use in scripting for fast development, even with another lower level one, if you had your cake and could eat it, too?

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

[quote name='Hodgman' timestamp='1358689362' post='5023486']
most closed platforms don't allow JIT'ed code on them
[/quote]

What exactly does this mean: Closed Platforms? Are you saying Windows? laugh.png

If something is so great, then why would any platform manufacturer not allow JIT? Is it hardware issues and not OS ones which kill it there?

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

For years Apple forbade interpreted/JIT'd languages from iOS, though I believe they have since relaxed that restriction. I'm sure other platforms have similar rules.

As I said earlier in the thread, Python is my jam, and I'll use C/C++ with it where I have to (though PyPy is making this an increasingly rare need).

That said, I'm in the process of writing what I expect to be a much more suitable language for my tastes - only time will tell...

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

This topic is closed to new replies.

Advertisement