Mel versus Python split pf python pipeline

What im trying to say is that, because the api code is so much more flexible and pythonic it does make sense to sit around and THINK when to change suite. But a python programmer might not notice it. My point is not about the practicality of wirting all in one code. After all ist not more work to wirte maya cmds in mel than in python.

Now somebody says but python is so much better programming environment, well meybe. But did you ever consider to only do the computationally intensive part as API code and rest in mel/python.cmds in sepaerate file. At least that way your code would integrate better in maya.

This way no matter whether the user wanted to use mel or python they could. After all mel is here to stay. Because its much better journal language. At least until chadrik makes a mel to python echoer taht always works right. (its not impossibly ghard mind you)

By the way maya echoes whatever something happened to be written in. But yes it should echo both. Its just taht you cant get rid of mel in LOONG while because the buulk of maya gui is mel. And thus we all need to read mel to make changes in that gui.

So my comment is more aimed for the list of lists: if one uses lists of lists one should consider doing so in the api.

QUOTE
that's kind of like saying that there's no point in writing a function of your own, because you can always use builtin python functions.

And if the built in does the job you should prefeer to use it as the pythons code has a 1:100 penalty towards the c code command binding. The only reason youd write a function is that you dont have the exact function you need.
QUOTE
yes, you can do everything that maya.cmds does using api, but it would be a ridiculous amount of work to replace every mel command with api.. after all, under the hood maya.cmds is api code.

Well not exactly, its autodesk internal code which means you or i don't necessarily have access to that api. There are several mel commends that dont have acces to api equivalents. For example: all gui calls.

QUOTE
maya.cmds to accept MObjects would be a huge step toward integrating these two systems.

arrgh argh argh. do you know how much havoc that would cause on the regular user, when the average API user screws up on this every now and then. Well youd want to get something like MObjectHandles instead.

Anyway the changes needed just show the point of it all very clearly. There was never any point in just proting mel into python. Also in teh same breath there was a design reason why mel and the api didnt doboth the same thing.

QUOTE
i'm curious what you mean by this. what part of the interface is in flux?

Well if you look at differences between maya 8.5 and 2008 pythons you will notice they did make some slight structural changes. And i dont think they have locked it yet. Mel is more or less locked already.

And offcourse if your changes ever go trough all or most of written pyyhon code should be revised.

QUOTE
would be a ridiculous amount of work to replace every mel command with api.

Yes but taht dont mean it shouldnt be done that way!

I mean its even more rediculous amount of work to stop using carbon based fuels, but still it has to be done.


PS:
I have NOTHING against python, its just that those who unlimitedly hail python have clearly misunderstood the entire execution environment, Just because certain things now are much much easier does not mean youve traded in for a much harder system to use.

So what i advocate is So code where it makes sense, to do so you must know the bounds. And ultimately this brings most flexilility and practicality.

So me for example i still wirte all ad hoc scripting in mel, but do all real programming efforts in python and only convert the small parts that are bottlenecks to C++. This also supports best all the users out here that know mel.

Also knowing python allready does not amke one a good maya scripter, unfortunately. But then again good maya scripting skills dont make you a database guru.

sometimes i don't even know why i bother responding to your posts at all. this is my last indulgence.

QUOTE
At least until chadrik makes a mel to python echoer taht always works right. (its not impossibly ghard mind you)

as the only one between the two of us who has written a mel to python translator, i think i know its difficulty level a bit better than you.

QUOTE(Chadrik @ 05/23/08, 09:04 AM) [snapback]286063[/snapback]
as the only one between you and i who has written a mel to python translator, i think i know how hard or not hard it is a bit better than you.

Well there youd be worng i just dont feel the need to post one since you did as i have no iterest in keeping my code up to date for free. Or competing ofr glory, as im the least competetive person i know.

Ive allso written a java/and c++ mel parser too. to make for mel debugging. Ive also done it in reverse.

