Wednesday, August 28, 2019

Python-programming-language

Introduction to Python Programming

Python is developed by Guido van Rossum. Guido van Rossum started implementing Python in 1989. Python is a very simple programming language so even if you are new to programming, you can learn python without facing any issues.
In this course, you'll learn the fundamentals of the Python programming language, along with programming best practices. You’ll learn to represent and store data using Python data types and variables, and use conditionals and loops to control the flow of your programs. You’ll harness the power of complex data structures like lists, sets, dictionaries, and tuples to store collections of related data. You’ll define and document your own custom functions, write scripts, and handle errors. Lastly, you’ll learn to find and use modules in the Python Standard Library and other third-party libraries.
What is python ?
  • The Python programming language is freely available and makes solving a computer problem almost as easy as writing out your thoughts about the solution. The code can be written once and run on almost any computer without needing to change the program.

Comparing Python to Other Languages

No alt text provided for this image
  • Python is often compared to other interpreted languages such as Java, JavaScript, Perl, Tcl, or Smalltalk. Comparisons to C++, Common Lisp and Scheme can also be enlightening. In this section I will briefly compare Python to each of these languages.
  • These comparisons concentrate on language issues only. In practice, the choice of a programming language is often dictated by other real-world constraints such as cost, availability, training, and prior investment, or even emotional attachment.

Java

Python programs are generally expected to run slower than Java programs, but they also take much less time to develop. Python programs are typically 3-5 times shorter than equivalent Java programs. This difference can be attributed to Python's built-in high-level data types and its dynamic typing. For example, a Python programmer wastes no time declaring the types of arguments or variables, and Python's powerful polymorphic list and dictionary types, for which rich syntactic support is built straight into the language, find a use in almost every Python program.
For these reasons, Python is much better suited as a "glue" language, while Java is better characterized as a low-level implementation language. In fact, the two together make an excellent combination. Components can be developed in Java and combined to form applications in Python; Python can also be used to prototype components until their design can be "hardened" in a Java implementation.

Javascript

Python's "object-based" subset is roughly equivalent to JavaScript. Like JavaScript (and unlike Java), Python supports a programming style that uses simple functions and variables without engaging in class definitions. However, for JavaScript, that's all there is. Python, on the other hand, supports writing much larger programs and better code reuse through a true object-oriented programming style, where classes and inheritance play an important role.

Perl

Python and Perl come from a similar background (Unix scripting, which both have long outgrown), and sport many similar features, but have a different philosophy. Perl emphasizes support for common application-oriented tasks, e.g. by having built-in regular expressions, file scanning and report generating features.

Tcl

Like Python, Tcl is usable as an application extension language, as well as a stand-alone programming language. However, Tcl, which traditionally stores all data as strings, is weak on data structures, and executes typical code much slower than Python. Tcl also lacks features needed for writing large programs, such as modular namespaces. Thus, while a "typical" large application using Tcl usually contains Tcl extensions written in C or C++ that are specific to that application, an equivalent Python application can often be written in "pure Python".
Tcl 8.0 addresses the speed issuse by providing a bytecode compiler with limited data type support, and adds namespaces. However, it is still a much more cumbersome programming language.

Smalltalk

Perhaps the biggest difference between Python and Smalltalk is Python's more "mainstream" syntax, which gives it a leg up on programmer training. Like Smalltalk, Python has dynamic typing and binding, and everything in Python is an object. However, Python distinguishes built-in object types from user-defined classes, and currently doesn't allow inheritance from built-in types.
Python has a different philosophy regarding the development environment and distribution of code. Where Smalltalk traditionally has a monolithic "system image" which comprises both the environment and the user's program, Python stores both standard modules and user modules in individual files which can easily be rearranged or distributed outside the system.

C++

Almost everything said for Java also applies for C++, just more so: where Python code is typically 3-5 times shorter than equivalent Java code, it is often 5-10 times shorter than equivalent C++ code! Anecdotal evidence suggests that one Python programmer can finish in two months what two C++ programmers can't complete in a year. Python shines as a glue language, used to combine components written in C++.

Common Lisp and Scheme

These languages are close to Python in their dynamic semantics, but so different in their approach to syntax that a comparison becomes almost a religious argument: is Lisp's lack of syntax an advantage or a disadvantage? It should be noted that Python has introspective capabilities similar to those of Lisp, and Python programs can construct and execute program fragments on the fly. Usually, real-world properties are decisive: Common Lisp is big (in every sense), and the Scheme world is fragmented between many incompatible versions, where Python has a single, free, compact implementation.

Top 10 Reasons To Learn Python

