PDA

View Full Version : Should I learn Phyton and abandon Mel?


shenmue
02-19-2008, 12:02 PM
Hi

Iīve starded learning Mel more than a year ago,and when I finally start to feel confortable with it,people start to tell me that phyton is the future,and that I should leave Mel.This is like a kick in the ... because I have already devellope some tools that took me a lot.So I donīt know what to do.What do guys think?should I start from scratch sith Phyton?

I am also starting to do some really simple stuff with c++.I am a little confuse with all that,Python,Mel,C++...I canīt learn all.

Any suggestions about all that stuff?I am going crazy :banghead::banghead::banghead::banghead:

Buexe
02-19-2008, 12:48 PM
I can understand you, tough decision. In job openings an increasing number of employers seem to ask for python. Now for myself I haven`t found something I want to do in Python that I can`t do with MEL and/or C++. And AFAIK you can`t do everything with Python in Maya that you can with the API. So I guess it comes all down to "it depends on ....". The advantages of Python are undisputable ( Cross-Plattform, creating nodes, etc.), but I haven`t seen something with Python where I said wowww! Though I`d really like to know if some more avdanced GUI stuff would be possible...

my 2 cents

shenmue
02-19-2008, 03:09 PM
oh my god...what to do...what to do...lets say that I spend 2 years getting better with Mel and C++,and then,it turns out to be useless because the job demands phyton....
do you know both languages Buexe?Phyton and Mel?

Chadrik
02-19-2008, 03:34 PM
honestly, if you want to be a TD in the vfx industry you need to know both mel and python. keep in mind that maya's python integration comes in two parts: mel bindings and c++ api bindings. for the former, you will really need to know mel anyway, because a big part of knowing mel is being familiar with the hundreds of available commands, which you will need to know regardless of whether you are using python or not.

in my experience, knowing c++ is becoming increasingly optional, due to the introduction of python api bindings, but programmers who understand c++ very well are often better all-round for this extra depth and breadth of knowledge.

if i were you i would focus on mel and python and work your way up to c++ if and when it seems necessary. and as far as languages becoming obsolete over time, between the 3 -- mel, python, and c++ -- the only one that faces any threat of obsolescence in the foreseeable future is mel.

my 2 cents.

-chad

Buexe
02-19-2008, 03:52 PM
do you know both languages Buexe?Phyton and Mel?
I only know very basic Python. I do a lot of MEL and recently a lot more in the API. But if I was to start over, I`d probably prefer to focus on Python. What Chadrik said is probably true and the step from MEL to API is pretty steep, at least it was for me.

shenmue
02-19-2008, 05:45 PM
ok,thanks a lot for the advices guys.So for now I am going to focus on Mel,and Iīll start to take a look on phyton.In my next demoreel i guess every thing will be Mel...then,when Iīll realise that I donīt get any job,Iīll star with phyton :D.

tbaypaul
02-19-2008, 05:51 PM
But isn't it more true that there will always be a "mel", whether it is bound to c or python (or java or c# or....) there has to be a tool command language for maya to be maya???

They really seem much more intertwined. If you write a python script using the api to create a command in maya, you are using python to create a mel command. So if you write a python script that uses that mel command you wrote in python you are using mel to access python...via mel...via python...mel...... ;>)

Chadrik
02-19-2008, 06:36 PM
But isn't it more true that there will always be a "mel", whether it is bound to c or python (or java or c# or....) there has to be a tool command language for maya to be maya???


when i say that mel is the only language that faces obsolecense i mean in the big pictures -- maya could de discontinued, or eclipsed by another package. python and c++ transcend Maya while mel does not, so their staying power is therefore much greater. i mentioned this in response to shenmue's concerns that he might learn a language that "turns out to be useless". while i consider knowledge of mel critical to my job, my python knowledge is much more generally useful.

shenmue
02-19-2008, 07:51 PM
The first software I used was Max.But after seen the making of,of spiderman,fantastic four,surf up,and much more movies that are done with maya,I decide to leave max behind,thinking that maya will provide me much more security to get a job.But now I donīt feel that secure with maya.I though that maya would be the best choice...so if phyton is multiplatform,it is the safest choice...why canīt we have just one software in the world!?

Omita
02-19-2008, 09:24 PM
Hi
I am also starting to do some really simple stuff with c++.I am a little confuse with all that,Python,Mel,C++...I canīt learn all.


I guess it depends what you want to do and the size of the team you want to work for. If you are, or want to be a Technical Artist it's a good idea to know the following:




Mel
Python
C++ (Maya API)
and be familiar with Batch scripting and maybe even AppleScripting
And if you want to be cool with XSI you also should consider picking up:

C#
Javascript
Last of all:

Maxscript
If you are a production artist then you might want to stick with Python and Mel and just focus on your art.

In general your programming and scripting logic skills should only get better the more languages you know. It's the little nuances in the Maya API or Mel scripting that makes the work a little more challenging.

Another thing to consider is the production side of an art pipeline. Some companies are large enough that they have Maya developers who are pretty much dedicated to coding and really do not do much modeling. Other companies that have technical artists that utilize the core features in Maya and then write UI's to speed up the production. Really large studio's have a mixture of both, and then have pretty good artist that are capable of scripting there own little helper tools. So, there are a lot of little issues to consider. For the most part you need to look at your work and your skills and figure out if you should be an artist, a developer, or somewhere in between.

-H

shenmue
02-19-2008, 10:22 PM
Hi omita

