Rhino3d [0] is one of the state-of-the-art programs (along with Alias) for the drawing of nurbs and modeling with them. The result is the industry standard "Class A" surfaces. Rhino has amazing "BlendCrv" and "BlendSrf" commands that allow you to combine curvatures between the two curves / surfaces being blended. EG, you can interactively choose G0 at one side and G3 at the other, etc.
Rhino also has really nice and performant curvature analysis tools, and a whole host of other tools for implementing Nurbs.
Alias is at least $5,000 / year per seat. Rhino is $995 for a perpetual license, with new versions coming out every 2.5 - 3 years and significant functionality upgrades each time.
McNeel also maintains OpenNurbs [1], an open source library [2] for the construction and use of Nurbs. This powers Rhino of course and is used in other software. I'm still waiting for someone to implement OpenNurbs natively and robustly on Linux. But I like the Rhino platform and McNeel as a company so much that I run it using wine.
[0] https://www.rhino3d.com/ Developed by McNeel Software [1] https://www.rhino3d.com/features/developer/opennurbs/ [2] https://github.com/mcneel/opennurbs
FYI: OpenNURBS runs fine on Linux, and is actually only supposed to be an (the) open source implementation of Rhino's .3dm file format. It is stripped of much of the functionality required of a full fledged CAD kernel (the rest is proprietary and included in Rhino proper).