Anyway fair enough... but dont assume anything But yes i didnt mean either offensively i just meant i have respect for what your doing i just dont see much point in the end. (unfortunately if youd started with your way a few years earlier autiodesk would have inherited your way, unfortunately you didnt)
QUOTE
sometimes i don't even know why i bother responding to your posts at all. this is my last indulgence.

Just because we disagree on soem points does not mean the truth is in either end. It is probably somewhere elsewhere. The point of discussing is setting the right dimension. Thet means to listen whet others have to say. I always listen to yours.

And ive voiced many times you try to better the inetrface, but i maintain as it is now theres really no way we could advance it enough.

So you see lot of problem sbut that is no problem. I see lot of problems and to me thats a huge deal Ergo for me less than optimal.

QUOTE
Well there youd be worng i just dont feel the need to post one since you did as i have no iterest in keeping my code up to date for free.

Ive allso written a java mel parser too.

Anyway fair enough... but dont assume anything i can read your code and im not intimidated .

yeah? i can read Catcher in the Rye. that doesn't mean i can write it.

QUOTE
So you see lot of problem sbut that is no problem. I see lot of problems and to me thats a huge deal

i have no idea what you're talking about.

QUOTE(Chadrik @ 05/23/08, 09:19 AM) [snapback]286068[/snapback]
yeah? i can read Catcher in the Rye. that doesn't mean i can write it.

Well yes sure thing. But the point is i can write it and have done so. But have absolutely no reason to release it, im planning only the javascipt release at some point for user script. Im far too content for you to keep the glory and work of keeping it up to date. Werther or not you believe me is of no concern for me.

I dont have to release code to show its true, most people with a basic degree in programming could (if they cant then they dont reserve the degree), but mostly my motives are more utilitarian. I dont want to convolute the deployment of python scripts in maya.

on the other hand "Catcher in the Rye", is a bit fo different thing. But yes i said fair enough because your artistic and claim only end result means anything. But thsi si purely technical stuff.

If it was for me to decide i would put your mel module as part of maya core but until it is id abstain form using it. And since you seem to have some wind under your sails you should possibly try to convince autodesk of that.
QUOTE
i have no idea what you're talking about.

Well on the otherhand you maintain python in all aspects better and on the other you complain about its deficiencies. For me theres no big superior deal for having more modules support, its not like i didnt have that before, you can always interface things. Having more syntactic shuger does not make hinges easier either. But which is it is it great or full of stuff that dont work out right?

Does the fact that i say it doesn't matter what the syntax is somehow diminish the value of python to you. Anyway mel still has many points where it defeats python... none of them positive for a pure programmer off course. But mel is not intended for full fledged programming. Its intended to be easy and approachable, for people who have no or little computer usage skill. Sure ist a bit outdated in its approach since no one knows how to use command lines anymore it appears. But its still manages to do the journal part fabulously well.

But I do not advocate mel over python but i dont advocate python over mel either.

Should we move posts 6 and forward to different therad as we have sidelined the issue slightly? Ok for you?

i've put up with pages upon pages of your useless, holier-than-thou banter, but you insulting a translator that i've written in my spare time and released to the community for free and then pretending to have written one yourself is the last straw.

so how about this: since you've made it very clear the disdain that you have for the python community by refusing to release your supposed translator, why don't you do it just to prove you're not a liar, and then we'll see which one performs better?

I didnt insult it, i said it still needs some work. And alas its you who got insulted form a little remark towards a fact. Theres still alto of problems you would need to solve.

Relax, im trying to... this will easily escalate into worse.

QUOTE
At least until chadrik makes a mel to python echoer taht always works right. wink.gif (its not impossibly ghard mind you)

Unfortunately text is a much easily misunderstood media than talking face to face. theres a smiley there. I still have faith you will do so one day.
QUOTE
so how about this: since you've made it very clear the disdain that you have for the python community by refusing to release your supposed translator, why don't you do it just to prove you're not a liar, and then we'll see which one performs better?

