Skip to main content

Swift 4

There are a lot of languages out there to choose from when it comes to programming. Some are similar to each other and some are different from each other. Some are designed for a single purpose and some are designed for multiple purposes.

A general programming language that was built to account for modern safety, performance, and software design patterns which is safe, fast, and expressive is a language called Swift.

Swift is currently in it's fourth stage and the project became open source on Github in early December 2015. It is written with the languages; C++, Python, and Objective-C. It is associated with it's very well designed and detailed website called swift.org.

Swift is used to create a good language for uses ranging from mobile to desktop to cloud services programming. For the most part, this language is being used by developers to develop applications for macOS, iOS, watchOS, and tvOS.

Although it is open source, Apple has not allowed the Github community to work on or view issues. They want to keep the issues internal in the company, but they do replicate the commits when issues are resolved. That means that the community stays up to date with the current state of the project at all times. There are currently 505 contributors to the Swift4 project, which is for the most part actual internal Apple employees.

Comments

Popular posts from this blog

Documentation

Documenting everything is extremely important. It gives everyone the information they need whenever they need it. Github makes it very easy to have beautiful pages written in markdown rendered automatically. It's nice and easy to do. Creating a README in the root of the project is common practice and is even automatically rendered when the project is open in Github, under all the file names. I've been looking at quite a few different projects and they all have README files. It usually includes an introduction to the project, how to set it up, how to run it, how to contribute to it, major credits to people, etc... Essentially, it holds important information about the project that anyone has access to. Along with the README file, we can comment on our actual code so hackers who read the code can know what does what. It allows the creator to recall what they wrote in the past and it invites new people to understand what has been written. It is really important that comments are

Second Attempt At Fixing Open Source Bugs

In my second attempt at fixing open source bugs, I want to prove that I have grown from the first attempt. My first attempt was fixing a single bug, requesting a pull request, and getting approved! My goal this time around is to work on more than one bug, I plan to work on 2-3 and my ultimate goal is to get all of them approved! There is no better satisfaction than getting approved!  Since I was working with Mozilla projects before, I decided to stay in that bubble and work on Thimble/Brackets. I have currently asked to work on a couple bugs like this  and this  and once I get the okay to do so, I will begin to try to fix them. As of right now, I am still researching for more bugs to work on, but at the time of this blog post, I do not have any backups.  Due to the strike, a lot of things are altered in my schools semester. Surprisingly, all my teachers were very accommodating and they dropped tests and assignments and overall, it's making the end of the semester less over

Automated Testing

Automated testing is a very useful feature that is simple to implement in any open source project. It allows the testing to be automated to ensure that nothing will break when things are changed. In the open source world, code is changed quite often so having automated testing can make it easy to track and manage errors and we can know if the code is properly written to pass the tests. Overall, it is very beneficial in open source programming. Travis CI makes it very easy to link your Github page and the repos on it. It is very easy to get started and I would recommend it to everyone! I always used to do my testing by outputting the results and comparing it with whatever I had in my head, now, it does it all on it's own.