Day 1 Learning Swift: Beginning My Coding Journey on a Mac Virtual Machine

The Spark of Curiosity
In 2015, as summer approached, my first computer science course had ignited a passion for coding. Creating games, quizzes, and various computer apps had only fueled my desire to learn more. The world of software development was like an unexplored dungeon, and I was eager to embrace its vast possibilities.
Choosing the Right Path
After some research, I discovered that mastering one programming language was the best way to start. I delved into comparing different languages, weighing their pros and cons. That’s when I stumbled upon Swift, a brand new language that was then in its second version.
Why Swift?
Swift appealed to me for several reasons:
- I could create, run, test, and showcase apps I developed on my iPhone (iPhone 6 Plus at that time) without publishing to the App Store.
-
Its syntax read like a sentence and/or book, making it more intuitive and fun to self teach.
-
Unlike web development, I didn’t need to learn multiple languages to develop a product.
-
The newness of Swift meant I would not be competing with developers who had decades of experience in older languages like Java.
-
Many iOS apps were transitioning from Objective-C to Swift, indicating a potential growing demand for Swift developers.
Overcoming Hardware Limitations
There was one significant hurdle: I didn’t own a Mac computer, which is typically required for iOS development. Undeterred, I found a creative workaround. I installed VMWare on my Windows laptop to run a virtual MacOS environment.
Persevering Through Technical Challenges
The virtual setup was far from perfect. It was slow, Xcode was buggy, and crashes were frequent. Opening storyboards or working with SpriteKit or SceneKit files would consistently cause the system to crash. Despite these setbacks, I persevered. The laptop, though not ideal, was sufficient to get me through the learning phase.
Embarking on the Swift Journey
With my makeshift development environment in place, I began my journey into the world of Swift programming. Each crash became a lesson in patience, each bug a puzzle to solve. The challenges only strengthened my resolve to master this new language and create innovative iOS applications.
Looking Ahead
As I reflect on those early days, I’m reminded of the passion and determination that drove me to overcome obstacles. My journey with Swift had just begun, and despite the technical hurdles, I was excited about the possibilities that lay ahead in the world of iOS development.