Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Experience taught me this:

In the world of OS X/iOS the frameworks are really important. You have to understand them. You have to work with them. It is not uncommon that you need much more time to get familiar with a framework than to get familiar with Objective-C.

Take Core Data for example: Core Data is an extremely cool framework but you need a couple of days to understand the basics, a couple of weeks to understand the advanced concepts and years to really master it.

Objective-C is a pretty easy programming language.

So a a conclusion: Does it really make sense to replace Objective-C with - lets say Ruby? What do you gain? Lets assume you already know Ruby - then it saves you to learn Objective-C. But 90% of the time you will deal with the frameworks - not with the language. In my opinion it does not really make sense to use Ruby instead of Objective-C because you save so little.



For code that's just gluing bits of the API together I agree you're not going to do much better than Objective-C and really that kind of code makes up the bulk of most apps.

Obj-C really falls down for more complex algorithms, data structures, and text handling. You can do this kind of thing in Obj-C, of course, but the verbosity really gets in the way. A higher-level language like Ruby would be great for this but maybe the new object literals coming in Obj-C will help close the gap.


Still don't see it. Algorithms and data structures are going to be the most performance critical parts. It's the glue code if anything that should be written in a scripting language.


Sure, but in a lot of today's apps there are no performance critical parts. They're already well under the ceiling of what the hardware can do all the time or they spent 95% of their CPU in optimized routines in the OS/kernel. Of course, a more expressive but faster language like Mirah or Kotlin or Go something would be ideal here.

The problem with writing glue code in a scripting language is that it doesn't really buy you much unless you can impose a new, higher-level abstraction on the existing UI. As these examples show, you haven't really improved on Cocoa if all you've done is changed the function calling syntax.


I already know and use both, but find I'm much more productive with ruby because it's so expressive.

While this project isn't going to do much to simplify my Cocoa code, the rest of my app could be much simpler as a result.


Wait... cageface wrote: "but the verbosity really gets in the way" and you write "I'm much more productive with ruby because it's so expressive.". I am not a native speaker but isn't that contradictory?


Verbosity is a subjective assessment that concepts require too many or complex, specialised words to express compared with some other approach.

Expressiveness is subjective too, but in this context talks about ability to express concepts in elegant or clear ways.


Thank you very much for this clarification.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: