Need advice about which tool to choose?Ask the StackShare community!

Objective-C

12.8K
6.5K
+ 1
490
Smalltalk

253
42
+ 1
0
Add tool

Objective-C vs Smalltalk: What are the differences?

Key Differences between Objective-C and Smalltalk

Objective-C and Smalltalk are both object-oriented programming languages, but they have several key differences.

1. Message Passing: In Objective-C, message passing is implemented using square brackets and method signatures. Smalltalk, on the other hand, uses round brackets and does not have explicit method signatures.

2. Syntax: Objective-C is a superset of C, so it inherits a similar syntax, including the use of semicolons and curly braces. Smalltalk, on the other hand, has a more minimalist syntax with a focus on readability and simplicity.

3. Dynamic Binding: Objective-C uses dynamic binding, meaning that method calls are resolved at runtime. Smalltalk also uses dynamic binding, but it handles method lookup through an indirect process known as "sending a message."

4. Memory Management: Objective-C uses manual memory management, where developers are responsible for allocating and deallocating memory. Smalltalk, on the other hand, uses automatic memory management through garbage collection.

5. Libraries and Frameworks: Objective-C has a vast ecosystem of libraries and frameworks, particularly for iOS and macOS development, due to its close association with Apple's platforms. Smalltalk also has libraries and frameworks, but it may not have the same breadth and depth as Objective-C.

6. Community and Adoption: Objective-C has a larger community and wider adoption, especially within the iOS and macOS development communities. Smalltalk has a smaller but dedicated community, primarily focused on specific Smalltalk implementations such as Pharo and Squeak.

In summary, Objective-C and Smalltalk differ in terms of message passing syntax, general syntax, dynamic binding, memory management approach, availability of libraries and frameworks, as well as community and adoption.

Decisions about Objective-C and Smalltalk
Noel Broda
Founder, CEO, CTO at NoFilter · | 5 upvotes · 256.8K views

1 code deploys for both: Android and iOS. There is a huge community behind React Native. And one of the best things is Expo. Expo uses React Native to make everything even more and more simple. Awesome technologies. Some other important thing is that while using React Native, you are reusing all JavaScript knowledge you have in your team. You can move easily a frontend dev to develop mobile applications.

A huge PRO of Expo, is that it includes a full building process. You run 1 line in the terminal, and 10 minutes after you have 2 builds done. Double check EAS Expo.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Objective-C
Pros of Smalltalk
  • 212
    Ios
  • 115
    Xcode
  • 62
    Backed by apple
  • 47
    Osx
  • 40
    Interface builder
  • 10
    Good old fashioned ooe with a modern twist
  • 2
    Goober, please
  • 1
    Object-oriented
  • 1
    Handles well null values (no NullPointerExceptions)
    Be the first to leave a pro

    Sign up to add or upvote prosMake informed product decisions

    Cons of Objective-C
    Cons of Smalltalk
    • 1
      UNREADABLE
      Be the first to leave a con

      Sign up to add or upvote consMake informed product decisions

      What is Objective-C?

      Objective-C is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.

      What is Smalltalk?

      It is an object-oriented, dynamically typed reflective programming language. It was created as the language underpinning the "new world" of computing exemplified by "human–computer symbiosis". It was designed and created in part for educational use, specifically for constructionist learning.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Objective-C?
      What companies use Smalltalk?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Objective-C?
      What tools integrate with Smalltalk?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      What are some alternatives to Objective-C and Smalltalk?
      Swift
      Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.
      Java
      Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
      JavaScript
      JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
      Python
      Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
      Node.js
      Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
      See all alternatives