Jump to content
Masoud

Why they use several languages in Houdini ?

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

Share this post


Link to post
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.

 

Share this post


Link to post
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

 

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×