Jump to content

Why they use several languages in Houdini ?


Masoud

Recommended Posts

Hi;

I need help to figure out :

- Difference between "VEX language" ,"VEX expression" and "VEX snippet"?

- Should we use HScript (HScript expressions) or Python?

- Difference between "Python expression" ,"Python Parameter expression" and "Pyton language"?

- Where we should use CVEX?

- Difference between "Expression" and  "Parameter expression"?

- Difference between variables and attributes?

 

- And finally, why they use several languages in Houdini?

 

Thanks.

Edited by Masoud
Link to comment
Share on other sites

Hello Masoud,

There are a couple old post on the different languages if you did around on the forum, so I won't go too in depth. Plus there are plenty of help docs on the subject.

http://www.sidefx.com/docs/houdini/network/expressions.html

http://www.sidefx.com/docs/houdini/hom/index.html

http://www.sidefx.com/docs/houdini/commands/index.html

http://www.sidefx.com/docs/houdini/vex/index.html

 

To answer your last question first SideFX and Prism/Houdini has 30 years of history so there are a bit of legacy, and there is a lot of backwards support as productions will use a version several years out of date.

The rest are out of order :)

You should use Python over Hscript. Python is industry standard and cross platform. Almost every single Hscript function has been replaced by a python command. Hscript still has some functions that are handy as they are directly specific to Houdini operations.

Python Language is just the general code like Java, Ruby, etc... Hou/HOM Is the python module that is specific to Houdini, i.e. "Hython" or for Maya "Mython". Python expression are short hand tricks to use python code like expression language. Python Parameter Expression is a specific short hand for use in parameters. Parameters have only hou imported so you can do very un-pythonic short hand.

Expression's are short hand code to do mathematical and reference tricks across the package.

VEX is a vector language like RSL that is good for fast computation of RGB, XYZ style components that is more like C/C++ code. Think shaders or position data. Vex snippet is a place to use code in vopnets. Vex Wrangle is now the common place to use them. Where as vexpression are short hand vex code to do quick operations like the other expression variants.

Attributes/Variables are one in the same. Attributes are more commonly used in context to the data in vernacular. Where as Variables is used in reference to accessing that data. Variables can also be for Global/Environment Variables too. In that case they are shell values or hip file centric values that like HOUDINI_PATH, PATH, HSITE, etc. that represent a specific value in the OS or file.

 

Link to comment
Share on other sites

7 hours ago, LaidlawFX said:

You should use Python over Hscript

while this may apply to Python vs Hscript for writing tools, it doesn't apply to Python Expressions vs Hscript Expressions, Python never caught up with the speed of hscript expressions and since it's even more lengthy to type, Hscript is still a go to expression language (even for new tools made by SideFX). Python expressions are useful for more complex expressions where using Hscript would be clumsy or not applicable

 

Link to comment
Share on other sites

7 hours ago, LaidlawFX said:

Hello Masoud,

There are a couple old post on the different languages if you did around on the forum, so I won't go too in depth. Plus there are plenty of help docs on the subject.

http://www.sidefx.com/docs/houdini/network/expressions.html

http://www.sidefx.com/docs/houdini/hom/index.html

http://www.sidefx.com/docs/houdini/commands/index.html

http://www.sidefx.com/docs/houdini/vex/index.html

 

To answer your last question first SideFX and Prism/Houdini has 30 years of history so there are a bit of legacy, and there is a lot of backwards support as productions will use a version several years out of date.

The rest are out of order :)

You should use Pyth............

 

 

Thank you LaidlawFX, and what about CVEX?

Edited by Masoud
Link to comment
Share on other sites

30 minutes ago, anim said:

while this may apply to Python vs Hscript for writing tools, it doesn't apply to Python Expressions vs Hscript Expressions, Python never caught up with the speed of hscript expressions and since it's even more lengthy to type, Hscript is still a go to expression language (even for new tools made by SideFX). Python expressions are useful for more complex expressions where using Hscript would be clumsy or not applicable

 

thanks

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...