About Me

Hello, I am Sherif and this is my programming blog. I have been programming since an early age and have worked both freelance and for different companies as an in house programmer. I created this blog to share some of my insight and experience related to programming languages. Over the years I have watched languages evolve and new programming languages rise to popularity. This site is my contribution to the conversation about the value and importance of various programming languages and the needs and demands that future languages will fill.


Evaluating CodeIgniter Framework

There are various ways in which web developers can execute the PHP code. The HTML code can be flawlessly embedded by PHP code. Various frameworks can be integrated with PHP code in the same manner. Many software developers can count on consolidating the PHP code with the famous web frameworks. This is done for developing custom web applications very quickly without writing any extra code. The regular web development frameworks can be achieved easily by the clients when they use this web framework. When it is the matter of using the PHP frameworks it is always CodeIgniter which is the top priority of the majority software developers. Composing a web application like customization through software developers is made easy by CodeIgniter. It has a very rich toolbox and it is an open-source framework. When the software developers use this their overall web application advancement cost is reduced by a huge number. To meet the Rising web application development trends the CodeIgnitor upgrades itself reliably. There are many pros and cons to this framework. According to these pros and cons, you can use it effectively and they are discussed as follows.


  • The Footprint is small

Codeigniter is a lightweight PHP framework. It is unlike the other PHP frameworks since the footprint is very small. This particular concept makes CodeIgniter run faster than any other efficiently utilized web framework for PHP because it has a small footprint. It also prevents the elimination of performance lags and the performance of the website will be excellent and fast.

  • Setup options are easy

The experienced PHP programmers and the beginners both can effortlessly use code ignitor without any problem. Since it has robust community support and clear documentation it makes the PHP programmers use this PHP Framework very easily. There is no stone unturned to make the development of the variety of web applications made easy by using CodeIgniter. The developers or users can very easily configure common web development tasks simultaneously due to the easy-to-use setup options provided by this framework.

  • Modern Problems—Modern Solutions

The model-view-controller pattern is not forcefully imposed on the PHP programmers, Unlike the other PHP frameworks. This framework increases the software developers to increase the speed for the development of complex and large web applications by implementing the model view controller pattern differently. The programmers can use models for library data controllers for control and also views HTML by using the modern separation concept which is offered by code Igniter.

  • Bug Handling

It can very easily recognize and handle errors throughout the application and it is is very manageable and user-friendly when dealing with the interfaces. Whenever you are working on this PHP Framework you will regularly get the debugging information and also bug handling directions. It displays all the errors of the PHP Framework in your application. This has been utilized by free local sex hookup apps like FFinder among many others. The ability for efficient and easy debugging cannot be overstated.

  • Simple Installation

It is very easy to set up and very little time and effort are required for anyone to use this PHP framework. The options which are available in PHP Framework are very easy to use. The database schema updates are easy to manage and also the immigration from the server to server can be done effortlessly. If the code has any e error then this PHP Framework will surely notify you with security warnings.

  • Database Caching and Web Page Supported

The web applications are speeded up by implementing database caching and webpage. The web pages are cached fully in the rendered state which reduces the server load. The database load is reduced by the programmers’ bye cashing the database queries in the form of simple text files by using the database caching class.

  • Built-In Security Features

The more the features the easy the Framework is. Code ignitor has amazing features which make the programmer to effortlessly write secure PHP applications. There are many security features provided by CodeIgniter that help the software developers which makes a proper security E for the web application. The final application will be aloof from the security threats light remote code execution, cross-site scripting, and SQL injection. There is an option of calling back certain functions that will prevent these security threats. By installing a few plugins the programmer can also improve website security.

  • Customizable and extendable

Since it has a very small footprint it is very easy for any software developer to customize and extend the PHP framework according to the application. Using custom libraries third-party plugins and class extensions the programmers can extend CodeIgniter in various ways. Without investing a lot of time and effort it helps the programmer to build core libraries.


  • Code Maintainability-Not emphasized

It is a requirement to write readable, structured, and clean code by the programmers. If the quality of the coding is really good then it will be very easy for any Enterprise to modify update or maintain it. In the future, these web applications can be very easily modified. The framework does not support the modular separation of code unlike the other PHP frameworks. This is the reason why the programmers have to invest and extra effort and time to update or maintain the code.

  • No Exhaustive Libraries

