I am new to NXopen programming and i learnt a few things in VB language by asking questions in this forum and by googling. Then suddenly one of my friend suggested that VB.net for NXOpen is too old, so go for java for NXopen. I asked him can i go for python?
So i am confused, Can anyone suggest which language is easy to learn NXopen in Visual studio.? As suggested by most of them i learnt by recording and replying the journal files and Is there any webinars and courses available ?
Solved! Go to Solution.
I would not say VB.NET is "too old". It is fully supported in NXOpen.
As for Java, I would advise against that if you are a beginner. The language itself is nothing complicated, but the environment to write and run Java in NX is a bit more complicated. Also there are a few slight differences in the API between the .NET languages and Java. Not so many people use Java (as far as I know), so coming across these small differences, you get less chance of help in the forums.
Also, as a beginner it is nice to be able to play journals without compiling etc. You can record a journal in any of the languages, but you can only replay VB, C# and Python. For C++ and Java you have to compile the code and execute it via File->Execute->NXOpen
Hope this helps.
I guess Siemens would provide some training, contact GTAC for information.
I'm afraid its been so long since I started prgoramming in NXOpen (25+ years) I haven't had a training course in a looooong time...
GTAC is HERE , you'll find phine numbers for all countries etc.
Also, depending on how you purchased NX, you could speak to your Siemens salesperson if you bought direct, or your VAR if you bought that way.
Professional programmers often say that VB is "old fashioned" or "baby-ish" or "clumsy".
Don't listen to them. VB.NET is a modern language, and it has roughly the same capabilities as other .NET languages like C# that are more fashionable.
As far as I know, there are only two things wrong with VB:
(1) It's quite verbose (more than C# and Python, anyway). But this doesn't really matter very much -- a good IDE will do a lot of the typing for you, anyway
(2) It's not getting as much development love as C# at Microsoft, so it's falling behind a little bit. This doesn't matter very much, either. You probably won't use all of the current capabilities, so lack of new ones won't bother you.
In my view, the best language to use with NX/Open is the one you already know (which is VB, in your case).
Also, VB is a good choice because it's very widely used in the NX community, so it's easy to get help.
Bear these points in mind:
About the only *technical* issue with the NX API programming languages is (or at least at one point, was) that certain legacy (UF_*) routines used unions, and not many other languages support them, so there may be *very occasional* legacy calls which don't have a modern equivalent, or at least a wrapper. I'm not sure what they are, and Siemens may have wrapped them all by now, but it isn't really a reason to use C/C++ over another language.
Note I started when the *only* language supported was FORTRAN. (I can even tell you why in the REALLY REALLY old "UFnnnn" and "UCnnnn" calls, where "nnnn" is 3 or 4 digits, why some are UF and some are UC)
Most of my "big" API programs are written in C/C++ (due to inertia), but alot of my smaller stuff (and all my journals) are written in VB.
I also write a lot of CAM stuff (post customization) in tcl.
As @Solid said, a language is a means to an end, not the end.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled
I do Java mostly, but I also do C, C++, C#, and Python.
I would like to see a wider Java base, so I am trying to post more often on the site. I think it is all pretty well supported, and if you are calling NX API's they are relatively the same, regardless of which language you choose.