C Programming

I went on wikipedia and check what programming system Blender uses and it said C, C++ and Python.

If i use C programming do i have to use the coding that Notepad/Visual Studio recommand?

and which is stronger C Programming or Python?

If i use C programming do i have to use the coding that Notepad/Visual Studio recommand?

You cannot use C in blender GE, only Python. BGE is written in C.

which is stronger C Programming or Python?

This question shows, that you no programmer:))
C is the most powerful language out there. Python is great and easy to use, but is a lot more slower than C.


Planning to learn programming but can’t find any understandeble tutorials for Python

If you want to learn Python for BGE then start with this :http://www.tutorialsforblender3d.com/Python/Python_index.html


I’ll check it out

Does blender use C++? I was under the impression it was only C and python.

Most of Blender is written in C, but there are some systems written in C++, like the BGE, IK, Ghost, and probably some others. Blender embeds Python so that end users can extend Blender via Python scripts, and Blender’s UI is even done in Python now (for 2.5).

If you don’t know programming, just start with Python as it’s easier and is what you’ll need to write scripts for the BGE. You can use C or C++ with the BGE, but you have to do it through a Python C Module using things like Boost.Python, ctypes or the Python C API.

this is becoming very interesting, mind if I join the thread?

I actually started with python programming and am reverting back to C and C++ because I want to fully understand the blender GUI. My questions list is long, very long and my learning path steep, but I just wanne start with this question:

Do I learn C or C++? Eventually they are about the same language with C++ being a bit more OO (Object Oriented) isn’t it?

I don’t think c uses any object oriented programming. So if you want to get more involved in blender development I’d recomend C, I recently started trying to learn C++, although I’ve trailed off a bit recently, naughty me. I will say C++ is an entirely different beast to python, there are so many more things to think about. However if your interested http://www.cprogramming.com/ is a good site and accelerated c++ is a good book.

C++ is an extremely complicated language. It is needless complicated, and you should avoid it. Use Python instead, and learn how to extend it with C routines. Python is modern, clean and readable language, simplicity is its main advantage. When you are learning to program remember you are learning for yourself, it is all about how you understand the code and logics.

Agreed 100%, python is easier and extendable But as Wookie 1 said: if I want to get more involved in the Blender programming, I should also learn C, No?

My main goal is to learn how blender is build from programming line 1, cause if you open up blender and use the embedded python interpreter, your GUI is already there and at that point lots of programming files were already run … So i am looking for the C files that actually generate the GUI, before you even think of embedding.

I would say: Don’t do it. Blender is a complicated program and the way Python is embedded in Blender is a bit up-side-down. In the future we’ll need a change to the architecture, reusing some existing gui-toolkits or building our own, knowledge of databases and such. This is high-level programming task, and you’ll need to think from top to bottom, instead of the old bottom to top.

I don’t want to say understanding Blender is impossible, but it’s quite a lot work, compared to what visible results you get. Instead, start with a list of vertices, see what you can do for it with Python. Try some gui-toolkits, find how editboxes, buttoms, menus, sliders, textfields, tables etc. work. Try to paint your list of vertices with Python and OpenGL, try to save it to database. What has to be done with C instead of Python, is the actual rendering process. There you can go and digg in the source code, later embed it in your program.

SnifiX, have you had a look at the

2.5 Development History Vid (thread),

I would like to pose you a question regarding this

Yes, I saw it yesterday, but I must say, I did not quite understood what was going on the film. For me it looked like a lot of names wandering around, but what were they doing, and what was the actual structure of the tree, it got a bit blurred in the background.

If I think my personal preferrences, Blender is quite an opposite, what I consider a good program. Personally I prefer the unix-ideology: make small programs, but make them well, just doing one thing at a time, and just a one thing. I understand Blender has taken the other way, it is meant to as a monolite whole cycle development environment, and I guess breaking the process to smaller parts, could be quite disasterous for an animation tool to success.

But of course this is a personal taste. Some people are different learners, some people like big complicated machines, some like small simple machines.

hi all,
i was reading a little the python basics and in this page specifly : http://www.tutorialsforblender3d.com/Python/Reference/Python_Reference_4.html

the second statement which checks if the information is false then return bla bla bla …it says Elif and i was wondering if the right spell would be Elseif? i thought it could be a web page bug so it printed Elif or im wrong?

thanks in advance,

“elif” is the correct spelling. It would have been easy enough for you to test…

Lol word!
i was just doing a scanning reading coz im now focused on modeling/texturing/rigging then after that im jumping to python scripting but as a curious learner every once in a while a read a little bout python programming(i only know asp/java/javascript) guess its not gonna be so hard for me to understand python(note: just guessing and hoping lol )

If you already familar with programming it shouldn’t be difficult to learn another programming language. It might help to get a good IDE with code completion and so on. That helps to avoid syntax errors.

Kool :wink:
i was wondering if it would be nicer and more fun start learning BGE and python before dive in the Modeling/texturing/rigging stuff?
i kind of need some enlightment here if u could point me out which one would be more intresting to learn first i really apreciate any input here,coz ive seen many ppl creating games here ,they first start with plain graphs just like crappy one so then after they learned all the physics and the tricks they start modeling and applying kool texture which i find it much easier after learning the BGE…what do u think? im really thinkin of starting to learn BGE/python by tomorow lol
i think my learning could become much more fun!
Thanks in advance,

It (C++) is needless complicated, and you should avoid it.

In reality, you should choose the language that you feel comfortable with and that “works best for the job”. Python is much easier and cleaner in my opinion. However (when you use Python), you trade simplicity for speed and control.

In addition, C++ does not handle all your errors and it does not automatically management memory (which is why C++ is more complex). However, you obtain a great boost in speed when using C++. C++ is literally more than 150X faster than python. You don’t want to use python for process intense applications.