No alt text provided for this image
Programming languages have been around for ages, and every decade sees the launch of a new language sweeping developers off their feet. Python is considered as one of the most popular and in-demand programming language. A recent Stack Overflow survey showed that Python has taken over languages such as Java, C, C++ and has made its way to the top. This makes Python certification one of the most sought-after programming certifications. Through this blog, I will be listing down the top 10 reasons to learn Python.
Get ready to fall in love with Python!!
Below are the major features and applications due to which people choose Python as their first programming language:

1. Python’s Popularity & High Salary

  • Python engineers have some of the highest salaries in the industry. The average Python Developer salary in the United States is approximately $116,028 per year.
  • Also, Python has a strong spike in popularity over the last 1year. Refer the below screenshot taken from Google Trends.
  • I hope my blog on “Top 10 reasons to learn Python” was relevant for you. To get in-depth knowledge on Python along with its various applications, check out our interactive, live-online Credo systemz Python training here, that comes with 24*7 support to guide you throughout your learning period.

2. Data Science

  • Python is the leading language of many data scientist. For years, academic scholars and private researchers were using the MATLAB language for scientific research but it all started to change with the release of Python numerical engines such as ‘Numpy’ and ‘Pandas’.
  • Python also deals with the tabular, matrix as well as statistical data and it even visualizes it with popular libraries such as ‘Matplotlib’ and ‘Seaborn‘. 

3. Scripting & Automation

Many people only knows that Python is a programming language, but Python can also be used as Scripting language. In scripting:
  • The code is written in the form of scripts and get executed
  • Machine reads and interprets the code
  • Error checking is done during Runtime
Once the code is checked, it can be used several times. So by automation, you can automate certain tasks in a program. 

4. Big Data

  • Python handles a lot of hassles of data. It supports parallel computing where you can use Python for Hadoop as well. In Python, you have a library called “Pydoop” and you can write a MapReduce program in Python and process data present in the HDFS cluster.
  • There are other libraries such as ‘Dask‘ and ‘Pyspark‘ for big data processing. Therefore, Python is widely used for Big Data where you can easily process it!

5. Testing Framework

  • Python is great for validating ideas or products for established companies. Python has many built-in testing frameworks that covers debugging & fastest workflows. There are a lot of tools and modules to make things easier such as Selenium and Splinter.
  • It supports testing with cross-platform & cross-browser with frameworks such as PyTest and RobotFramework. Testing is a tedious task and Python is the booster for it, so every tester should definitely go for it!

6. Computer Graphics

  • Python is largely used in small, large, online or offline projects. It is used to build GUI and desktop applications. It uses ‘Tkinter‘ library to provide fast & easy way to create applications.
  • It is also used in game development where you can write the logic of using a module ‘pygame’ which also runs on android devices.

7. Artificial Intelligence

  • AI is the next huge development in the tech world. You can actually make a machine mimic the human brain which has the power to think, analyze and make decisions.
  • Furthermore, libraries such as Keras and TensorFlow bring machine learning functionality into the mix. It gives the ability to learn without being explicitly programmed. Also, we have libraries such as openCv that helps computer vision or image recognition.

8. Web Development

  • Python has an array of frameworks for developing websites. The popular frameworks are Django, Flask, Pylons etc. Since these frameworks are written in Python, its the core reason which makes the code a lot faster and stable. 
  •  You can also perform web scraping where you can fetch details from any other websites. You will also be impressed as many websites such as Instagram, bit bucket, Pinterest are build on these frameworks only.

9. Portable & Extensible

  • The portable and extensible properties of Python allow you to perform cross-language operations seamlessly. Python is supported by most platforms present in the industry today ranging from Windows to Linux to Macintosh, Solaris, Play station, among others.
  • Python’s extensibility features allow you to integrate Java as well as .NET components. You can also invoke C and C++ libraries.

10. Simple & Easy To Learn

So at number 10, Python is extremely simple and easy to learn. It is a very powerful language and it closely resembles the English language!
So, what contributes to its simplicity? Python is
  • Free & open source
  • High-level
  • Interpreted
  • Blessed with large community
Furthermore, in Python, you don’t have to deal with complex syntax.
If you have to print ‘hello world’, you have to write above three lines whereas in Python, just one line is sufficient to print “hello world”. It’s that SIMPLE guys!
So the 10th reason lies in the simplicity of the code which makes the best suit for beginners.

Conclusion

I believe the trial has shown conclusively that it is both possible and desirable to use Python as the principal teaching language:
  • it is Free (as in both cost and source code).
  • it is trivial to install on a Windows PC allowing students to take their interest further. For many the hurdle of installing a Pascal or C compiler on a Windows machine is either too expensive or too complicated;
  • it is a flexible tool that allows both the teaching of traditional procedural programming and modern OOP; It can be used to teach a large number of transferable skills;
  • it is a real-world programming language that can be and is used in academia and the commercial world;
  • it appears to be quicker to learn and, in combination with its many libraries, this offers the possibility of more rapid student development allowing the course to be made more challenging and varied;
  • and most importantly, its clean syntax offers increased understanding and enjoyment for students;
