When comparing Objective-C vs Racket, the Slant community recommends Racket for most people. In the question“What is the best programming language to learn first?” Racket is ranked 17th while Objective-C is ranked 74th. The most important reason people chose Racket is:
Realm of Racket teaches the big-bang approach for managing world state. It does so by walking the reader through the development of small games. There are few guidebooks that are as useful and entertaining.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Well Documented
Objective-C's documentation exists on Apple's website, and explains language features in detail.
Pro Develop Apple applications
Similar to C# and Java, but used to develop native applications for Apple hardware.
Pro Objective-C supports an open style of dynamic binding
A style that can accommodate a simple architecture for interactive user interfaces.
Pro Realm of Racket is an excellent entry-level guidebook
Realm of Racket teaches the big-bang approach for managing world state. It does so by walking the reader through the development of small games. There are few guidebooks that are as useful and entertaining.
Pro Racket was designed to teach functional programming from the start
Racket is based on Scheme (LISP Family) and is very similar to Clojure. So there are a ton of (). The reason it is easier to learn is that it is not trying to be "Pure" if there is even such a thing in terms of Functional Programming. The great thing about Racket is it has everything included. You get DrRacket for developing programs. You want to add a picture to your software you can insert pictures. If you want to add libraries just open the package manager. The Syntax is an opinion but it really does feel easier to see what is happening since everything is in brackets)
Racket is a really a Programming Language for making Programming Languages. So there are smaller syntax Racket called Student Racket which makes things easier to pick up.
Pro Free resources to Learn
Includes several free online books and great documentation.
Pro Great RPEL IDEA included Dr. Racket
Pro Active community
Racket has an active community of users/developers that makes it easy to get help when needed.
Pro Syntax fits to functional programming
Although syntax is different from that of mainstream languages, S-expressions are a perfect match to functional programming.
Pro Subtly encourages functional programming
Racket makes it inconvenient to pursue imperative habits while encouraging functional programming by Lisps's syntax. For example, the syntax for defining a function is almost the exact same as defining a variable. In addition, Racket has a strong set of higher-order functions built in to the language.
Pro Easily embeddable
Racket is famously embedded in the game engine underlying Naughty Dog's Uncharted and The Last of Us games, because it proved to be so easy to embed.
Cons
Con Odd Syntax
Objective C's syntax is very alien to other languages. Learning Objective-C first will fail to expose you to a syntax style that would be relatively familiar in almost any other language.
Con Might as well learn Swift
Swift works almost anywhere Objective C does, and it was designed to replace Objective C.
Con One of the biggest mistakes ever.
It was meant to be one of the C-style languages, but has such bad syntax design it actually is the odd duck.
Con Apple-centric and obsolete
Con Tied into Apple's eco-system.
Con More Technical
To be able to do basic tasks in Objective-C requires a strong understanding of programming.
Con Requires Understanding of C-language.
Objective-C is built on top of C, and as such, requires at least a basic understanding of how to program in C.