Thanks for your explanation.I want to be a tecnical artist.Actually I have been working as it,for the last 2 years,doing things as a autorig generator,tools to copy/paste animation from one character to other,muscle tools,etc..etc....So I am really beginning to do some stuff,but I still have a lot to learn,thatīs why I thought it was the good time to ask about Mel,phyton and API,because I know what I want to do,and I have "just" began to work as technical artist.
So thanks for you comment.It is a little scary thinking that I have to learn some much,but I guess I have no choice.:shrug:
I am going to stick 1 more year with Mel before starting with phyton.Then Iīll see if my brain is ready for more.

r4inm4ker
02-20-2008, 12:43 AM
I am going to stick 1 more year with Mel before starting with phyton.Then Iīll see if my brain is ready for more.

I don't think you need that long to master MEL. Really MEL is just about calling commands (or functions). Add some loops, and you're done. For more complicated tasks, you will need to turn to python or C++ for more robust codes.But I have to say that MEL is pretty bad choice as a first language to learn:D. So my advice is turn to python as soon as possible.

shenmue
02-20-2008, 11:09 AM
.But I have to say that MEL is pretty bad choice as a first language to learn:D. So my advice is turn to python as soon as possible.

phyton,phyton,phyton.I am going to have nightmares with phyton!!
Ok,thanks for the advice.I think I am going to start changing my Mel scripts to phyton....
why have I open that thread...:cry:

Buexe
02-20-2008, 08:30 PM
I wouldn`t say that MEL is bad. It can do a lot of stuff and a user/script-writer does not need to know a lot of technical mumbo-jumbo to get started.

sacslacker
02-20-2008, 11:29 PM
If you learn Python, your scripting skills will translate to Maya,XSI,Vue,Modo,etc,etc,etc. In other words, learning Python is going to take you farther. Not only that, Python rocks! It's a great language to learn and quite fun to program in.

barrymcw
02-21-2008, 12:31 AM
If you're using Python in Maya, you might want to take a look at Pymel (http://code.google.com/p/pymel/).

According to the team behind it, "Pymel makes python scripting with Maya work the way it should." I've not worked with it yet but I know that some folk do and like it.

I'm pretty sure I'll download it before too long.

Cheers.

(http://forums.cgsociety.org/)

shenmue
02-21-2008, 10:21 AM
There is one thing that I donīt understand abouth Phyton.For example if I write something simple in Mel like:


window;
columnLayout;
button -c createCube;
proc createCube ()
{
polyCube;
};

showWindow;


this same code writed in phyton in Maya will work exactly on xsi?What if it gets more complicated?what about all maya nodes?How will they translate to phyton?
I am guessing that phyton code will have some things in common in diferente softwares,but then,you will need to adapt the code to each soft,rigth?
I mean,that it is not the exact same code that will work in diferents platforms.

mbaas
02-21-2008, 12:15 PM
this same code writed in phyton in Maya will work exactly on xsi?What if it gets more complicated?what about all maya nodes?How will they translate to phyton?
I am guessing that phyton code will have some things in common in diferente softwares,but then,you will need to adapt the code to each soft,rigth?
I mean,that it is not the exact same code that will work in diferents platforms.

Right, the API that each package provides is different, so you can't just take a Python script written for Maya and run it in Houdini/XSI/etc (you could only share those parts that don't make use of the software-specific API).
What's common is the language itself and the standard modules that Python comes with.

- Matthias -

shenmue
02-21-2008, 12:55 PM
ok.Thanks mbaas.For a sec I thought it was the same exact code for all.That would be incredible.:surprised

Bryan Y
02-25-2008, 02:02 AM
Learning new imperative scripting languages takes less than a week. Seriously. If you know one scripting language, you can learn another quickly. It's the APIs that take a long time to learn, but MEL and Python use the same API when working with Maya.

I would not get upset over the notion of learning Python. Just sit down and get to it. The following languages are all fairly simple to learn if you already know one:

Perl
PHP
Python
MEL

If you know C, all of the above come rather easily. C++ is more difficult.

Functional languages, such as Lisp and even moreso, Haskell, are truly difficult to grasp, even if you know some of the above languages. But you don't need to learn those, so, the bottomline is, there is nothing to be worried about - just learn Python, it'll be easy.

Omita
02-27-2008, 07:26 PM
Honestly, I work with a lot of other Technical Artist and some don't necisarily program very well. Some only know Mel, other's barely even know Mel, but they know their repsective packages very well. So they might just understad how to mix various maya features to get some cool output, or a really neat way to rig an eyeball. The key attribute that make a good technical artist is that they are very good at problem solving and that they don't give up. Most of the Techincal Artist tasks that I get asked to do aren't typically rigging, or "normal" items that you can really study.

I guess it depends on the studio, and industry, but a lot of the Technical Artist I know, including myself actually were artist that either had scripting or programming skills that had the ability to problem solve. After a couple year of being a technical artist i have improved my programming skills, but a lot of programming concepts don't even apply to Technical Art work because often time and speed are more important then actual coding clean code. The other key skill is the ability to communicate with artist and programmers on some level. Most technical artist are going to be chatting with the art director, or art lead, and the dev lead, or technical dirrector and then finding a middle ground.

ashishdantu
02-28-2008, 01:19 AM
hi,

so ready to get started in python ? i found this v.v.v.v. useful :

Python_Inside_Maya (http://groups.google.com.sg/group/python_inside_maya?hl=en)

Daniweb - python (http://www.daniweb.com/forums/forum114.html)

all the best :)

Robert Bateman
02-28-2008, 10:24 AM
To be honest, i'd say learn mel and Maya (as in, how the DG and DAG work, and how to get the most out of it). It's all about what you do with the language, not the syntax. In the case of mel, it is purely to operate on the DG. I'd also strongly advise aspiring scripters not to start out with Maya's python binding. Mel has restrictions on what you can do with it (i.e. no classes), but those restrictions are there for very good reasons!

CGTalk Moderation
02-28-2008, 10:24 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.