5 ms·
Several years after I swore I would never work in C++ again, I agreed to do C++ in order to get a job with a company I was really interested in joining. I ended
by cicero 16y ago
Several years after I swore I would never work in C++ again, I agreed to do C++ in order to get a job with a company I was really interested in joining. I ended up working on a project that used C++ with lots of rules and restrictions, and it was not too bad except for lots of boilerplate.
I would like to see something better come along that has some of the low-level power of C, but also supports sophisticated high-level abstractions. I was hoping Go might fit that bill, but the Go designers have made some interesting choices that seem to alienate a lot of developers.
- robrenaud 16y agoMaybe try D? Andrei Alexandrescu likes it, and he knows C++ really well.
- coliveira 16y ago> I would like to see something better come along that has some of the low-level power of C, but also supports sophisticated high-level abstractions Objective C this very well. It adds classes and protocols. Closures can be implemented with blocks. Everything else is the same as in C.
- blub 16y agoThe problem with Objective-C is that it only adds things, it doesn't make the C part easier to use or safer. As you've said: everything else is the same as in C.
- cpeterso 16y agoAs a C++ programmer dabbling in Objective-C, I have been extremely impressed. After clearing the "weird syntax" hurdle, Objective-C is a beautiful language. It is object-oriented, type-safe when you want, dynamic when you want, and C-compatible without all the problems C++ added. However, much of joy of using Objective-C is Apple's Cocoa Foundation classes. Stuff like autorelease and NSString are not part of Objective-C's core language. And support for Objective-C or Cocoa on non-Apple platforms is limited or not well-supported.
- cicero 16y agoI've been intending to try Objective C for many years now. I like C, I like Smalltalk, and I like Mac OS. Maybe when I finish my degree, but there's no time now.