Thursday 31 August 2017

Difference between System Software and Application Software

In this tutorial you will learn about difference between system software and application software.
System software is general purpose software which is used to operate computer hardware. It provides platform to run application softwares.
Application software is specific purpose software which is used by user for performing specific task.
Below I have shared some main differences between them.
Difference between System Software and Application Software

Difference between System Software and Application Software

S.No. System Software Application Software
1. System software is used for operating computer hardware. Application software is used by user to perform specific task.
2. System softwares are installed on the computer when operating system is installed. Application softwares are installed according to user’s requirements.
3. In general, the user does not interact with system software because it works in the background. In general, the user interacts with application sofwares.
4. System software can run independently. It provides platform for running application softwares. Application software can’t run independently. They can’t run without the presence of system software.
5. Some examples of system softwares are compiler, assembler, debugger, driver, etc. Some examples of application softwares are word processor, web browser, media player, etc.

Comment below if you found anything incorrect in above difference between system software and application software tutorial. Please mention below if you know about any other difference.

First C Program – Print Hello World Message

We have gained lots of theoretical knowledge. Now its time to move on and write our first C program to print hello world message and understand it. It is the very first program that most of the people write when start learning any language.

Hello World C Program:

This is a program to print “Hello World” message on screen.

#include<stdio.h>
void main()
{
printf("Hello World");
}

Variables, Constants and Keywords in C

In this tutorial you will learn about variables, constants and keywords in C.

Variables in C

In a typical C program we have to do a lot of computation. Of course there will be storing of some data in different locations of memory in computer. These memory locations are identified by their address like 56234. Suppose if programmer wants to access the particular locations like 10 times in a program to store another value at that location.
So It will become a tedious job for a programmer if he have to memorise the numerical address name. So to make this job easy we use variables.
So variables are nothing but the name of the locations or addresses of memory which is given by programmer.

Constants in C

As its name suggests constants are the values which will never change during the execution of program. Sounds confusing? Let’s try to make things more clear with a simple example.
Variables in C
In the above picture (1st) we have stored the constant value 3 at x location. The name of that location is x. It’s a variable. We can also store another value at x location.
Here X = variable (location or memory address name)
3 = constant
Try to understand the second example yourself if you have any doubt, do comment below.

There are two type of Constants

  1. Primary constants
  2. Secondary constants (We will learn them later)
At this stage we will only discuss primary constants. Primary constants are of three types.
  1. Integer constants
  2. Real constants
  3. Character constants
Let’s discuss them one by one.

Integer Constant

Yes it will contain only integers. Remember an integer constant will never contain any decimal point. Eg: 1, 2, -43 etc.

Character Constant

It is single (remember) alphabet, number or any special symbol which is enclosed in an inverted commas. Eg: ‘+’, ‘1’, ‘a’, etc.

Real Constant or Floating Point Constant

A real constant may have any digit but it must contain one decimal point. Eg: 1.22, -54.5, 3432.13

Types of Variables

As I said earlier variable are name of locations in memory. In that location we can store any constant like integer, character or Real. But there is some limit that an integer variable can only store integer constant, character variable can only store character constant and real variable can only store real constant.
So it is quite obvious types of variables is similar types of constants. Eg: int x= 1;
Here “int” is a keyword, “x” is an integer variable and it can only store integer constant, “1” is a integer constant.

Rules for writing variable names

  1. A variable name may contain alphabets, numbers and underscores.
  2. No other special character (other than underscore) can be used for writing variable name.
  3. A variable name should start with either underscore or alphabets.
  4. No space is allowed while writing variables.

Keywords in C

Keywords are the words whose meaning is already explained to the compiler. They cannot be used as a variable name.
A question which may arise in your mind that, how computer will know that its integer variable or character variable or anything else?
The simple answer is with the help of keywords. In one of the above example I have used “int” keyword. Eg: int x=1
In this example “int” is a keyword and it will tell the computer that “x” will be an integer variable and it will only store integer constant.
There are 32 keywords used in C language which are given below. We will discuss them in later tutorials.
Keywords in C
Keywords in C

