Forum Discussion

NS2025's avatar
NS2025
New Contributor II
24 days ago
Solved

C# - is it now widely used for BRs?

1) Is C# now widely used for Business Rules?

2) Is there any plan to support C# in member formulas?

3) For those who moved their business rules from vb.net to C# - why you did it and what benefits you get out of it?

4) In OneStream - is there anything that one can do in vb.net but can't in C#? If so, what are they?

Thanks in advance for sharing your experience. 

5 Replies

  • JackLacava's avatar
    JackLacava
    Icon for OneStream Employee rankOneStream Employee

    I can only reply to n.4, with a sound "no".

    Both languages execute on the same runtime and have basically the same underlying capabilities; the main difference is that VB.Net is not going to be updated further by Microsoft, so any language nicety that C# might get, from now on, will not necessarily have an equivalent in VB.Net.

    It sounds like you're trying to figure out whether it makes sense to invest in C# or VB.Net for all rules. I think the answer has more to do with what you and your colleagues like the most. VB.Net is easier to read for non-programmers; C# is more rigid but less verbose and more featureful. Yes, technically you cannot write Member Formulas in C#, but you can place them in a shared BR, ticking the option "Contains Global Options For Formulas" and then call them with minimal scaffolding from the formulas:

    Dim brObject as new OneStream.BusinessRule.Finance.MyRuleFile.MainClass()
    brObject.MyFormulaForSomeAccount(si, globals, api, args) 
    

    So there is no real obstacle for C# hackers to write pretty much any code in OneStream. The real question is around maintainability - who will have to validate and maintain/tweak those rules, after the first development phase? Are they programmers at all? If these folks are not familiar with C# or programming in general, then VB.Net should be favoured.

  • RobbSalzmann's avatar
    RobbSalzmann
    Valued Contributor II

    Coming from a organization that is both services and a software company...

    1) Is C# now widely used for Business Rules? No.  VB.net is still preferred by most finance/functional/consultants because it is most like VBA in excel.

    2) Is there any plan to support C# in member formulas? - I hope so

    3) For those who moved their business rules from vb.net to C# - why you did it and what benefits you get out of it? I prefer to write in C# because the language is being evolved more than VB.net.  I also prefer a more ANSI based language similar to C/C++/Java than VB's unique syntax and structure.  Its about productivity.  Use the language you can be most productive and creative with.

    I use C# to write production code for software products.  It's more difficult for me to think in objects using VB, so I build projects and products around C#

    4) In OneStream - is there anything that one can do in vb.net but can't in C#? If so, what are they? - Agree with Jack, both languages support the platform equally.

  • NS2025's avatar
    NS2025
    New Contributor II

    Thanks Jack & Robb,

    This is super helpful.  I am relatively new to OS. I have done programming in the past including C, C++.

    I find vb.net language not as structured as C#.

    Jack,

    The idea of a shared BR is useful. Albeit I don't understand the part about "Contains Global Options for Formulas" part - where is this? Could you please elaborate?