CodeCompletion.io

Episode 3: What's Clascal?

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

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

  • Transitioning between Xcode toolchains when you want to use new SDK features, but still be able to compile from an older version of Xcode.
  • Doing web development using Swift, by making use of John Sundell's Publish and Vapor.
  • How to get out of tutorial hell, and what next steps a fledgling developer could take.

🚧 #CompleteTheCode

This week's #CompleteTheCode:

Review the following code — why might some developers discourage the pattern shown below?
1
2
3
4
5
6
7
8
9
override func tableView(_ tableView: UITableView,
                        cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    guard let cell = tableView.dequeueReusableCell(withIdentifier: "DateCell",
                                                   for: indexPath) as? DateCell
          else { return DateCell() }
    
    cell.date = dates[indexPath.row]
    return cell
}

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

⚠️ Compiler Error

  1. Swift started its development as far back as 2010 as an evolution of the work Apple was already doing improving the Objective-C language with features like Automatic reference counting, zeroing weak references, and blocks.
  1. Available since the very first release of Mac OS X, Java bindings to Cocoa called the Java Bridge were available to help bring new developers to the fledgling operating system, though Mac OS X 10.4 was the first release to introduce many new APIs not included in the Java bindings.
  1. Now at version 4.0, Objective-C was originally invented in 1984 by Brad Cox, and production versions did not even have a concept of manual reference counting as a part of the main runtime or in FoundationKit even in NeXTStep 3.0.
  1. Clascal was a language Apple developed for the Lisa Workshop development system as a version of Pascal with object oriented features, and was supported in all versions of Classic Mac OS as a way to make apps using the MacApp framework, also written in Clascal.
Compilation Results

Spencer went first, followed by Johnny and Fernando. Let's see how they did!

1. Swift started its development as far back as 2010 as an evolution of the work Apple was already doing improving the Objective-C language with features like Automatic reference counting, zeroing weak references, and blocks.

Everyone thought this was true, and it is indeed a code completion! Learn More →

2. Available since the very first release of Mac OS X, Java bindings to Cocoa called the Java Bridge were available to help bring new developers to the fledgling operating system, though Mac OS X 10.4 was the first release to introduce many new APIs not included in the Java bindings.

Everyone thought this was true, and it is indeed a code completion! Learn More →

3. Now at version 4.0, Objective-C was originally invented in 1984 by Brad Cox, and production versions did not even have a concept of manual reference counting as a part of the main runtime or in FoundationKit even in NeXTStep 3.0.

Almost everyone thought this was true, but Fernando had their doubts that Objective-C ever reached past version 2.0, which is absolutely did, making this a code completion as well! Learn More → More → More → More →

Which leaves…

4. Clascal was a language Apple developed for the Lisa Workshop development system as a version of Pascal with object oriented features, and was supported in all versions of Classic Mac OS as a way to make apps using the MacApp framework, also written in Clascal.

…which both Spencer and Johnny correctly guessed was the compiler error, but only because they never heard of Clascal, which was in fact a real language Apple once used! Unfortunately, Clascal did not survive the entire Classic Mac OS era, which made it the false statement after all… Learn More →

🎁 Sponsor

This week's episode of Code Completion is brought to you by Huuungry. Click here or search for Huuungry on the iOS App Store today to give it a try.

📺 Watch the Stream