5 ms·
It's interesting to see the meteoric rise of objective-c due to apple forcing it down developer throats. As someone who had to learn it to do iPhone dev, I fin
by soup10 13y ago
It's interesting to see the meteoric rise of objective-c due to apple forcing it down developer throats. As someone who had to learn it to do iPhone dev, I find it objectively terrible compared to all the old favorites(C,C++,Java,C#). Partially because the language syntax sucks, but also because apples standard library sucks.
See with C you know what your getting, fast code, manage your own memory, standard conventions for method calls and returns.
Same with Java and C#, except memory is managed for you, and code is slower, but importantly, standard conventions are still there. The standard libraries are also very solid(and often better than obj-c).
C++ sucks and has similar hybridization problems that obj-C has, but at-least it's fast and it's standard libraries are fast, and it has lots of 3rd party library support.
Then there is objective-C. With it's ugly hybrid memory management model, awfully slow standard libraries. Numerous competing conventions for library design(partially due to the hybrid memory management model), not to mention there is also the vanilla C standard libraries which are often easier or required to be used.
Poor 3rd party library support(seriously, a handful of people write objective c libraries, and most of it sucks because it's based off the apple obj-c libraries which suck). Which means... that it's super common to use C++ libraries anyway. So now your program is gobbledy gook mess of C/Obj-C/C++/Objective-C++ instead of one unified C or C++ codebase.
Basically I'm pretty sure nobody would use objective-C if apple didn't strongly push it on iOS and OSx developers. And i'm pretty sure they wouldn't have done that if they didn't want to lock developers onto iOS/OSx and make it more difficult for them to port.
tl;dr Apple is evil, obj-c sucks. if you program for iOS or OSx, save yourself the trouble and use as much portable C++ as you can.
- WoodenChair 13y agoCool story bro. Not really sure how critiquing Objective-C is relevant to this article. Objective-C has been a top 10 language for years on most programming language popularity lists. It's not news in this article that it's up there. I think you just wanted to take any chance to lambast Obj-C... It's not like I'm pimping Dart and how it slightly beat out TypeScript on this list... oh wait, there I go.
- soup10 13y agoshrug not like anyone cares which programming languages are popular anyway, forgive me for adding semi-relevant content to this thread.
- coldtea 13y ago>It's interesting to see the meteoric rise of objective-c due to apple forcing it down developer throats. As someone who had to learn it to do iPhone dev, I find it objectively terrible compared to all the old favorites(C,C++,Java,C#). Partially because the language syntax sucks, but also because apples standard library sucks. Yes. And yet, Objective-C, for application development, pisses all over most of the "old relatives". Saner than C++, can drop into C for close to the metal performance or be high level with a GC and all, and is more dynamic than Java (which admittedly is not hard). But even you personally don't like its hybrid syntax, to even state that "Apple's standard library sucks" make your comment loose all credibility. Cocoa and Foundation are among the nicest and more feature complete libraries and framework collections there exist. From the way you describe it, it sounds like you wanted something like the VB6 or .NET ecosystem of third party libraries... >Basically I'm pretty sure nobody would use objective-C if apple didn't strongly push it on iOS and OSx developers. You pretty sure, but also pretty wrong. Adoption might be quite smaller if there wasn't a huge potential market in the form of iOS users, but Objective-C was (and is) quite well regarded as a programming language and has always had hardcore fans. People who program in it (not just because they had a couple of assignments for iOS apps in 201x) tend to love it. Heck, even back in the day, the first browser was developed in it, as well as the first true first-person-shooter. And nowadays, one of the most advanced GUI userlands, and the more cohesive mobile app platform.
- pjmlp 13y agoMy first contact with the language was in 1998, when I had to port a particle simulation engine done with Objective-C/Renderman to C++/OpenGL. From a dying NeXT Cube to then raising Windows 95 mainstream systems. Objective-C has a nice appeal given its Smalltalk semantics for OOP. However I don't like: - lack of modules, using prefixes is so 70's! - @ in all keywords and Objective-C literals - manages to have method names even longer than Java enterprise frameworks do - the way properties are declared > Heck, even back in the day, the first browser was developed in it, as well as the first true first-person-shooter. Historical accident, as these were the systems those developers had available to them.
- coldtea 13y ago
- fhd2 13y agoLanguages are being forced down developer's throats all the time, I don't see how Objective-C is an exception. Microsoft did it with C++ and later C#. Google does it with Java on Android. Netscape did it with JavaScript. I could continue. Even if a platform can technically support other languages reasonably well, whatever the platform vendor favours tends to be the most popular and best supported choice. I don't see any connection between how popular a language is and how well-designed it is.
- pjmlp 13y ago> Microsoft did it with C++ Why do people keep repeating this urban legend?! I was already doing C++ in MS-DOS (Borland), UNIX (vendor's compiler) and Windows 3.x (Borland), long before Microsoft compilers were any good. ALL C vendors were pushing for C++.
- zurn 13y agoUnix vendors didn't push C++-only platforms, nearly all the libraries were in C. Contrast to MFC, ATL, COM etc. (Yeah COM was supported for VB too, but C-hostile)
- pjmlp 13y agoExcept for CORBA, ever tried CORBA with C? UNIX enterprise programming was all about CORBA, not C related stuff. That is how we eventually got into J2EE.
- zurn 13y agoThe GNOME guys built an entire desktop environment on top of CORBA and C...
- pjmlp 13y agoI know, and Bonobo is as pleasant to use as COM with C. While it is possible to do so, it doesn't mean it is sane to do it. But GNOME guys always hated C++ with passion anyway, from what I remember in my GTKmm days.
- reality_czech 13y ago"As someone who had to learn [Objective C] to do iPhone dev, I find it objectively terrible" I see what you did there.
- Moto7451 13y agoYes, just like how no one would use C# if it weren't for Microsoft or Go if it wasn't for Google. There are a lot of people who like Objective C including myself. If people didn't the majority of iOS apps would be developed in straight C, C++, Ruby, C#, Delphi, or Actionscript. http://www.embarcadero.com/products/cbuilder/ios-development http://www.embarcadero.com/products/cbuilder/ios-development http://www.rubymotion.com http://www.rubymotion.com http://xamarin.com http://xamarin.com http://www.embarcadero.com/products/delphi/ios-development http://www.embarcadero.com/products/delphi/ios-development http://www.adobe.com/devnet/air/air_for_ios.html http://www.adobe.com/devnet/air/air_for_ios.html If no one liked Objective C you wouldn't have people like Mattt Thompson taking time to write his excellent NSHipster columns. http://nshipster.com http://nshipster.com https://github.com/mattt https://github.com/mattt http://postgresapp.com http://postgresapp.com You not liking a language is not a benchmark of language popularity. If it were, my own biases would dictate that Javascript is a language no one likes, propped up by Mozilla and ECMA.