paint-brush
Zealots of Programmingby@azamsharp
901 reads
901 reads

Zealots of Programming

by Mohammad AzamFebruary 19th, 2019
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Few weeks ago I received an email from one of my <a href="https://www.udemy.com/user/mohammad-azam-2/" target="_blank">Udemy</a> student asking if I can remake the complete 8.5+ hours course without using Storyboards. I asked him why to which he responded “<strong>Because Storyboards is a wrong way to built an iOS App</strong>”.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Zealots of Programming
Mohammad Azam HackerNoon profile picture

https://kiranovpoker.com/wp-content/uploads/2019/01/Blind.png

Few weeks ago I received an email from one of my Udemy student asking if I can remake the complete 8.5+ hours course without using Storyboards. I asked him why to which he responded “Because Storyboards is a wrong way to built an iOS App”.

This is not the first time I have heard such strong opinions from a developer. When I was building web apps using the .NET framework I occasionally came across developers who had strong opinions on using stored procedures instead of ORM technologies or locking files in source control instead of merging.

Each industry has its own set of Zealots, people who have a very strong opinion about something and tries to make other people have them too. Their opinion is mostly based on few bad experiences and they to convince everyone to switch their mindset. Unfortunately, the people Zealots do end up convincing are mostly junior developers. Interestingly if you start to brainwash the developers at an early age then they will also grow up to be Zealots.

These holy wars exists in all communities and iOS community is no exception. In my 9+ years of iOS development I have witnessed all types of holy wars. Heck! I have even been involved in many holy wars. Here are some of the most frequent arguments among iOS developers.

  • You should never use Storyboards and always create your user interface programmatically
  • You should never use Core Data in your app instead use a wrapper on top of X
  • Don’t ever use MVC pattern, always use MVVM
  • Always use Git from the terminal and not use any graphical interface for Git
  • Always use try? and never ever use try!
  • Everything should be a struct and never use a class

In the field of programming there is always more than one way to solve the same problem. The path you take depends on your needs and the architecture of your application.

There is no silver bullet — Fred Brooks

Back when I was a Microsoft MVP and attending the MVP summit where Microsoft was showing a framework which would integrate with Microsoft SQL Server Database and create the complete web user interface for you in seconds. As the presentation was going on a fellow MVP stood up and start cursing at the presenters. The person was mad because according to him Microsoft was teaching bad practices by allowing people to use this tool instead of writing all the code. This is an example of a Zealot. This person failed to understand that there are multiple ways of developing software and the tool will be beneficial to people who wants to create a frontend quickly without writing hundreds or even thousands of lines of code.

Life is full of choices and in programming there are endless ways to solve a problem. Try out different ways and approaches and come to your own conclusion.

PS: Pepsi is better than Coca Cola!