It has a few libraries which make the software developer accelerate the custom web application like the other web frameworks. The web application may require only a few libraries and this Framework will allow only a few libraries which are required by the web application to be installed. The libraries can be extended by extending the native classes which are further used for the customization in creating the web applications by the software programmers. Many other PHP frameworks provide an infinite library when compared to to the CodeIgniter. In an overall view, this PHP framework is a lightweight one. Many features that are provided by the modern PHP frameworks are lacking in this CodeIgniter. Whenever a programmer selects amongst the PHP frameworks it is always better to search and compare the others with the CodeIgnitor. Select the right PHP Framework which Suits your application. Most of the software developers always opt for CodeIgniter because of its simplify able and effortless development of medium And Small applications.

Finish Reading

Programming Languages

What You Need To Know About Swift

Have you heard of the Swift programming language?

Swift is a programming language used general-purpose which is developed by Apple Inc. It’s a multi-paradigm (object-oriented, protocol-oriented, block-structured etc.) programming language which is mainly developed for iPad OS, macOS, tvOS, Linux, watchOS, IOS and z/OS. Swift programming language is mainly designed for working with cocoa touch Frameworks and apple’s cocoa and also for the objective C code which is the existing large body and was mainly written for Apple products. The swift programming language was designed by Doug Gregor, Chris Lattner, John McCall, Joe Groff, Ted Kremenek. The open-source compiler framework known as LLVM was used to build this language. Since the 6th version of Xcode, the swift programming language was included in it. This was released in the year 2014. The objective C runtime library allows C, C++, swift code and objective C code to run inside a single program and is thus used in Apple platforms.

Many of the core functions are supported by the swift programming language and the main concepts associated with this are dynamic dispatch, Objective C, extensible programming as well as widespread late binding and many other features. It safely performs all these functions and makes it easier to catch the software bugs. This programming language supports concepts such as the extensibility system that can be applied to many types, classes and structs, and protocol extensibility which is considered as a real change in the programming paradigm by the Apple company.

History and development of the programming language

This programming language was introduced in the 2014 WWDC (Worldwide Developers Conference) organized by Apple. During 2014 it underwent the up-gradation and version 1.2 was released. In Apple’s 2015 WWDC Swift 2 was released. Initially, under the Apache license 2.0, an open-source software was made and the proprietary language of version 2.2 was released on 3rd December 2015 for platforms of Apple and Linux.

In July 2010 the development of Swift was started by Chris Lattner and eventually collaborated with the programmers of Apple. The list from which swiftly took its language ideas is ‘ Haskell, rust, ruby, python, objective C, CLU, C#’ and many more of the programming languages. In 2014, 2nd June the app which was publicly released for the first time was the Apple WWDC application, which was written with the help of swift programming language.

There was a beta version of this language which was released to the registered Apple developers who were present in the conference. Oddly some of the early adopters of Swift were companies in the adult space. However, the success of some of the certain adult dating platforms and the best escort sites, like Skip the Games, with the development of their mobile apps drew the attention of many others. That started some of the popularity transitions from adult niche products to more mainstream ones.

There came a manual of 500 pages on “The Swift programming language” which was released at WWDC and were also available on the official website as well as on iBooks. On September 9 of 2014, Swift achieved the 1.0 milestone along with the gold master for iOS having Xcode 6.0.

In the Stack Overflow Developer Survey, Swift took the 1st place as the most loved Programming language and got second place in the year 2016.

Features of Swift

Unlike Objective C Swift doesn’t use features like pointers or any other vulnerable accessors. Swift offers true-named parameters, many key features of Objective C such as closures, categories and protocols. Other features that Swift offers its users as a loved programming language are:

  • String support

In the case of Swift, there is no need to create an object for manipulating the strings. The strings can be controlled directly without any object involvement, and strings can be concatenated by simply using the + symbol.

  • Access control

Private, file private, open, public and internal are the main 5 access control levels offered by Swift. These access controls ignore the inheritance hierarchy, unlike other object-oriented languages.

  • Private: This indicates that in an immediate scope a symbol is accessible.
  • Public: It can be accessed from any of the modules present.
  • File-private: It can be accessed only within the file.
  • Internal: It can be accessed within the containing module.
  • Open: This feature indicates that the class can be divided into subclass outside the module. It is mostly used in cases of classes and the methods associated with them).
  • Value types