Python should be used as the first year teaching language. If used it will be possible to teach students more programming and less of the peculiarities of a particular language. Teaching a mid-level language like C in just one day is inadvisable. Too much time must be spent teaching C and not enough time teaching generic skills to students with no programming experience.
In conclusion, Python offers the optimum compromise of teachability and applicability.

Tuesday, July 16, 2019



ANGULARJS IMPORTANT CONCEPTS
           There are a few important concepts you need to understand before you build your own AngularJS app. I’ll give a brief overview and some links to more detailed information.
MODEL-VIEW-CONTROLLER (MVC)

             MVC is a design pattern for implementing user interfaces. It helps us separate the logic in our code from how it is displayed. By doing this, we end up with a much neater, more testable application. If you aren’t familiar with MVC, check out this interesting explanation using lego.
General Features
  •  The general features of AngularJS are as follows:  AngularJS is a efficient framework that can create Rich Internet Applications (RIA).
  • AngularJS provides developers an options to write client side applications using JavaScript in a clean Model View Controller (MVC) way.
  •  Applications written in AngularJS are cross-browser compliant. AngularJS automatically handles JavaScript code suitable for each browser.
  •  AngularJS is open source, completely free, and used by thousands of developers around the world. It is licensed under the Apache license version 2.0.
  • Overall, AngularJS is a framework to build large scale, high-performance, and easyto-maintain web applications.

 Core Features.
  • The core features of AngularJS are as follows:  
  •  Data-binding: It is the automatic synchronization of data between model and view components.
  •  Scope: These are objects that refer to the model. They act as a glue between controller and view.
  • Controller: These are JavaScript functions bound to a particular scope.
  • Services: AngularJS comes with several built-in services such as $http to make a XMLHttpRequests. These are singleton objects which are instantiated only once in app.
  • Filters: These select a subset of items from an array and returns a new array.
  • Directives: Directives are markers on DOM elements such as elements, attributes, css, and more. These can be used to create custom HTML tags that serve as new, custom widgets. AngularJS has built-in directives such as ngBind, ngModel, etc.
  • Templates: These are the rendered view with information from the controller  and model. These can be a single file (such as index.html) or multiple views in one page using partials.
  • Routing: It is concept of switching views.
  • Model View Whatever: MVW is a design pattern for dividing an application into different parts called Model, View, and Controller, each with distinct responsibilities. AngularJS does not implement MVC in the traditional sense, but rather something closer to MVVM (Model-View-ViewModel). The Angular JS team refers it humorously as Model View Whatever.
  • Deep Linking: Deep linking allows to encode the state of application in the  URL so that it can be bookmarked. The application can then be restored from the URL to the same state.
  • Dependency Injection: AngularJS has a built-in dependency injection  subsystem that helps the developer to create, understand, and test the applications easily.
Concepts:
  • The following diagram depicts some important parts of AngularJS which we will discuss in detail in the subsequent chapters.


Advantages and disadvantages of AngularJS:
       

The advantages of AngularJS :
·        It provides the capability to create Single Page Application in a very clean and maintainable way.  
·        It provides data binding capability to HTML. Thus, it gives user a rich and     responsive experience.
·        AngularJS code is unit testable.
·        AngularJS uses dependency injection and make use of separation of   concerns.
·        AngularJS provides reusable components.
·        AngularJS viii  With AngularJS, the developers can achieve more   functionality with short code.
·        In AngularJS, views are pure html pages, and controllers written in JavaScript do the business processing.
On the top of everything, AngularJS applications can run on all major browsers and smart phones, including Android and iOS based phones/tablets. 
      Disadvantages of AngularJS :
Though AngularJS comes with a lot of merits, here are some points of concern:
·        Not secure : Being JavaScript only framework, application written in AngularJS are not safe. Server side authentication and authorization is must to keep an application secure.  
·       Not degradable: If the user of your application disables JavaScript, then nothing would be visible, except the basic page.

Thursday, July 11, 2019


ANGULARJS
Angular JS - The robust Java Script Platform with New Features and Updates

AngularJs is a popular JavaScript-based open source web application framework that supports the development of rich HTML web applications. As a superior framework by Google which was launched in 2009, Angular JS has been created to make the front-end development procedure easier to manage. In the last few years, the growth of AngularJS has been unprecedented. The result is unlimited career opportunities available in the field for aspiring candidates. If you are also someone looking to make a career in this field, then its about time to get yourself equipped with Angular JS basics. The rising popularity of Angular JS has, in fact, made it an essential skill for web developers and project managers.

 

