Objective-C and Programming languages

  • Thread starter Thread starter phylotree
  • Start date Start date
  • Tags Tags
    Programming
AI Thread Summary
The discussion centers on the relevance of object-oriented programming (OOP) concepts across different programming languages and the implications for hiring practices in software development. It highlights that while understanding OOP principles is crucial, the specific implementation of these concepts in various languages can significantly affect a programmer's efficiency and effectiveness. The conversation raises questions about the necessity of hiring developers with experience in specific platforms, such as iPhone versus Android, suggesting that familiarity with the language's nuances and associated libraries is essential for successful development. The dialogue also touches on the evolution of programming languages, with mentions of Objective-C, C++, Java, C#, and Scala, emphasizing the importance of adaptability and experience in navigating different programming environments. Ultimately, the consensus suggests that while foundational programming knowledge is important, practical experience with the specific tools and languages used in a project is critical for success.
phylotree
Messages
48
Reaction score
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
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 ;-)
 
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?
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top