In many programming languages, there are two parts of objects internally. There are different styles of access, such as pass by value and pass by reference which are considered as basics. Objects are considered to be more useful when the data is large whereas data having smaller values such as integers and pointers of similar size are considered to have no advantage associated with them.

  • Protocol-oriented programming

The features of Swift help in adding methods that can extend the classes during its runtime. Protocols are considered as “interfaces” in most of the modern languages, which promises that a set of method is implemented by a particular class. Protocols as well as extensions are used extensively in Swift as it treats classes and structs as similar concepts. The combination of defaults, protocols, extensions and protocol inheritance helps in performing many of the functions which are associated with classes. If it is used properly then many improvements can take place. Apple started calling swift as a protocol-oriented programming language when these concepts were used together within the following programming language.

  • Memory management

For managing the memory, Swift uses ARP i.e. Automatic Reference Counting. ARC was introduced in the year 2011 which made it easier for memory allocation and deallocation. The disadvantage associated with ARC is the possible creation of a strong reference cycle, but it also provides keywords to prevent strong reference cycles.

  • Debugging and other elements

The key feature offered by Swift is its ability to debug cleanly and then run it efficiently. It thus provides interactive properties which are required for the scripting abilities of python as compared to the traditional programming language.

Along with the features explained above, there are a lot of features associated with Swift as a programming language, making it perform more efficiently and also maintains a safety trade-off. To reduce overheads Apple has implemented optimizing compilers which deal with the various attributes associated with executable computer programs. Well, using Swift becomes easier if you know about the C operators. In Swift language, curly braces are used for group statements.… Finish Reading

Programming Languages, Python

Key Advantages Of Python

Guido van Rossum was obviously a super fan of the surreal but quintessentially British landscape of the 1970’s hit BBC comedy series, “Monty Python’s Flying Circus”. It starred the immortal comic actors John Cleese, George Chapman, Terry Gilliam, and Eric Idle. So when he was searching for a striking name for his new high-level programming language, Guido hit upon “Python”. And the name, which was short, unique, and memorable, stuck, as the popularity of this language reached sky high. Not surprisingly, given the simplicity, accessibility and versatility of this new language. From its beginning in 1991, Python has remained one of the world’s top five most popular languages. Thus, this short treatise on the Advantages of Python seems both timely and apt.

The Users

There are numerous top organizations using Python. Some of the most famous of them are:

  • Google (Components of Google Search Engine and Google Spider)
  • Mozilla
  • Dropbox
  • Microsoft
  • Yahoo (Maps)
  • Cisco
  • Spotify
  • Quora
  • YouTube
  • Facebook
  • Netflix

Benefits and Advantages

Some of the Advantages of Python can be listed as below:

  • Purpose and Type: Python is a high-level general purpose, which is a programming, dynamic language interpreted, that centers on readability.
  • Few steps: Python has lesser steps in comparison to Java and C.
  • Support: Python supports multiple programming paradigms, as is evidenced by the number of organizations supporting it.
  • Memory Management: Python performs Automatic Memory Management.
  • Libraries: Python naturally provides extensive support for Libraries, such as NumPy for numerical calculations.
  • Open source Community Development: The fact that Python is open source ensures that it has truly vast community support. Programmers and designers from all walks of life have access to developing websites and coding, using Python.
  • Learning: Learning Python is comparatively easy to learn.
  • User-Friendly: It has User Friendly Data structures.
  • High Level: Python can be used to solve the most complex of programming conundrums and problems.
  • Typing: Python is a dynamically typed language. It is not necessary to mention the data type. It automatically takes data type, based on value assignment.
  • Portability: It is an Object oriented language that is Portable and Interactive. Python is Portable across almost all Operating Systems.
  • Applications: There are many applications of Python. Below are a few of them:
  1. Web frameworks.
  2. Enterprise and Business Applications.
  3. GUI based desktop applications (Games, Scientific Applications).
  4. Operating Systems.
  5. Prototyping.
  6. Language Development.
  • Functions: Most types of Functions can be written in Python. These are, for example, Empty functions, Operator functions, Time Functions, Data Manipulations, Increment and Decrement Operators, Permutations of Sets, Swapping Two Variables in One line in C/C++, Python, PHP and Java, Division Operators, String Splitting, slicing and so on.
  • Profitability: Python is the fastest growing programming language in the world, according to StackOverflow Trends. Future projections show that Python should overtake Java by 2021. Python is now recognized as the Third most Profitable Programming language on the Planet.