Introduction to C Programming Language

 In this tutorial you will get basic introduction to C programming language.

What is C language?
Well the answer is quite simple. It’s a procedural programming language which was designed and written by Dennis Ritchie at AT & T’s Bell Labs in 1972. In early 70s very frequently new programming languages were introduced. But after the launch of C, it slowly replaced the old languages like ALGOL. Actually no one advertises this language and even Ritchie was surprised that so many peoples were using C language. Till now many languages has come. But the popularity of C is not changed. The main reason behind it is that it is still fast, reliable and easy to use.

Why C should be your first programming language?
Seriously many people claim that now one should start its programming journey through C++, C# or JAVA. Well I think nobody will be comfortable while studying the advanced concepts like OOPS from the start. C is simple and easy to learn so one should start programming journey with C language.

Applications of C
C language has widely uses, some main uses are given below.
  1. Used to develop softwares that control embedded systems. Examples of some embedded systems are washing machine, microwave oven, etc.
  2. For creating computer applications.
  3. UNIX operating system is developed in C language.
Compiler
The first question which will arise in our mind. What is a Compiler? Well as everybody knows Computer is a machine which process raw data into meaningful information. It cannot understand our language. It can only understand machine language. Even if we write programs in any language (like C). At the end they will be converted to machine language to process through computer.

What does Compiler do?
Compiler convert your program into machine language or binary language.

What is IDE?
IDE means Integrated Development Environment. To write any program in C language you will need an editor. After that to convert that program into machine language, you will need a compiler. IDE will combine editor and compiler into same environment. So that you can easily write the program and also compile it easily.

Simple Numeric i/o in C++

This example reads in three numbers of users and the number and average them and then print out the sum and average.


  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. float a,b,c,sum=0.0, average=0.0 ;
  6. int n=3 ;
  7. cout << " Then type the three numbers \n" ;
  8. cin >> a >> b >> c ;
  9. sum = a + b + c ;
  10. average = sum / n ;
  11. cout << " And the numbers were " ;
  12. cout << a << " " << b << " " << c << " \n" ;
  13. cout << " The sum is " << sum << " \n" ;
  14. cout << " The average number is " << average << "\n" ;
  15. return(0) ;
  16. system("pause");
  17. }
The first line #include <iostream> makes available cin and cout so that we can
interact with the program.
The next line makes available the standard namespace.
The next line is the start of the program.
The { indicates the start of the declaration and executable part of the program.
The next two lines declare the variables we will be using within the program and their
types. In this example we will be working with numeric data, and thus we have a, b,
c, sum and average to be of real type, or float in C++ terminology. n is of type integer
or int in C++ terminology.
The semicolon ; is the statement separator.
Note that we also provide initial values for sum, average and n within the declarations. The
= symbol is an assignment operator.
cout << " Then type the three numbers \n" prompts the user for input. Note the
use again of \n to provide a newline.
cin >> a >> b >> c reads three numbers from the input stream. Spaces are valid
separators. Note the use of multiple >> symbols to break up the input stream, not a comma
as in other languages.
sum = a + b + cadds the values of a, b and c together and assigns the result to sum.
average = sum / n calculates the sum divided by n and assigns the result to average.
cout << " And the numbers were  " prints out a text message.
cout << a << " " << b << " " << c << " \n" echos the numbers back to the user. 
Note that we use multiple << symbols to break up the output stream, not a comma as in other languages.
cout << " The sum is " << sum << " \n" prints out the sum.
cout << " The average number is " << average << "\n" prints out the average.
return(0) ends the program and returns the value 0 to the operating system level.
system("pause"); use to hold the screen.
} is the end of the program.
We have the conventional use of + and / in arithmetic expressions.

C++ Taking in User Input

We can have the user type in something and respond to their input. e.g.:
————————————————–
#include <iostream.h>
int main()
{
int num1;
cout<<”Enter a number: “;
cin>>num1;
cout<<”You
entered the number “<<num1;
return 0;
}
————————————————–
Cin stands for Console Input (as explained in the Hello World program.). Note: I have explained a lot of Useful things in our Hello World Program, So if you haven’t read it and skipped to this, It would be useful to read it if you have no knowledge of cin.

  • cin>>num1;
