About 95-99% of the program logic remained the same, however, there's naming differences (functions, classes, selectors), type changes (NeXTSTEP APIs used C strings & floats, Cocoa uses NSStrings & CGFloats), and missing functionality that had to be reimplemented (Display PostScript functions, Storage class).
I originally expected to have to recreate the NeXTSTEP UI resources by hand in Cocoa, as Xcode's Interface Builder can't read NeXTSTEP nib files. However, Xcode's IB does read OpenStep nib files (as of Xcode 2.5 & earlier - not sure if recent versions can still do this), and OpenStep's Interface Builder can read NeXTSTEP nibs, so it just took opening & saving the NeXTSTEP nibs to OpenStep nibs in an OpenStep VM.
About 95-99% of the program logic remained the same, however, there's naming differences (functions, classes, selectors), type changes (NeXTSTEP APIs used C strings & floats, Cocoa uses NSStrings & CGFloats), and missing functionality that had to be reimplemented (Display PostScript functions, Storage class).
I originally expected to have to recreate the NeXTSTEP UI resources by hand in Cocoa, as Xcode's Interface Builder can't read NeXTSTEP nib files. However, Xcode's IB does read OpenStep nib files (as of Xcode 2.5 & earlier - not sure if recent versions can still do this), and OpenStep's Interface Builder can read NeXTSTEP nibs, so it just took opening & saving the NeXTSTEP nibs to OpenStep nibs in an OpenStep VM.