Overload Posted June 9, 2006 Share Posted June 9, 2006 Well the title sums it up. I'm new to the scripting and programming. I'm not sure where to start or what language to begin learning first, C, C++, Perl, Python?? I have renderman classes comming up in the Fall, so I want something that will help with that, as well as Houdini of course . Thanks. Quote Link to comment Share on other sites More sharing options...
sibarrick Posted June 9, 2006 Share Posted June 9, 2006 Python would be my suggestion. It can be used in a very simple linear way all the way up to fully Object oriented approaches and will give you a good grounding for all other languages and be useful along the way too. Quote Link to comment Share on other sites More sharing options...
peliosis Posted June 9, 2006 Share Posted June 9, 2006 Python would be my suggestion. It can be used in a very simple linear way all the way up to fully Object oriented approaches and will give you a good grounding for all other languages and be useful along the way too. 28442[/snapback] Have you used any book on python or just online resources? Quote Link to comment Share on other sites More sharing options...
Keyframe Posted June 9, 2006 Share Posted June 9, 2006 I'd like to second/third the python nomination. Certain aspects of python drive experienced coders a little batty (try the simple example of executing 4/3 -- what the hell?!?), but for my dollar, nothing beats the readability... compare a block of python code to a block of perl code (i'm generalizing of course), and you'll very quickly realise how crucial that can be. Cheers, G Quote Link to comment Share on other sites More sharing options...
lisux Posted June 9, 2006 Share Posted June 9, 2006 I'd like to second/third the python nomination.Certain aspects of python drive experienced coders a little batty (try the simple example of executing 4/3 -- what the hell?!?), but for my dollar, nothing beats the readability... compare a block of python code to a block of perl code (i'm generalizing of course), and you'll very quickly realise how crucial that can be. Cheers, G 28447[/snapback] I think that python is very used along many vfx houses so is a great choose. But, Keyframe, compare a block of python code with a block of Ruby code, sorry there are languages that beats python in readability (At least for me) Avoid to begin with Perl is full of hacks and is not consistent and homogeneous, I think that Python and Ruby are good choices. In fact Ruby is very popular too in some vfx and animation houses like Pixar for instance. Quote Link to comment Share on other sites More sharing options...
Overload Posted June 9, 2006 Author Share Posted June 9, 2006 Awesome, thanks guys. Happen to have any good online resources for Python, or is just buying a book the best route?? Not knowing much about code/scripting I assume that once you learn one language, the rest should be fairly similar? Thanks again for the replies Quote Link to comment Share on other sites More sharing options...
megalith Posted June 9, 2006 Share Posted June 9, 2006 Awesome, thanks guys. Happen to have any good online resources for Python, or is just buying a book the best route?? 28450[/snapback] Personally, I think it's a good idea to have a book for reference and for introductory material. Most people I know who are just starting out find having a book next to them while programming to be really useful. Perhaps later on you will start to rely only on online references, but a book is a good thing to have nonetheless. As for online material, this is a pretty useful sidebar for getting information quickly: http://projects.edgewall.com/python-sidebar/ Not knowing much about code/scripting I assume that once you learn one language, the rest should be fairly similar? 28450[/snapback] Learning other scripting languages and other programming languages in general becomes much easier after you master one language. Sometimes it'll just be learning new syntax while other times it may be learning new concepts like if you get into functional languages like Haskell, but for the most part, the concepts you will learn from Python or Ruby will carry over to other languages very well. Hope that helps a bit. Good luck! ~megalith Quote Link to comment Share on other sites More sharing options...
Overload Posted June 9, 2006 Author Share Posted June 9, 2006 Yes that helps alot thanks . Got python up and running, and so far doenst seem to be all that bad... I guess the few months exerience writing and using expressions helps a little Quote Link to comment Share on other sites More sharing options...
doc Posted June 9, 2006 Share Posted June 9, 2006 Well the title sums it up. I'm new to the scripting and programming. I'm not sure where to start or what language to begin learning first, C, C++, Perl, Python?? I have renderman classes comming up in the Fall, so I want something that will help with that, as well as Houdini of course . Thanks. 28438[/snapback] I have to agree, Python is probably the one to go with. It's really straight forward and great fun to work with. I started my foray into scripting/programming by taking a couple C and C++ courses. I found the curriculum tough, but after I took those courses all other scripting languages became a breeze. The other thing that was great about taking those courses was I learned a lot about how the computer worked, things like the precison of floating point vs integers, memory alocation etc. luca Quote Link to comment Share on other sites More sharing options...
Overload Posted June 9, 2006 Author Share Posted June 9, 2006 I have to agree, Python is probably the one to go with. It's really straight forward and great fun to work with.I started my foray into scripting/programming by taking a couple C and C++ courses. I found the curriculum tough, but after I took those courses all other scripting languages became a breeze. The other thing that was great about taking those courses was I learned a lot about how the computer worked, things like the precison of floating point vs integers, memory alocation etc. Thanks luca...so how similar is Python to C and C++?? I have read a few places that its better to learn C++ before C, im just wondering how it all ties together... But so far, I seem to be getting along with Python, but ive only been at it for a few hours . Cheers Quote Link to comment Share on other sites More sharing options...
TheUsualAlex Posted June 9, 2006 Share Posted June 9, 2006 Hello, I am probably should be silent about my opinion as I am not a programmer... Python is a interpreted language while C/C++ requiring the compilation for specific machine. In that respect, both are pretty different. However, the language structure, I find, is very useful in learning C++'s OOP concepts. In this regard, as well as most of the basic programming principles, shares the same concept. After you learn about 2 or 3 languages, I think you'll find that most modern and popular programming languages have a pretty common logics -- only different functions and different way to solve a problem. For example, at some point, I was having somewhat of a difficulties understanding why some of the pointer structures and objects are the way it was designed. But, after learning Python, somethings about C++'s OOP concept clicked in my head. Python is actually an object-oriented scripting language. You can actually get python to perform at "near" C/C++ speed, but it still can't match the performance you'd get out of C/C++. Couple other nice thing about Python is that you won't have to deal with pointers or garbage collections etc, so I think you'd have to be deliberate at getting things like memory leak. I definitely liked python to deal with the pipeline stuff, however, I still like perl in doing quick and dirty code and regular expression. Every now and then, I'd use a command line perl to parse strings within Houdini. I think that at the end of the day, you might want to ask yourself what do you want to do with it, etc. But I am sure you already know that. Hope this helped. Alex Quote Link to comment Share on other sites More sharing options...
doc Posted June 10, 2006 Share Posted June 10, 2006 Thanks luca...so how similar is Python to C and C++?? 28463[/snapback] python and C++ are quite simliar. The big differences Alex already touched on. When I first started using python I would just say to myself "how would I do this in C++?" my answer was always pretty close to the python solution. That being said I find C++ way harder than python, but that might be because I've used one more than the other. I have read a few places that its better to learn C++ before C 28463[/snapback] C++ started as an extension of C's functionality that eventually developed into it's own langurage. C++ can do everything that C can do and more. When I took my first C course I was actually using a C++ complier. If I had the chance to do it all over again I'd have just taken a couple of C++ courses (unfortunatly my university made me take the C courses first). All the best Luca Quote Link to comment Share on other sites More sharing options...
Overload Posted June 10, 2006 Author Share Posted June 10, 2006 Hey Thanks Alex and Luca... I figured that learning at least one language would help me out not only in Houidni, but also when I begin these Renderman courses. Being that I'm on the final stretch of my Masters degree, I think its time to crunch down and begin learning them (i wish i had gotten my undergrad in Visual Effects and not animation). I tried to read up on some of the renderman stuff, and just found myself completly lost. Hopefully after I get a good grasp on the programming it will help alot. Thanks again for responding and answereing my questions. Anthony Quote Link to comment Share on other sites More sharing options...
symek Posted June 11, 2006 Share Posted June 11, 2006 If you wish to work in Visual Effect you MUST know very well a view programming/scritping languages. There is no other choice. Python as was said previously, c-shell as fast as possible, at least some basics of c/c++, then MEL, RSL, VEX, hscript, and so on, so on... Very soon you'll find your self without hands if you won't be really familiar with code. Good thing about Python (as Perl) is that so many things were done in it and enclosed in modules, so very easy, with a few lines of code you can prepare really nontrivial applications. Also extending python with C/C++ is quite easy (as long as there is no tamplates, garbage collections etc in it.). Python is a language of choice not only in VFX industry but even more in academic physical science society. That's why it's so easy to handle (not only to learn but to write, extend, read, fix etc etc) - well, it's hard to expect from scientist to have first class coding skills, he performs research not programming... What I wanted to say, is that you won't have "market value" as VFX animator, TD or whatever if you will be just familliar a bit with coding. Prepere yourself on much deeper contact with that stuff Cheers, SY. Quote Link to comment Share on other sites More sharing options...
TheUsualAlex Posted June 12, 2006 Share Posted June 12, 2006 Erm..... Not that I am against learning scripting/programming, but... I know people who don't know a jack about programming in fx departments, but produced some of the most fantastic imagery or solve some of the mind-boggling problems in Houdini without programming. Quote Link to comment Share on other sites More sharing options...
altbighead Posted June 12, 2006 Share Posted June 12, 2006 Erm..... Not that I am against learning scripting/programming, but... I know people who don't know a jack about programming in fx departments, but produced some of the most fantastic imagery or solve some of the mind-boggling problems in Houdini without programming. 28505[/snapback] ORLY?? This give me some hopes to get into fx side.not that I don't want to learn scripting/programming but my brian is just slow. Quote Link to comment Share on other sites More sharing options...
symek Posted June 12, 2006 Share Posted June 12, 2006 Erm..... Not that I am against learning scripting/programming, but... I know people who don't know a jack about programming in fx departments, but produced some of the most fantastic imagery or solve some of the mind-boggling problems in Houdini without programming. 28505[/snapback] well, as we all know Houdini is an exeption . Good, skillful and artistic talented fx animator with Houdini on screen can do beautiful stuff witout programming. That's houdini. But working on Maya without MEL is impossible (on some level of competense), right? Add to this RenderMan or even worse MentalRay... which needs advanced c++. Well, read anouncements (concerned also houdini artists) on PDI, SPI or whereever: Fx animator job board: " * Designs & creates images, elements & effects * Responsible for coding & providing support & documentation for tools created" etc etc. or as you wish: "Designs and creates the look and production methodology for computer generated FX animation and dynamic simulation of cloth, fur and hair. Designs and creates images, elements, effects, pipelines, tools and techniques for digital visual effects. (...)Knowledge of applicable software packages including Houdini, Maya and Renderman required. UNIX and scripting ability in relevant languages including MEL, Perl and Python highly desirable. (...) Bachelor's degree in computer science, engineering or computer graphics." ok, I know wee agree to some point. Sure there can be oportunities to stay away from coding in VFX industry. But make your self a favor and stay close to it, how knows the future, yes? Quote Link to comment Share on other sites More sharing options...
Hwee Posted June 12, 2006 Share Posted June 12, 2006 > Bachelor's degree in computer science, engineering or computer graphics OT: I wonder how many of us have this. I gave up electronic engineering place in university and went for film school instead. Overlord: Whatever language you go for (and all of them have their uses), just make sure you can use it immediately and frequently. Learning programming abstractly without immediate application is as good as not learning it at all cos you'll forget it all. With that in mind and taking into account your immediate need, I would suggest just zone in and learn RSL (which is largely applicable to VEX too) supplemented with some light reading on C. Pick up Python later when you need to process those pesky RIBs. Good luck with your course! Quote Link to comment Share on other sites More sharing options...
lisux Posted June 12, 2006 Share Posted June 12, 2006 For the disussion about C-C++. I am a developer, and I first learn C, If you master C is quite easy to learn any leanguage. If you are going to be an animator, no doubt learn Python first. Python sintax is clearer than C/C++, you don't need to compile, and C++ OOP implementation is not the best, looking only in the OOP concepts C++ is not the best, To know the OOP concepts Python is better. So my advice: go ahead with Pytthon. Quote Link to comment Share on other sites More sharing options...
Overload Posted June 12, 2006 Author Share Posted June 12, 2006 Wow, I guess I sturred up quite a topic. Im glad I'm getting so many responses, this is helping me out alot. If you wish to work in Visual Effect you MUST know very well a view programming/scritping languages. There is no other choice. Python as was said previously, c-shell as fast as possible, at least some basics of c/c++, then MEL, RSL, VEX, hscript, and so on, so on... Very soon you'll find your self without hands if you won't be really familiar with code. 28494[/snapback] I agree that programming/scripting is very nessicary, but then again I'm sure there are exceptions out there. So far with Houdini I havent hit a complete barrier without knowing programming/scrpting, and I seem to be finding my way around Houdini within the 6 months of using it much better than the 4-5 years I spent with Maya. BUT, everytime I got into VOP's I generally get scared away, which is why I wanted the programming/scripting knoledge. I do compeltely agree that you will be much more "Marketable" if you have the knoledge. Thanks Symek well, as we all know Houdini is an exeption . Good, skillful and artistic talented fx animator with Houdini on screen can do beautiful stuff witout programming. That's houdini. But working on Maya without MEL is impossible (on some level of competense), right? Add to this RenderMan or even worse MentalRay... which needs advanced c++.Well, read anouncements (concerned also houdini artists) on PDI, SPI or whereever: 28512[/snapback] I competly agree with the Maya stand point. Personally after 5 years of using it, I find that people who know MEL stick with Maya much longer than someone who doesnt ie. ME. To get around the clunky interface and retarded errors it always comes up with For the disussion about C-C++.I am a developer, and I first learn C, If you master C is quite easy to learn any leanguage. If you are going to be an animator, no doubt learn Python first. Python sintax is clearer than C/C++, you don't need to compile, and C++ OOP implementation is not the best, looking only in the OOP concepts C++ is not the best, To know the OOP concepts Python is better. So my advice: go ahead with Pytthon. 28516[/snapback] Thanks man...I started using Python after reading a few of the replies on here last week. And so far I find it fairly easy to understand. So I'm goning to stick with it until I feel comfortable. The Renerman professor gave me this link for what she will be covering in the Fall http://www.fundza.com/. The Cutter text editor that is on there appears to support every "well" know language including Python. So hopefully getting a grasp on that before venturing into renderman will help me out alot. Thanks for the reply, I appreciate it. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.