This means to take in user input, and store that input into the Variable num1.
  • cout<<”You entered the number “<<num1;
This is similar to Printing out Variables as explained in the Variable Section.
To take in character input, we could do the same thing:
————————————————–
#include <iostream.h>
int main()
{
char name;
cout<<”Enter your name: “;
cin>>name;
cout<<”Your name is “<<name;
return 0;
}
————————————————–
This is similar. However, if the user types in something with a space e.g.
Super Man
The console will only print out:
Your name is Super
Instead of:
Your name is Super Man
To correct this problem ,we do this:
————————————————–
#include <iostream.h>
int main()
{
char name [13];
cout<<”Enter your name: “;
cin.getline(name,13);
cout<<”Your name is “<<name;
return 0;
}
char name [13];
————————————————–
This means that the user can enter a maximum of 12 characters. Why 12? Well this is because we have something called the NULL character. It is included because it is the space that we entered. So when the user type’s in a space, that is the NULL character.
So we want the user to type in a maximum of 5 letters, we must do:
char name[6];
cin.getline(name,6);
console output.getline(cin.getline) is what we type when we want the user to type in something with a space.5 is the maximum amount of letters it can have, of course we typed in 6 due to thenull character.
so back to our program:
cin.getline(name,13);
cout<<”Your name is “<<name;
When we want to include more text after typing in <<name, we can do this:
cout<<”I think your name is “<<name<<”,Right?”;
At runtime the text will be:
I think your name is blah, right?
after typing in name, we type in the <<operator and then text.
————————————————-
So I’ve gone through some basic things a C++ program should have. I tried to make this tutorial as detailed as possible. You should note that you need a C++ compiler. I recommend Dev-C++.

A Basic C++ Program

————————————————————————————

//This is a simple Hello World Program.

#include <iostream.h> 
int main()
{
cout<<"Hello World";
return 0;
}
————————————————————————————
//This is a simple Hello World Program.
That line of code is a comment. It is useful for commenting pieces of code. You could do it to remind you about a certain thing in your program.
  • #include <iostream.h>
iostream is the name a Header file.The Header file is very important and is probably used the most out of all the common Header files. The iostream Header file lets you use some of C++ ‘s Important functions like cout and cin. The “.h” is the header file extension. When you include Header files, it is important to include the “<>” signs. The #include code should be typed in before typing in any header files.
  • int main()
This is the main part of the program. Every C++ program MUST have a main function. The Main function is where program execution begins and sometimes ends. The opening curly brace after int main() marks the start of the main function. The closing curly brace marks the end of the main function.we ALWAYS have 2 curly braces in the main function no matter what.The int specifies the type of data to be returned my main().int stands for Integer.
  • cout<<"Hello World";
cout is used to print out text onto the screen. It is called the Console Output Statement. I like to think of it as c-output…cin and cout are used often in most C++ Programs. cin stands for Console Input. Let me get into detail about what Input and Output are. Input is like the keyboard, where you type in things. The screen is the output, in which you view the typed in text. So the keyboard is the input, the screen is the output.
So after cout we have the “<<” sign. The << operator causes whatever expression is on its right side to be outputted. The opposite way makes the expression inputted, how ever that can only be used for cin or anything similar to it.
I will explain about cin later on in this tutorial.
Ok, so we have cout<<”Hello World”;
Whenever you want text to be outputted onto the console, we type that text in between 2 speech marks. The message “Hello World” is a string. Text enclosed between double quotes are known as strings.
So what about the semicolon? Why do we have that at the end of the line??
This is because C++ statements end with a semicolon.
  • return 0;
This piece of code terminates the main() function and causes it to return the value 0.return 0 is used to terminate the program.
  • }
This ends the code of main()
So now we have gone through a basic C++ Program. Going through this should of given you a good understanding of what is used in a common C++ Program will have.
Now lets go through some more things.

