I always wanted to be able to program. Even as a little boy I admired people who had a screen in front of them full of numbers and code that didn't say anything. In the 1990s, I came across the Baltík programming language and development environment, which is based on the C language. I used to move icons to give commands to a little wizard. After more than twenty years, I came across a similar application that has a lot to do with the Baltic. We are talking about the Swift Playgrounds educational application from Apple.
In terms of programming, I'm stuck with plain HTML code in a notepad. Since then, I've tried various tutorials and textbooks, but I've never quite gotten the hang of it. When Apple introduced Swift Playgrounds at WWDC in June, it immediately dawned on me that I had another opportunity.
It is important to say at the outset that Swift Playgrounds only works on iPads with iOS 10 (and a 64-bit chip). The app teaches the Swift programming language, which the California company introduced at the same conference two years ago. Swift replaced the object-oriented programming language, Objective-C for short. It was originally developed as the main programming language for NeXT computers with the NeXTSTEP operating system, i.e. during the era of Steve Jobs. Swift is primarily intended for developing applications that run on macOS and iOS platforms.
For children and adults
Apple presents the new Swift Playgrounds application as being primarily intended for children who teach programming logic and simple commands. However, it can also serve adults very well, who can learn basic programming skills here.
I myself have repeatedly asked experienced developers how I can learn to program by myself and, above all, which programming language I should start with. Everyone answered me differently. Someone is of the opinion that the basis is "céčko", while others claim that I can easily start with Swift and pack more.
Swift Playgrounds can be downloaded for iPads in the App Store, completely free, and after turning it on, you will be immediately greeted by two basic courses - Learn to Code 1 and 2. The entire environment is in English, but it is still needed for programming. In additional exercises, you can easily try to program even simple games.
As soon as you download the first tutorial, instructions and explanations of how everything works await you. Subsequently, dozens of interactive exercises and tasks await you. In the right part you always have a live preview of what you are programming (writing code) on the left side of the display. Each task comes with a specific assignment of what to do, and the character Byte accompanies you throughout the tutorial. Here you have to program for certain activities.
Initially, it will be basic commands such as walking forward, sideways, collecting gems or various teleports. Once you get past the basic levels and learn the basics of syntax, you can move on to more complex exercises. Apple tries to make everything as easy as possible during training, so in addition to detailed explanations, small hints also pop up, for example, when you make a mistake in the code. A red dot will then appear, by which you can immediately see where the error occurred.
Another simplifying element is a special keyboard, which in Swift Playgrounds is enriched with characters needed for coding. In addition, the top panel always tells you the basic syntax, so you don't have to type the same thing over and over again. In the end, you often just choose the correct form of the code from the menu, rather than having to copy all the characters all the time. This also helps with maintaining attention and simplicity, which is especially appreciated by children.
Create your own game
Once you think you've programmed Byta correctly, just run the code and see if you've really done the job. If you are successful, you continue to the next parts. In them, you will gradually encounter more complex algorithms and tasks. This includes, for example, finding errors in the code you already get written, i.e. a kind of reverse learning.
Once you've mastered the basics of Swift, you can code a simple game like Pong or a naval battle. Since everything happens on the iPad, Swift Playgrounds also has access to motion and other sensors, so you can program even more advanced projects. You can easily start with a completely clean page in the application.
Teachers can download free interactive textbooks from the iBookstore, thanks to which they can assign additional tasks to students. After all, it was precisely the deployment of the programming application in schools that Apple drew attention to in the last keynote. The ambition of the Californian company is to bring many more children to programming than before, which it can do due to the absolute simplicity and playfulness of Swift Playgrounds.
It's clear that Swift Playgrounds alone won't make you a top developer, but it's definitely a great starter meta to build off of. I myself felt that gradually a deeper knowledge of "Céček" and other languages would be useful, but after all, this is also what Apple's new initiative is about. Arouse people's interest in programming, the path of each user can then be different.
[appbox app store 908519492]
Personally, I think it's a shame that it's only for the iPad. :-( After all, I won't be buying a new one if this can't be run on the iPad 2 because it requires IOS10. Whoa.
Agreed, but it probably wouldn't work on iPhones. But they could redo it on macOS
I would send files from the iPad up, that is, as far as the diagonal is concerned. Some levels are stupidly read from the right column, when the keyboard is extended, everything is not well visible.
I also think that I am unlucky with my first generation iPad :D and that I would like to give 12+ thousand just to "play" swift...
Unfortunately, iOS10 is not enough. It is not possible to install for iPad 4 with iOS 10. I was quite looking forward to it. Damage.
We also looked forward and disappointed (iPad mini), so far I'm googling and I hope that someone will be able to "hack" it through some emulator and provide it on Mac.
This Apple pushing of the iPad as a replacement for the Mac is starting to annoy me quite a bit, while as an application with text input it is at most offered on the Mac more than on the touch interface.
God and why? If that's really the case and it's not a bug, I don't understand Apple.
It's about the fact that Apple allowed it only for 64-bit chips, as we write in the article.
How does your iPad4 sleep with iOS 10. Is it still usable? I can't decide whether to install or not.
I don't notice a difference between iOS 9 and 10. So I wouldn't worry about it.
Can someone please try with the latest XCode 8 and the iOS simulator to see if they can break Playground through this dev utility?
Unfortunately, I stick to Yosemite, where only the older Xcode 7 works for me, and it only offers the iOs 8 simulator.
I'm not sure if I'm able to run an app from the AppStore in the iOS simulator, I once saw somewhere that maybe not, but I could be wrong.
Nejd
Karel exists on Desktop, unfortunately under Windows. Although it doesn't look so beautiful, it doesn't have Swift syntax, but you can learn to program on it :-) Honestly, it's quite funny that this application has been around for years, I first saw it in the late 80s and learned to program on it, and today's generation has "Karla Reloaded", i.e. Swift Playgrounds :-)
http://www.stahuj.centrum.cz/podnikani_a_domacnost/vyukove_programy/robot-karel/
Sorry, but it really can't be compared
I am and I am not. Swift Playgrounds is something where the original idea of publishing Karl has come to. Practically, if I remember, Karel was mainly about algorithmization, without any syntax, just basic principles and if a person liked it, he could learn basic programming things there without being bound by the syntax of the respective language. Then it crossed the Baltic (https://cs.wikipedia.org/wiki/Balt%C3%ADk), via Cato's Hike (https://itunes.apple.com/cz/app/catos-hike-programming-logic/id574335479?mt=8) to today's Swift Playgrounds, where you lose the "general algorithmization" regardless of syntax.