Finish Reading
JAVA, Programming Languages, Python

Top Programming Languages

Programming languages became popular in recent years alongside improvements to the latest technology. Every time a new programming language is created, a software engineer or technician needs to know new information and knowledge. For the past few years, the programming community puts efforts to bring innovative ideas with more involvement of the programmer in the results of the program. As a result, few of the simple programming languages reduced the syntaxes of the program from 10 lines to 5-3-line syntax. They became famous for encouraging non-programmers to learn to program.

The evolving of programming languages is still happening and some languages are still considered powerful despite their faults. Learning the process of the programming gives a boundary to the ideas which can be designed through them. It also allows thinking beyond boundaries to create an evolved language or new language. The oldest languages had to be updated to stay up to date with the latest technology. Programming languages like JAVA and C language have been consistently improvised to form better versions. Here are a few top programming languages which every programmer must know.


Python was released 15 years ago through an open platform. The codes are simple and flexible to write complex programs. In recent days, python picked up the demand as non-programmers find it easy to learn and work with python. Rather than working with long codes that tend to bore and wear out interest levels. However, there are some issues with identifying errors for inexperienced programmers. Interestingly, complex programs in robotics and artificial intelligence can be created with python language. The simplified code language makes dumping complex programs into robots or devices user-friendly. The security systems these days are run with python language. The power of python is high and learned by powerful programmers in case they need to speed up things.


JAVA is all time programming language. Becoming a real programmer starts with learning the JAVA language. Errors can be easily identified and rectified. It is used in almost every device or technology by companies, organizations, startups and small businesses. Students participate in competitions where programmer designing the best JAVA program wins a prize. The compatibility of JAVA is high. It is the main programming language for professional programmers in any field. Having a unique technology in companies for their safety is highly preferred these days. The demand for JAVA programmers to design new ideas and implement them is immense. Programming groups like GitHub or Stack Overflow are about JAVA programmers where everything is possible. With JAVA programming, a programmer can do any complex task on any platform.

C programming 

C programming is a must-learn subject for all major engineering students. Learning solely C programming allows a programmer to easily self-learn other programming languages and create designs to implement them. There is a recent decrease in demand due to the emergence of easier programming languages. But, the importance of using a C program in different platforms, its compatibility and strong ability to complete multiple tasks has always been in demand. Powerful technological companies like Microsoft and Apple still use C programming for certain tasks. It has existed since long and every device used from clocks to laptops is being made by the C programming indirectly or directly. The importance of the language is by calling it “Universal Language”. C++ and C# are newer versions of C, equally powerful and important programming languages.


JavaScript is officially considered the best programming language in programming communities. Programmers expect the next extravagant language to be JavaScript. The advantage is its speed. When a complex program runs quickly and easily, it mostly opts for programming languages. One of the reasons why it isn’t used in powerful companies is because of some issues faced while running it. There have been countable complaints about running JavaScript and still need to be fixed. Currently, many websites are running with JavaScript. It is taught alongside HTML for new programmers. Start-ups are working on how to effectively use JavaScript for the benefit of their company.


Ruby recently became a popular programming language. Starts ups are looking forward to experimenting with Ruby for multiple purposes. Popular start-ups like Airbnb and GitHub are completely built with Ruby as the main programming language. Yet, many aspects of this language are unknown and to experiment. It is similar to Python having a fewer number of lines to code. Ruby is also known as a beautiful way to code. The speed of running code is much faster than any other code, making it an incredible choice for a quick application run test. One main side-effect is not running for complex codes. When there are errors, the application blocks out. It makes it tough for programmers and increases risk while using it. The scope of the Ruby language is expected to rise soon. Hence, Ruby is considered one of the must learn programming languages.… Finish Reading