Tuesday 15 August 2017

How To Become A Programmer?

Thus a programmer’s role encapsulates a lot more responsibilities, and functions than a coder. Now the million dollar question is how to end up as a programmer? For starters, you might decide to pursue a degree in computer science engineering or information technology. Pursuing a degree has multiple benefits. You will have the bragging rights of being known as a software engineer to the outside world. Next, you will become eligible for many government jobs also that require at least a degree. In addition to a degree, aspiring candidates are also advised to pursue online courses of their favorite computer language to gain further expertise.
Choosing which language to learn might depend on multiple factors, such as ease to learn or the Role. There are some computer languages which result in highest paying jobs in the field of technology, and then there are languages which don’t require much effort to learn and hence you will find it easy to break into the world of programming. Realizing the potential that programming holds for the next generation technology, many online certification courses have cropped up in the past that offer easy to understand lessons in in-demand computer languages like C, C++

Difference Between Coder and Programmer

We all know that computer programmers or coders or software engineers are one of the most sought after professionals in the world of technology. Since most devices are now automated through lines of codes burned in their microprocessors and chips, coding has become the one superpower that anyone can gain with a little experience and can use to create wonders. However, there is a lot of confusion regarding the different names that are used to refer these professionals. This post aims to demystify the difference.
Difference Between Coder and Programmer
Are programmers and coders the same? In a layman’s language, programmer, coder, software developer or software engineer all may refer to the same person, but if you ask an expert the answer will be no. Programmers find it quite offensive to be labeled as coders; robotic machines that churn out lines of codes without much thought or emotions. However nothing could be further from the truth.

Coder

A coder, typically, is a person with strong grasp of the fundamentals of writing codes in a particular language. They are clearly instructed on what should be done and what needs to be accomplished. They handle only a part of much larger scale project. Large software programs that often have a billion lines of codes are only designed by a limited number of programmers. Coders follow instructions of the large programs. Coders often have repetitive and monotonous work profile as opposed to programmers.

Programmers

Writing codes is only a part of the duties of a programmer as there is so much more to it. As a programmer you must be able to imagine a broad set of solutions to a problem before you even start writing codes. You will have to take the help of a notebook or a whiteboard where you will scribble your ideas. Instead of fretting about every small detail, programmers look at the broader picture and decide on a plan that best accomplishes the end objective. Here are some of the responsibilities of the programmer.

Project management 

In most of the companies there is a dedicated project manager who takes care of every moving or immovable part of the project. However, a programmer is also responsible for overseeing the timeline either in coordination with the Project manager or by themselves. As a lead programmer, you have to be adept at managing your time otherwise you might have to face a lot of problems.

Maintaining Code Quality

Since you have decided to become a programmer, your job role will include maintaining the code quality up to mark. This actually refers to taking in consideration that the project you are working on might need to scale, or modified with new components. Fastest is not always the best approach in programming. You will need to devote extra time to setup semantics, and developing a framework over time.

How to Choose Best Laptop for Programming in 2017?

This article will guide you to choose the best laptop for programming in 2017.
As a programmer or developer it becomes really confusing to pick a best laptop from thousands of laptops available in the market. It becomes even more difficult for a person who is just starting programming.
Below I have shared some key points that will definitely help you to pick a perfect laptop for working on any programming technology.

How to Choose Best Laptop for Programming?

RAM

It is the first most important thing that you should look. A laptop with 8GB RAM is an ideal choice but 16GB RAM would the best choice. If your budget is too low then you can go with 4GB RAM also.
Believe me it really sucks working on a low performance machine. Earlier I used to do android app development on a laptop with 4GB RAM. It was so annoying because everything works really slow.
So I would highly recommend you a 16GB RAM laptop if you are a mobile app developer.
Best Choice: 16GB RAM
Ideal Choice: 8GB RAM
Low Budget Choice: 4GB RAM

Processor

