Objective-C and Programming languages

  • Thread starter phylotree
  • Start date
  • Tags
    Programming
In summary: It seems to me that the person who wrote this post isconfused the programming language transition as if he lost his background of programming language theories, worse I doubt my own skills.
  • #1
phylotree
48
2
Today, I skimmed through a couple of messages posted by one of my technical leads in my company blog to share with everyone, and something cropped up in my head and wow, I am scratching my head wondering if I actually understand or even come to an agreement that once people truly understand the concepts of object oriented programming, it doesn't matter which language they use, things are neat in place. To a degree this seems true that development is easier if the programmer adopts a programming philosophy based on the peculiarities of the language.
Do we need to hire people with iPhone experiences while we already have a team of android ? and it seems to me that he confuses the programming language transition as if he lost his background of programming language theories, worse I doubt my own skills.
I suppose Objective-C and C/C++ language constructs offer users the same concepts and both Objective-C and C++ support OOP paradigm and Objective-C is a subset of C only. Android mainly uses Java while Java superseded C++ in its included GUI stuff which makes it impure and more versatile. Seeing it as a point that could hit the market, Microsoft brings up C# which works better with GUI, Services, Networking, Web Applications etc. Yet it is not for free.
Objective-C offers late binding [one done at runtime], but this can not be used as a feature to state that it is better than C++, it is to me just a new redefinition of the language to better fit the hand chips. C++ does offer early and late bindings. That also means Objective-C does NOT include the concepts of metadata and thus metaprogramming. It looks up methods and deals with defined objects at runtime and hence offers runtime errors.

Well, what is next to tell you ? if you could add in any, please tell me.
 
Technology news on Phys.org
  • #2
Not sure what you're getting at but if your company is doing serious work on iPhone or Android then of course its best to hire people with a track record on those platforms. While knowing OO concepts are important, there's still the problem of how the language implemented them and how the associated lib classes implement them that consumes a programmer developing on the platform. Beginners will often choose the obvious constructs only to find later that they may be very inefficient for the task at hand. Only experience helps in these areas.

For me, I've traveled thru the maze of languages from FORTRAN/COBOL/Macro ASM -> C -> C++ -> C++ with Corba -> Java -> Groovy -> and now I'm looking at Scala. But of all the languages I've developed in there are some lesser known ones that really fascinate me: Tex, Lisp, Trac, Forth, Prolog, AWK, Ruby but I keep going back to the simplicity of AWK. There's something about its compactness, quirkiness and availability on so many platforms. I always tell people, I have a small AWK script that does this or that when in fact it may not be that small. (I also was very fascinated with Tex before I discovered Awk).

Right now, I'm looking at Scala for future development beyond Java. It brings OO and Functional Programming together and provides a whole way of doing things in a very compact and almost unreadable way (at least for now I get lost in its more arcane features). Scala can be used to Android development as well since it runs on top of the JVM and can interoperate with Java classes.

So choose your language, become experienced, go forth and conquer: Veni, Vidi, Vici or is that Veni, Vidi, Relinqui ;-)
 
  • #3
phylotree said:
Do we need to hire people with iPhone experiences while we already have a team of android ?

To make an analogy, if you have a team of Windows programmers, would you feel comfortable turning them loose on Mac OS development? Would they feel comfortable doing it without a lot of preparatory studying?
 

1. What is Objective-C and how is it different from other programming languages?

Objective-C is a high-level, object-oriented programming language primarily used for developing applications for Apple's operating systems, including iOS and macOS. It was created in the early 1980s and is based on the C programming language. The main difference between Objective-C and other languages is its use of Smalltalk-style messaging and dynamic binding, which allows for more flexibility and easier development of complex applications.

2. What are the main features of Objective-C?

Objective-C has several key features that make it popular among developers. These include its object-oriented nature, dynamic binding, message passing, and a rich set of libraries and frameworks for building applications. It also has a simple and easy-to-learn syntax, making it accessible for beginners.

3. How does memory management work in Objective-C?

Objective-C uses a reference counting model for memory management. This means that objects are automatically retained and released as needed, without the programmer having to manually allocate or deallocate memory. However, it is important for developers to understand memory management in order to avoid common pitfalls such as memory leaks.

4. Can Objective-C be used for cross-platform development?

While Objective-C is primarily used for developing applications for Apple's operating systems, it can also be used for cross-platform development. This is done through the use of third-party libraries and tools such as Xamarin or React Native, which allow developers to write code in Objective-C and deploy it to multiple platforms.

5. Is Objective-C still relevant in today's programming landscape?

Despite the rise of newer languages such as Swift, Objective-C is still widely used in the development of iOS and macOS applications. Many existing apps are written in Objective-C, and there is a large community of developers who continue to use and support the language. Additionally, Objective-C is still being actively developed and updated by Apple, ensuring its relevance for years to come.

Similar threads

  • Programming and Computer Science
Replies
8
Views
877
  • Programming and Computer Science
Replies
2
Views
1K
  • Programming and Computer Science
Replies
9
Views
1K
  • Programming and Computer Science
Replies
16
Views
3K
  • Programming and Computer Science
Replies
3
Views
3K
  • Programming and Computer Science
Replies
6
Views
1K
  • Programming and Computer Science
Replies
8
Views
3K
  • Programming and Computer Science
Replies
7
Views
2K
  • Programming and Computer Science
Replies
14
Views
3K
Back
Top