Swift 3 brought a tsunami of changes to the language as well as our codebase, some of you reading this may even still be battling with the migration too. But even with all these changes, we’re still left with some APIs within Foundation that are stringly typed , which is totally fine… Until it’s not. It’s kind of a love/hate relationship in that we love the flexability that strings within APIs afford us, but we hate that we have to use them because of the inherit consequences they bring if we’re not careful, they’re pretty much the programming equivalent of running with scissors. We’re given stringly typed APIs because the Foundation framework engineering gods could not predetermine exactly how we intend to use them. So in all their wisdom, power and knowledge, they decided to use strings in some of the APIs because of the unlimited possibilities it creates for us as developers. It’s either that or some type of dark arcane magic. UserDefaults Our topic for today is going...
You can find the DMGs or XIPs for Xcode and other development tools on https://developer.apple.com/download/more/ (requires Apple ID to login). You must login to have a valid session before downloading anything below. *(Newest on top. For each minor version (6.3, 5.1, etc.) only the latest revision is kept in the list.) Xcode 13 13.2 Beta 13.1 13.0 Xcode 12 12.5.1 (requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Big Sur 11 or later) (Latest as of 22-Jun-2021) 12.4 (requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Catalina 10.15.4 or later) 12.3 (requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Catalina 10.15.4 or later) 12.2 12.1 12.0.1 (Requires macOS 10.15.4 or later) (Latest as of 24-Sept-2020) Xcode 11 11.7 (Latest as of Sept 02 2020) 11.6 11.5 11.4.1 (Re...
What is LLVM? “The LLVM compiler infrastructure project (formerly Low Level Virtual Machine) is a “collection of modular and reusable compiler and toolchain technologies” used to develop compiler front ends and back ends.” — Wikipedia This is what Wikipedia says about LLVM. What does it mean? In order to understand this, you should know very high-level picture of what is happening during compilation of Swift or any other programming language. Compilation Phases LLVM reduces the effort to make a compiler lot easier by abstracting optimization, code generation etc. LLVM Intermediate Representation (LLVM IR) is the one which makes it popular. LLVM IR is a machine independent representation which can be later converted to instruction for targeted architecture like x86, arm etc. Many popular programming languages like Swift, Objective-C, Haskell, Rust, Julia uses LLVM under the hood. Refer this video for more information related to LLVM Why should I use LLVM ...
Comments
Post a Comment