Good processor and RAM should be your highest priority while choosing a laptop for programming. As a programmer or developer we have to do multitasking. When I do programming or development I have to open few IDEs along with a browser with several tabs opened. For such purpose a good processor is required.
A laptop with i5 processor is an ideal choice. You can go with i7 processor if you have huge budget and for low budget you can go with i3 processor.
Best Choice: i7 Processor
Ideal Choice: i5 Processor
Low Budget Choice: i3 Processor

Graphic Card

Integrate graphic card is not necessary until you are not doing game development or some high graphics related work. But if you are a game developer then you must go with a laptop with external graphic card.
Best Choice (Specially For Game Developers): External Graphic Card (2GB or 4GB)
Ideal and Low Budget Choice (For Other Developers): Integrated Graphic Card

Storage

SSD and HDD are two storage types that laptops have. SSD gives faster performance but costlier than HDD. Its great if you can afford a SSD storage type laptop. But if you can’t then go with HDD and later on you can use some external SSD storage.

Battery Life

If you mostly work at places where power supply is not available then you must choose a laptop with huge battery life. Otherwise these days almost all laptops come with moderate battery backup.
Below I have shared some laptops that I believe are good for programmers in India. Even if you don’t like any of them you can consider above points to pick a best laptop according to your usage.

10 Best Laptops for Programmers and Developers in 2017

1. HP Pavilion 15-au117tx

HP Pavilion 15-au117tx
Price: Rs. 82,500
RAM: 16GB DDR4
Processor: 2.7GHz Intel Core i7-7500U 7th Gen
Graphic Card: Nvidia GeForce 940MX 4GB
Storage: 2TB 5400rpm Serial ATA hard drive

2. Inspiron i7-15RSLV Dell

Inspiron i7-15RSLV Dell
Price: Rs. 68,500
RAM: 16GB
Processor: 6th Gen i7
Graphic Card: 4GB AMD
Storage: 1TB hard drive

3. Apple MacBook Air MMGF2HN/A

 Apple MacBook Air MMGF2HN/A
Price: Rs. 58,800
RAM: 8GB DDR3
Processor: 1.6GHz Intel Core i5
Graphic Card: Intel Integrated
Storage: 128GB

4. HP Pavilion 15-AU111TX

HP Pavilion 15-AU111TX
Price: Rs. 55,990
RAM: 8GB DDR4
Processor: 7th Gen CORE i5 7200U
Graphic Card: 2GB Graphics NVIDIA
Storage: 1TB

5. Dell Inspiron 5559

Dell Inspiron 5559
Price: Rs. 56,500
RAM: 8GB
Processor: Intel 6th Generation Core i5-6200U
Graphic Card: AMD Radeon R5 M335 2GB
Storage: 1TB

6. Lenovo Ideapad 500-15ISK Notebook

Lenovo Ideapad 500-15ISK Notebook
Price: Rs.56,490
RAM: 8GB DDR3L
Processor: 6th Gen Intel Core i5
Graphic Card: AMD 4GB
Storage: 1TB HDD

7. Lenovo G50-80

Lenovo G50-80
Price: Rs.34,490
RAM: 8GB DDR3L
Processor: 2GHz Intel Core i3-5005U
Graphic Card: AMD Radeon 2GB
Storage: 1TB 5400rpm Serial ATA hard drive

8. HP 15-AY079TX

HP 15-AY079TX
Price: Rs.37,290
RAM: 8GB DDR3
Processor: 2GHz Intel Core i3-5005U
Graphic Card: AMD Radeon 2GB
Storage: 1TB 5400rpm Serial ATA hard drive

9. Lenovo Ideapad

Lenovo Ideapad
Price: Rs.23,990
RAM: 4GB DDR3L
Processor: Core i3 5th Gen
Graphic Card: Integrated Graphics
Storage: 1TB 5400rpm Serial ATA hard drive

10. HP 15-be003TU

HP 15-be003TU
Price: Rs.26,990
RAM: 4GB DDR3L
Processor: Core i3 5th Gen
Graphic Card: Integrated Graphics
Storage: 1TB 5400rpm Serial ATA hard drive

Tech UOG