Re: The right way. Choose between C# and Python for audio game development
hi,
first things first:
1. python is not slow by itself, it is the implementation that can make it slow.
even your code in c++ can become slow, and this only and only is your implementation
although python is interpreted, but thats not a good reason to say it is slow.
lua is interpreted as well, and it is used extensively in games.
2. what should i choose?
the answer is choose whatever you wish.
if you are comfterble with c#, go ahead and pick it up.
if you chose bgt, go ahead as well.
although you can take pros and cons into consideration, but the last decision is yours
3. i've chose bgt. then what?
no matter, although anti virus softwares flag it as a virus (due to it's bytecode appended into the end of the executable), and it has a workaround as well (add it into exclusion list), and it is not developed anymore, and of course you can't get any help other than this community, but it is easy to learn and it uses AngelScript which has a c-style syntax which makes it easier to learn languages like c++ and c# easier (not completely, but that will help).
4. i've chose c#. then what?
good decision. since you have more choices, and you have more control as well. in edition, you have threads which if you use it without knowing of what you are doing, you will crash your application.
also it has more tutorials, you can ask questions in stackoverflow, + additional libraries, huge user base etc
5. i've chose vb .net then what?
good decision (refer to c#, since they both use .net)
but, instead of having a c-style syntax, it has basic syntax which might seem easier to learn for some of the people (personally i love c-style syntax)
6. java
if you want to work on android, java might be your best choice, although we have kotlin which is new in this world and it is going to replace java.
kotlin compiles your code into java's bytecode, which then can be executed by java runtime.
also, i don't know of any way that you can compile your java code into windows executable
7. c/c++
this one is low level, you should take care of memory (but smart pointers can help you a lot), you can write drivers, it is compiled into native code, this is not cross platform although it can be, but it should be compiled for all the platforms, and you should every platform on your code, you can program microcontrollers with it, etc
c++ is the c, with object orianted and many other features added to it.
8. python
unlike those languages that we've talked, this one is dynamicly typed which means, you can assign for example "a" into a class, and then you can assign it into another type.
but in languages like c++, when a variable is declared, it's type is the same throughout the execution of the entire program.
most of the people do deep learning in python, although the libraries like tensorflow, mxnet etc are written in c++ and they are used in python, it is cross platform, has lots of libraries, easy to learn, (it's syntax is not like c), less crashes than c++ (since it has garbage collector etc), etc
8. lua
like python, this one is dynamicly typed. it is used extensively in games and game engines (love2d etc use that), but it has a downside:
classes, arrys, structs etc are all tables, which might seem confusing
also it is used in build tools like premake, genie etc.
-- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector