Showing posts with label Programming-Advice. Show all posts
Showing posts with label Programming-Advice. Show all posts

Why did Python become so popular?

             As a programmer, my first experience with python was miserable due to the bracket less syntax of the program , indention based code, lack of knowledge about the Good Python IDE and QGIS environment where I have to code in python and I was already confused with the dozen of features of QGIS and working mechanism (still I don't know about it). Although enjoyed my time and work because I love to work on new technologies and specially on Python due to its growing popularity and acceptance in data science field.
Python is a general purpose language. Recently, Python has become so popular as:


Source: octoverse github



Source: Stackoverflow survey 2017



source: IEEE spectrum


The success of python not only stop here, StackOverflow recent trends are also depicted the  popularity of Python as you can see below graph, Python has already surpassed Java and close to JavaScript.
source: stackoverflow trends
So, in number game python heading towards more popularity but what make him so popular while its first release happened in 1991? This urge me to know the reason of Python popularity and without particular order I have found these facts about python:

Readability:

It resembles with English language and mostly use common English words like in, None, not, def for definition, import etc. It not use curly bracket or special keywords to delimit code blocks instead use white-space indention (but I personally prefer curly brackets). Additionally, it use fewer code to program, like if you want to print Salam World you can write simply
print("Salam World")
But what will happen if you want to write same code  in C# or Java or C/C++?? Developers are  better know about #Include, or System namespace, or Main function etc etc, that are necessary to run single line of code.

Library:

One of my colleague asked me that how to install a package/Library/Framework in python? I told him to write this (pip install yourDesiredPacakgeName) in command line. Then, it took hardly one minutes to complete and my friend yell! This is very simple!. Yes, it simple and there are huge numbers of libraries framework available you can install in a minute. Python provide large number of third party libraries related to data science, web development game dev etc and these libs are super easy to install.

Data-Science Support:

Python has become no 1 choice in data science and recently surpassed it close contender "R". It has great support of libraries including sciPy, NumPy and Pandas.

Other reasons includes:

  1. Mostly use in scientific domain, academic research and most schools/university are adopting it as first place language.
  2. Python has strong, active and huge community and Giant Sponsors.
  3. Python Success in different areas
  4. Great documentation by third party.
  5. Python extensively using in most platform and fields like embedded devices(RaspberryPi App), Web, Desktop, Data science, game (pygame), server configuration etc.
  6. Easy for newcomers, with little efforts they can write working piece of code.
  7. Able to run on Cross platform (windows, Linux, Mac OS)
  8. Google, the corporate backer of the language.

Conclusively, I can say that python is popular due to its simplicity, huge library support, acceptance in research and universities/schools, and finally its immense support and use in data science field.

If I have forget any important aspect of python popularity please inform met, i will be happy to learn and share it.

Coding Forums for Programmers - Programmers should Join

As a programmer you defineatly google to solve your coding issues and did you ever notice that you mostly find your solution on coding forums. Yes, coding forums like stack overflow, code project or game dev etc. For me, joining a programming forum is essential therefore, I mostly recommend programmers to stick with at least one programming forums as it has significant advantages like:
  1. You can instantly get answer of your programming issues (but before posting the question on forum, you must do some research otherwise, the forum can close your duplicate question)
  2. You find new perspectives to solve a problem
  3. Opportunity to learn from other codes
  4. Sometime you talk with world class develoeprs
  5. Maybe you can find new business partners or friends
  6. Beside getting answer of your question, you can help others and can strong your coding skills

I am an active member of stack overflow and I have also joined different other programming forums like game dev, code project, software engineering stack exchange etc. profile for Mohammad Faizan Khan on Stack Exchange, a network of free, community-driven Q&A sites

For programmers, I have combined several programmiing forums link in this post. Without a particular order, here is the list:

C or HTML - What should i choose? A guide for beginners.

         You are newbie in programming field and interesting to start learning but confuse with language like C and html. A lots of newbie confused that how to start with programming or which language I should select either C or html? In this post, i will try to clear all your confusion about c and html.

         First thing I want to tell you that don't mix both things (C & html). They are separate : How ? You need to understand that if you are willing to learn programming then you should choose C And If you are willing learn to learn rendering language then, its HTML. Still confusing? No problem! You need to understand the difference between programming language and rendering language. Programming language allow you to do mathematical and logical operations.

For example, you provide two numbers to C language (programming language) 4 , 3 with positive (+) operator then, C will perform a mathematical operation and it will return 7. The statement should be like this 4+3 and the answer will be 7. It simply add both numbers and return the result but if you try to perform same operation with HTML then the result will 4+3. What? 4+3? This is exactly the same what we provide! Yes, it is same that's why we called it rendering language. It simply render the content you provide. It didn't apply mathematical operation. while in programming language you are able to perform mathematical and Logical operator (we are not going deep in logical operator like "AND", "OR").

Unity3d Training and Certification in Pakistan

 Unity3d, the amazing cross platform game-engine developed by Unity Technologies, helping thousands of users to develop games, simulations, architecture, gamification, VR, Mobile and Console applications. In April 2016, Unity announced it own certification program with this objective and background:

In talking with members in the Unity community, one of the common, recurring themes we have encountered is a need for a way to reliably assess an individual’s Unity knowledge and skills against a benchmark of proficiency.

In an effort to respond to all of these needs, we developed the Unity Certification Program, and at GDC 2016 we were thrilled to announce that the first level, Unity Certified Developer, is now available!


In order to make accessible its certifications in different countries,  Unity Technologies has partner with different training institutes. You can find its partner list here. Initially there was no affiliated partner exists in Pakistan but yesterday, i received an email from unity and I am pleased to share with you that, CETA has become the first and only Unity authorized institute in Pakistan.

"We are proud to announce our first Authorized Training Center in Pakistan: Center for Enterprise and Technology Advancement (CETA). You can now learn and get certified all at the same place!"

Now congrats for all Unity fans in Pakistan, CETA is giving Game Development Training in collaboration with Unity for the first time in Pakistan. Remember, its certification valid only for 2 years but  it is expected that it will teach you a lot as its course-ware seems comprehensive.


Unity3d Interview questions

Unity3d one of the famous and most amazing cross-platform game-engines that provides a great environment for game development. It is widely used and there are significant opportunities available for game development using this technology. If you want to avail these opportunities then, you must have to prepare yourself for technical questions and this is the reason for this post.

      After making some initial search and an interview experience, we have gathered some of the questions for you that you can consider before conducting or giving an interview as these questions addressing different aspects of unity game engine including programing, unity features and shaders etc. Remember this list does not include all the necessary questions. We will try to update this article in order to make a valuable resource. You can comment to share your interview question so that we can improve this source for our reader. In the future, we have also a plan to write the answer of these questions:

Advice for Junior Programmer

            Neither I am an expert programmer nor I have too much experience but I love to code and want to improve my skills. One of the way to achieve my this objective is, sharing my knowledge and experience with others. Therefore, here are some of the rules which I have adopted and it can be helpful for Junior or new Programmers. Honestly writing, I am still struggling to act on my own rules :). In my opinion! these rules are difficult but it will finally help you to become a good programmer:

  1. Don’t copy-paste code ever, even you know the Syntax/Logic. Write Yourself Always.
  2. Develop or Contribute to Open Source Projects.
  3. Join Programming Forums Stack overflow, Codeproject, etc. Spend some time there to solve problems.
  4. Start Building Robust Portfolio (preferably research-based)
  5. Write a Blog, share your hard-work and experience (You even can make money online through it)
  6. Prefer Good Mentor over Big Company. A good mentor will develop your skills.
  7. At first, don’t ask everything from a senior, try yourself first.
  8. Don’t allow seniors to write code for you, get instruction but write yourself.
  9. Code for other developers. I mean code in a way that other programmer can understand it easily.
  10. Use comments always. You will forget your own code next month. 
  11. Always welcome new technologies. Don't hesitate to work on new techs.
  12. Aim every day, love your work.
  13. If you don’t like the working environment or find a good opportunity then, Quit. Don’t waste your time.