AngularJS to get one more major release


·        The JavaScript-based front-end app framework AngularJS is expected to get one more significant release this year. AngularJS has recently been pushed aside in favor of its successor, Angular, however, the Angular team realizes many developers still rely on AngularJS and does not plan to abandon the framework.
·        “We understand that many developers are still using AngularJS, and that the migration process to Angular takes time and energy, but we also are aware that developers want clarity on the future AngularJS development plans,” the team     
·        wrote in a post.                                                                                 
·        As a result, the team is currently working on AngularJS 1.7. This version will continue under development until June 30, 2018. Starting on July 1, the release will enter a 3 year long term support period.
·        “All AngularJS applications that work now, will continue to work in the future. All published versions of AngularJS, on npm, bower, CDNs, etc will continue to be available. Our data indicates that the majority of AngularJS developers are not adopting the latest version updates, so the transition to LTS will be inconsequential to those developers,” the team wrote.
·        After 1.7 is finished, the team will publish patch releases in the form of point releases until June 30. After July 1, the team will turn its focus to bug fixes that meet the following criteria: a security flaw in the 1.7.x branch; a major browser gets updated and causes AngularJS 1.7 apps to stop working; or the jQuery library releases and update that causes angularJS 1.7 apps to stop working.
Who Can Benefit From Learning AngularJS?

Learning AngularJS is most suitable for professionals in web development, testing, and project management. AngularJS has become one of the most sought java script frame works among the lot (React Js, Ember Js and more) because of its excellent and unique set of features. Some of these include:
·        Two-way binding.
·        Updated Http Client.
·        Angular universal state transfer API and DOM Support.
·        Better code sharing capabilities.
·        Handling dependency injections.
·        Enhanced standardization across browsers.
·        Inclusion of CLI 1.5 that will create Angular 5 projects by default.
·        The focused approach to building progressive web apps and material design capabilities.
·        Effective and faster rebuilds using a build optimizer that removes unnecessary code from applications.

For professionals who wish to make a stable career in SPA (Single Page Application),they can benefit most from the benefits of Angular JS.

How Can the Knowledge of AngularJS Enhance Your Career?

Below are some of the reasons why AngularJs knowledge is essential in advancing your career in the right direction:

1. Heavy Requirement of Skilled Angular JS Developers

Ø The rising popularity of AngularJs in the web development space has created a large number of jobs for talented professionals with any expertise in the field. There is no dearth of opportunities for professional web developers with AngularJs and Hadoop skills in their CV. A large number of enterprises are looking for such developers and project managers to be part of their growing talent base.

2. High Performance

Ø With a host of features and simple usage, AngularJS is undoubtedly the preferred choice across the development space. Acquiring AngularJs skills can help in improving the performance due to the smart yet dedicated features like Filters, API Client,Validations, Animations, Routing, and Content Sanitization. It not only saves a lot of time and efforts but also allows developers to do minor enhancements with ease.

3. Swift, Easy, and Straightforward

Ø Angular Js is an extremely easy, fast and straightforward to work with, JavaScript MVC Framework. All you need to use it is adding some of the features to the HTML language that equips you to build the desired application within no time. Angular JSC also assists developers to easily collect all the data to showcase on the screen.

4. An All-Inclusive Solution

Ø One of the best facets of Angular JS that can help you advance in your career is its inclusivity that provides a comprehensive solution for robust front-end development. As a web developer with Angular Js skills, you do not have to worry about the other modules and can comfortably develop useful web applications using JavaScript framework.

5. Excellent Future Prospects for AngularJS Professionals

Ø With rapid changes and new versions (Angular 2, Angular 4, Angular js5) coming up regularly in the AngularJS module since its inception, the sector is creating a lot of buzz offering excellent future prospects for the professionals. It not only guarantees fast and improved performance but also focuses on the progress of mobile apps.

Ø With no obvious disadvantages of this front-end web application framework, the angularjs is definitely worth considering as it can both add immense value to your functional CV and pays good remuneration as well.

The Future


Ø There is no doubt about the fact that Angular JS is a great investment for aspiring web developers. Enrolling for Angular Js training and acquiring the skills offered by the program can prove to be an excellent decision in the long term. It allows you to provide customized applications and gives you the ability to contribute to business progress.

Ø Irrespective of the fact that you're just starting out your career in IT or looking to enhance your skills sets to make a big leap in the existing one, web development training  is full of great opportunities. Learning the latest tools and techniques of AngularJs can equip you to make a smooth transition to a prosperous AngularJS career.


ANGULARJS NEW UPDATES