CodeCompletion.io

Episode 16: It's mini in the non-trademarkable kind of way

Welcome to Code Completion, Episode 16! We are a group of iOS developers and educators hoping to share what we love most about development, Apple technology, and completing your code!

Follow us @CodeCompletion on Twitter to hear about our upcoming livestreams, videos, and other content.

Be sure to also sign up to our monthly newsletter, where we will recap the topics we discussed, reveal the answers to #CompleteTheCode, and share even more things we learned in between episodes.

You are what makes this show possible, so please be sure to share this with your friends and family who are also interested in any part of the app development process.

⭐️ This Week's Topics

  • More thoughts on the iPhone 12 mini, Mac mini, and HomePod mini.
  • Big Sur's release, and the launch issues that came about.
  • Fernando's new project, supplemental dev skills, and interview standardization.

🚧 #CompleteTheCode

This week's #CompleteTheCode:

What etymology lead to the random number generator of choice on Apple platforms being named arc4random()?
1
2
3
4
5
6
7
import Darwin

public func arc4random() -> UInt32

public func arc4random_buf(_ buffer: UnsafeMutableRawPointer!, _ numberOfBytes: Int)

public func arc4random_uniform(_ upperBound: UInt32) -> UInt32

Be sure to tweet us with hashtag #CompleteTheCode if you know the answer!

⚠️ Compiler Error

We all know and love Swift, which owes its inspiration from Objective-C, which owes its inspiration from Smalltalk!

  1. Unlike many languages, Smalltalk has no if statement, let alone other control structures. Control flow is instead implemented as methods sent to objects.
  1. Like Objective-C, Smalltalk makes use of argument labels on each of a methods arguments, but does not wrap every method call in square brackets.
  1. Only six "keywords" are reserved in Smalltalk: true, false, nil, self, super, and thisContext, which are called pseudo-variables in the language.
  1. Like many languages in the 80s, Smalltalk uses the dot character to access properties, the semicolon to delineate statements, and curly brackets to denote blocks.
Compilation Results

This time, Ben went first, followed by Fernando. Let's see how they did!

2. Like Objective-C, Smalltalk makes use of argument labels on each of a methods arguments, but does not wrap every method call in square brackets.

Both of our completionists thought this was true, and it is indeed a code completion! Learn More →

3. Only six "keywords" are reserved in Smalltalk: true, false, nil, self, super, and thisContext, which are called pseudo-variables in the language.

They both thought this was also factual, and it is also a code completion! Learn More →

1. Unlike many languages, Smalltalk has no if statement, let alone other control structures. Control flow is instead implemented as methods sent to objects.

Ben didn't think Smalltalk was weird enough, but it turns out it is, because was a code completion! Learn More →

Which leaves…

4. Like many languages in the 80s, Smalltalk uses the dot character to access properties, the semicolon to delineate statements, and curly brackets to denote blocks.

…which Fernando was rightfully skeptical of, because this was the compiler error! Smalltalk uses the dot character to selineate statements, the semicolon to cascate method calls, and square brackets to denote blocks! Learn More →

🎁 Sponsor

This week's episode of Code Completion is brought to you by JohnnyB's Bon Voyage eCommerce App course. Visit bon-voyage.app/course and be sure to follow Bon Voyage's instructor @jonnybcodes on Twitter to learn more and stay up to date with all his courses!

📹 Watch the Stream