Which programming languages i should learn first to use unity 3d if i want to make a simple games for iphone and ipad?

Pleas help me for buy the books

I'm going to just say it - you should learn C#. It's more advanced, optimized, and interacts better with Obj C and XCode. It's fast becoming the standard language for gaming on multiple platforms. (Many Xbox 360 games are programmed in C#)

C# does have it's disadvantages. Perhaps the most notable disadvantage is that most Unity tutorials are written for Javascript. However, it's significantly more robust than either JS or Boo. It does not sound like English is your first language, but luckily there are a ton of C# book resources in all languages, so it's a great way to get started.

If you are a native English speaker, I apologize, and I can whole-heartedly recommend Head First C#: http://headfirstlabs.com/books/hfcsharp/

Which is one of the few books that takes you from Hello World right up to making full-fledged Windows games.

I would recommend going through 3D Buzz's awesome C#/Unity tutorial at: http://www.3dbuzz.com/vbforum/sv_videonav.php?fid=db25cc88fdc47f4afd9562b6abb1332a

To make games with Unity, you basically need to use JavaScript and/or C# and/or Boo, as you can see here. Using one over the other has its pros and cons, but more or less all three languages can offer you the functionality you want for an iOS game.

I would like to say that while I tried to be informative, my answer is somewhat biased and subjective.

If you have absolutely no programming background, then javascript is the fastest to learn because it does some behind the scenes stuff to manage types and casting for you. It is also the most common language used on the support sites, so it will be easiest to find help if you get stuck.

Resources: Just search for it on the web, there are plenty of js tutorials.

Then there is C#. C# has more features than javascript or Boo, and it resembles Java/C++ if you have a background in either of those subjects. My favorite: you don't have to write `var` before every variable. And personally, I find that MonoDevelop (even the one that ships with Unity) works better with C# than either of the other languages. It seems to correct code and auto-complete my work more effectively. The downside, its harder to learn if you don't have any prior experience for most people, and fewer people here use it.

Resources: Again search it. Microsoft's developer site

Boo... well... enough said. :) There are very few people who use Boo around here, and the Boo website wasn't anywhere near complete when I tried to learn it, so it can be hard to learn, hence I gave up. It's supposed to be python inspired synatx (I don't know, I gave up before I could make the connection :) ) Advantages: You hate punctuation or just want to be different.

Resources: Boo homepage

Ok, so you can see that I'm biased towards C#, but if you want to learn to program beyond the scope of Unity, then C# is probably your best choice. If you just need to add some logic to your game quickly then js might be your best bet. And Boo, well let's just say puppies cry when they hear people decide to use Boo. :)

Oh, and the best resource for Unity of all of them.

http://answers.unity3d.com/questions/4897/how-can-i-start-learning-unity-fast-list-of-tutorials

http://answers.unity3d.com/questions/5507/what-are-the-syntax-differences-in-c-and-javascript