yes exactly, just the kind of thinking we need, unfortunately that dont apply. Your taking it that community has a right for everybodyys brain pick. Thats not true. Unfortunately theres no easy way for me to release this exporter without breaking my committeements to people who have under the years paid me substantial amounts of money.

Nothing says i cant aswer a direct techical quetion tough if you ask.
QUOTE
insulting a translator that i've written in my spare time and released to the community for free

Well i didt mean it as insult, you took it as an insult. Anyway this may seem a bit insulting now. Just because one releases something in good faith does not mean its good or best it can be. Unfortunately nothing becomes good just out of this merit. This said code is top notch, mind you i dont care for 90% of all released scipts as they are shit. Atleast yours has quality on the long haul, but ist afr form perfect. Mainly because you have an agenda that isnt solvable in the way you want.

And yes my intention was never to make a full fledged mel to python translator just a generic parser for mel (at fist i wanted to autofactorize mel but ended up with something else). But i kindof got a mel to python translator for free as a side effect. The problem is that the parser is in use and i dont own the code, even tough i have written 95% of it.

joojaa,
i know from the content of your answers that you are a very knowledgable programmer, but you always turn a simple question into a bigger issue than it needs to be. you have a very clear division in your mind of what should be done with API, mel, or python. that's great, but that's your workflow and it's not inherently right. when someone asks how to do A, they don't need a 4 page diatribe on why, in your expert opinion, the person should not even bother attempting A. either answer the question or don't.

what i take offense to is not your flippant jab at mel2py (insult is too strong a word), but your condescending attitude. why do you bother telling me how hard making a translator is? do you think i don't know? no, it's because you just want to imply that you've already written a better one.

QUOTE
And yes my intention was never to make a full fledged mel to python translator just a generic parser for mel

so, i called your bluff and i was right, because a parser is a very different thing from a translator. a parser can be as simple as just looking for procedure definitions. a translator must know the entire set of mel grammar, and then deal with all of the incompatibilities between the two languages.

remember that list you came up with awhile back about the strengths and weaknesses of python versus mel in maya? well, there are a number of us who are working our hardest to alleviate those weaknesses, and we're making that available for free to everyone. would you like to help out or just complain and theorize?

QUOTE(Chadrik @ 05/23/08, 10:58 PM) [snapback]286100[/snapback]
remember that list you came up with awhile back about the strengths and weaknesses of python versus mel in maya? well, there are a number of us who are working our hardest to alleviate those weaknesses, and we're making that available for free to everyone. would you like to help out or just complain and theorize?

Yes okay, but your goal is to supersedes mel at all cost. Because you feel python is all superior. Now whatever you do theres going to be a difference in certain core aspects. Mel is still going to be super simple, hence that will always be mel greatest strenght. But that will always make mel a second class language form a pure programmers views. The problem is that mels greatest strengths are non touchable for you, because python itself is so much more convoluted. wrapping up holes in weaknesses list is admirable but it doest fix the core problem, wich si taht mayas still gered to run mel fist.

However i feel that its not a either or thing, a python programmer must keep the door up for the mel programmers in higehst degree. Because that what the bulk of users are, and will be for a considerable time. The entire discussion gets totally skewed if we pretend else. Whats worse the entire question has brought a allmost total halt of advancement for time being form pure gui users to script incorporators because the entire issue is confusing when you start out.

So what we have is more flexible programming platform at the cost of limitation and bounds. Thats a way to disaster for those guys out there taht think if they cant play piano its the pianos fault and get a flyfgel instead to become a concert pianists. And whet theese guys need the least is a programming paradigm divide.

So what we need more than code is explanations as to what goes where. Offcourse you cant do things like this. But there should be far more explanations on how things ffit together tahn enablement to drive people in the corner without it. One of the most fundamental messages in this depratment is that theres no right way and everything depends on everything. They want to have clear answers about better but there are none to give.

Im have been trying to negotiate a part of the parser open.