Showing posts with label Programming Tips. Show all posts
Showing posts with label Programming Tips. Show all posts

Tuesday, 12 May 2015

5 Mistakes Programmers Make in Beginning

5 common mistake in programming “Programmers are the smartest people on the earth” This is first sentence that my professor said to us in Software engineering class. After listening this I really feel it when I run my first program “Helloworld.cpp”J. Now after spending 3 years in programming I realize that there are some common mistakes that every programmer make in beginning.

Count Number of Code Lines

The Programmer who has large number of code lines in program is the most smartest and intelligent coder and programmer in the class. This is my thinking when I was in first semester and doing my first programming project. Some time I increase the number of comments in program just to increase the numbers of lines in program.

Programming for myself and for compiler not for People

In beginning it is sufficient if I understand my code and the code is compiling and running. I never think about the people that will use my code or try to understand it. The main purpose of my code at that time is only to generate output.

No Validation of input

Although my professor always mention in the program that input should be validate but we never pay attention to it. In beginning it is enough if the program is running because we easily defend the program to the professor by saying “Sir how a user can put character instead of digit when I clearly mention "please enter your number”J.    

Irrelevant Data Types and Global Variables

In beginning of programming I don’t care too much about data types. At that time I don’t feel any difference between int and double except this double store bigger number than int. I have no idea about memory storage and proper and suitable data type usage. The global variable are more comfortable for me at that time because I can call them easily in any function and in in scope of the program.

Variables and Functions Names


Professor always said your function name and class name should be meaningful name but we never listen in beginning. There is nothing exists like upper and lower case names of different classes and functions. We just put the class and functions names that are only understandable to us and sometime also not to us tooJ. 

Monday, 23 March 2015

| Advantages of Computer Software Engineering | Advantages of software engineering process | Advantages of software engineering masters degree | benefits of studying software engineering | Advantages of software performance engineering |

Software Engineering is still a relatively new area of engineering. Software Engineering is not only a technical discipline of its own but also a problem domain where technologies coming from other disciplines are relevant and can play an important role. Here we have ten solid reasons why to be a software Engineer.

Open Source

Open Source platforms are available in software engineering. You can take any software (whose source code is available) modify it, reuse it and make new things by using the free OSC (Open Source Code). The OSC facility gives freedom to engineers to implement their ideas, and dreams free of cost and provide them a complete working environment.

                                                            Choice is in Your Hand

Software Engineering is very wide field and you can choice your career according to your interest. If you are good problem solver then programming welcomes you, if you have interest in interest structure then networking is for you, if you are good analyzer then quality assurance is just for you. In short software engineering has a large list for you and you can chose whatever and you like.

Team Work

This is the biggest advantage of Software engineering ever I seen. You can work with any team around the world and make your product easily. You can divide your work in parts and can discuss your project with your professor who is hundreds of hundred miles away from you.

Learning with Earning

The Software Engineering is the only field in which your earning start in the learning process. You can earn enough to pay university fee, buy books, and some extra to have fun with friends J. Yes I have many examples of my friends who is still studying in the university and earning a lot. Software Engineering introduce the unique ways of learning and earning like, web development, SEO, Blogging, and technical writing. All these fields are from the software engineering and a engineer very well know how to use and take benefits from these.

                                                    Global Market for Developers


The Software Engineering is the only Engineering field which provide a Global market to its Developers. You can make software product for any region of the world and sell them through the different global platform. Also there are many online shops for developers like (Android play store, freelancer, Apple play store,) where they just put their product and people use them and pay them.

Sunday, 25 January 2015

Best Language for Learning Programming and Coding

Best Language for Learning Programming and CodingComputer Programs are the Set of Instructions which execute in a sequence to generate a specific output or result.To give any instruction to the computer we need a language which is understandable for computer. For this purpose the compiler was made. A Compiler change the human readable code in machine language which is understandable for computer. Now a days there are many compilers and languages are in the market for the development purpose in the field of information technology. But the question which raise in many developers,beginners and student minds is that "Which language is best for learning ? " which language is best for development ? which language is best for designing a web application ? which language is best for best coding practice ?
The answer for all these questions is just one word and that is "Repeat ion", "Repeat ion", "Repeat ion". All the languages are best and the all have their own  characteristic for different purpose and for making different application . if you can code or program in one language then you can code in any language . Programming is not dependent on language but programming is your skill which shows the ability of your problem solving .There are Hundred of programming language and for a single person it is not possible to learn all these languages but if you are a good programmer or coder then you can write any piece of code in any language without any problem. You just need syntax of that language and develop the solution with using your programming and problem solving skill. After learning some basic concept of programming definitely there are language which support your skill with their characteristic and here is the list of that language .

PYTHON

Python is very good language for beginners because it has very simple syntax. Python.Python has their own online compilers which mean you can test your code without installing the compliers in your computer. Python is used in web development application like search engine,micro frameworks, and Email processing.

C/C++

C/C++ also a known as medium language because it has the characteristic of both the  High Level language (HLL) and the low level language (LLL).A HLL code is understandable for human while LLL code is a machine language code which is not understandable for human. C++  has a little bit difficult but understandable syntax and that is the reason many programmer suggest to practice in python  instead of C/C++. C/C++ has a great usage in embedded software system.

                                                                    JAVA

Java is pure Object oriented language which is very now a days. Java language is platform independent which you can run your Java application in any system. Java compile its code in byte code which is acceptable for all
system. Java has great part in Mobile application (ANDROID),web application (Applet),and Object oriented system.

                                                                 PHP/HTML

 Hypertext Preprocessor (PHP) and hyper text mark-up language is used for making web pages and application.The goal of these languages is to allow web developers to write dynamically generated pages quickly.

How to Become a Good Programer

How to Become a Good ProgramerProgramming is fun and if you love it you enjoy it, but for many student and beginners this is not right .They think that programming is boring and tough thing which is very difficult and they can't do it well. Yes it is boring ,yes it is difficult,yes it is tough but if you don't do it with concentration. According to my experience the code which i write and its running correctly give me so much joy:). They only thing which develop your interest in do practice ,practice and practice.Here are some tips which help you to become a good programmer.

    Understand the Problem 

You should have ability to understand the problem and requirements. if you understand your problem and requirements completely its mean you almost solve your problem. if you have a strong grip on requirement engineering then your coding and programming skill touch the sky.

Basic of Programming

Understand the basic of programming like loops,conditional statements,Arrays,String and other data type and their correct usage to get efficient result.Many Student try to jump high and leave the basic without clear understanding which later create a lot of problems for them.Always have clear mind about the basic thing of programming because these are very important and use everywhere in any type of programming.

Solving the Problem

Never going for writing the code before you completely solve your problem on notebook.When you completely solve your problem then open the complier and start writing the code. Start Writing code before knowing the solution causes feeling bore,mind tired, and also reduce the efficiency of the solution.

     Internet is your Enemy

Accept it that if you use Google as first priority to solve your programming problems then it is your biggest enemy on the earth.Never go for Google to get solution, find it your self,read books,contact your teachers,discuss your problem on programmers forum. This will increase your ability to solve the problem and also you learn more.

     Attend online classes

Register yourself on online class and attend these class regularly . Most of the courses are very and very useful for learning purpose. Some of the great websites which offer you free online video classes are
www.udacity.com
www.w3schools.com
www.codecademy.com
www.riphahiui.blogspot.com

Learn from the other codes

Try to understand the codes of other coders and programmers.If you are student and then its best for you to get the codes of all your friend after the semester project and try to understand ,if problem then asked them and get the solution. This technique will boost your ability of team work.

No Fear from lines of Codes

Never feel fear from the large number of codes. Try to write and understand the codes in section with proper commenting and with good variable name. Good variable name help you to reuse your code whenever you need to change it .Also follow the basic OOP concept and try to use best data structure for your problem.

How to Deal with Errors in Programming

How to Deal with Errors in ProgrammingA Set of computer instructions is known as Computer Program. Programming is very interesting if every time its Code Run Correctly :). But when there are errors and difficulties in programming then many student and beginners think that it is very difficult subject and we should not choose programming as a Career. Don't worry if you have feeling like this here we have a complete solution of your problems in programming.Here is some tips for you if you feel dull in programming.

Find the Real Problem

In Programming it is the problem of many student that the don't know the actual problem. Sometimes their requirements are not clear and due to this reason they can't develop their solution in best ways. Always read and understand problem Requirements 3 three times. its better to discuss it with some other developer or class follow and teacher so you can find the Hidden requirement and clear the ambiguity.

     Time Management 

If You have a problem in your code and you are unable to solve it then leave the laptop or desktop for some moments and rest. Never try to solve the whole problem in once time. Work in pieces and every time think the best solution for your problem. Chose the best time when there is no one which disturb you when you  are working on your task . Also chose the best Environment and comfortable place for your Working on your problem.

     Read Books

Books help a lot in learning instead of internet.You Must have at-least 5 good programming books,read them , make analysis and comparison of your problem with them and relate the topic with them.This Technique will give you a lot of knowledge instead of just going to Google and goggling your topic.

     Don't be Inspire but hard work

No Programmer is good without a lot of programming practice. Many student and developers inspired by someone with think that God bless him with such a great programming mind.My teacher says to me in university time that if you can buy some thing from a shop and give them and return them correct bills then you could become a great programmer . The only think which make a man perfect is practice practice and practice.

     Love Your Degree and Technology

After admission and spending 3,4 semester many student think that they should not be in this technology or my mind does not accept the knowledge of this field . This is the first step when your failure start and you start losing. Always love your work and field .If there is a lot of problem in your work or field then keep in mind that GOD chose you because only you can solve them . Be motivative and confident every time and when you start working with confident definitely success will be in your feet. have a nice career :)

5 Signs of Great Programmers

Great Programmers are also human like us but they have some special habits and rules in their life and the strictly follow them. Confidence and persistence make you great and the great programmers know it very well. Indeed programming is a thing which need your lots of concentration and energy but if you have confidence, sequence and passion to do it then definitely you will enjoy it a lot . According to my opinion if your code is running correctly it will give you more joy and happiness then 10 girls friends :). Anyway here is some habits of great and smart programmers, try to follow them if you want to become a smart programmer and coder.

I Can Do it!

Smart Programmers never feel fear from any Software problem, project ,assignment or Codes. They always keep in mind that they are the best person to solve it. This confident boost up their mind and they pay full attention on their problem and that is they way they find all the possible solution of their problems.

Work in Pieces


Smart Programmers never try to solve all the solution at once . They Decompose their problem in pieces and solve them one by one which is the best practice of Object Oriented Paradigm Programming. Dividing problem into  pieces also help them to gain a  better understand of problem and its solutions.

Consistency 


Good programmers are very consistence person in their field. They never give up at crucial times and this is the major reason the learn more then others because crucial time is that teacher who teach you more then 100% knowledge then the average time. Smart programmers strictly  follow a complete schedule of their work .

Don't Feel Fear From Failures


Smart programmers never feel fear from failures because they know that failures are the part of life. The Programmers who fall into failures during learning is so much mature programmer then the programmers who never fail in any project. They are confident to accomplish their task and that is the reason of their success.

Online Resources


Smart Programmers know how to use every software . They adopt them in their field and make there best use and take help from them. The Present their work is best ways with the help of software and save their times.

Improve Programming Skills and learn logic building techniques

Ability to solve a problem in your own natural way is known as logic .In programming ,developing and coding this word frequently used. Every person has its own mind and everyone try to solve his problem in easiest way.Programming is that thing where your these skill matter a lot. Your efficient logic and solution make your code and program unique and attractive from other . Today we will share some tips in this article which help you to build your logic and improve your problem solving skill.

Never go for code with insufficient requirements 


Never go for code with insufficient requirements. First gain all requirements and understand the problem clearly. After this draw the rough solution on notebook. Think how many ways to solve this problem and which one solution is best to solve it. Manage time for each section of the problem. Remove your confusion before starting and write down all the formulas which you think will be used in you solution . This is very important thing and this is the think which clear us which data type should be used in our solution. Many student and beginners take it so easy but remember this is one of the biggest and important thing which make your programmer very rich or very poor . so always chose data types very carefully.

Love Coding


Computer science student should love coding. The more you involve in it the more you learn.You have a solid grip in basic of programming like  Loops , OOP, Data types conversion,and conditions of nested if else . Start simple when you code some problem's solution and then modify it and enlarge to a complex system . Always follow the basic rule of coding in each and every piece of code like ,user can't enter wrong input, program never be crashed, and easily readable and understandable for all developers.

Book Reading Benefits in Programming


Books are the best friend of a programmer . Our teacher always advise us that if you are programming student and IT guy you must have to purchase a new book of programming after every two months . Book build your logic more and the study of book leave more effective impact on you mind. The reason is that when we read something online there is many thing around  the internet which reduce our attention while when we have a look at the book you just have material of reading and nothing else.

                           Learn From Errors in Programming


In programming errors are the best teacher which helping you to find new ways of solution. Always read the full error message whenever it occur and also read the complier hints for solution. Try to find all possible solutions for error solution like reading books,internet , programming forum and discussing it with others.Write document of the errors and think about it . This will help you to gain more better understanding .

Helping Others


This is another form of activity which help you to deal with the thinking of other programmers and developers. Listen their problems in programming, suggest them the best solution, try to help them in finding errors, and  in testing . Share your views on papuler websites like stack overflow and udacity. Also read code of others programmer , make change in them and try to embed their code with your codes .This thing will definitely boost up your coding reusabilty skills.

Testing


Testing is one of the most important thing in programming . it give you confidence about your skills and programs . To achieve this always keep specific time for testing your code and meanwhile try every thing which you think can crashed your code or give unexpected output .These are the suggestion which we share with you and we hope it will be helpful for beginners and student.

Advantages of Java

Java is famous programming language release by Sun MicroSystem in 1995.The Founder of Java language is a computer scientist James Goslan. All the websites used 2.7% Java whose server-side programming. Java is full object oriented and class based language . There are many reason which attract developers to write code in Java and we discuss some of them here.

                                            Platform independent 


Java bytecode solve the problem of platform dependent in programming.  Many new developers confused about the topic of platform independent. Let me clear it with simple words, Java virtual machine (JVM) is required to compile the Java code in CPU. CPU just execute the JVM and JVM is platform independent . After this all the Java code goes to this JVM which execute the Java code and these Java codes are platform independent. So in short any system just run the JVM and JVM execute your Java code . This is one of the biggest advantage of Java and this is the reason that android shake hand with Java.

                                               Object oriented 


Java is fully object oriented language . This advantage gave developers to work on different modules at the same time in a team . Object oriented also increase the reusability of code very efficiently . Object oriented approach allow many people to participate in developing team and perform their own task without interrupting other and this thing reduce the maintenance cost .

                                               Multi-threading 


This is one of the biggest advantage of Java which make it unique from other programming language . Multi-threading allow you to run a program in threads, mean you can run several process at a time in program.
Web programming is totally based on multi-threading and you can't go without threading . Java solve this issue and integrated it in his world.

                                                Dynamic 


Java is dynamic and extensible language .The Java programming language was designed to adapt to an evolving environment. New classes and method can be added to the working classes and methods without disturbing them . This mean you can add any class and method whenever you need them at run time. This is one of the biggest achievement in IT field and it increase the usability of developers codes.

                                                Libraries 


Java has a huge amount of libraries which facilitate it developers in best ways . From small functions of string to multimedia application and complicated networking programming Java has special libraries and classes which are fully dress for developers. Java also provide best libraries for Desktop application.

                                               Networking


Java is fully designed with the distrusting computing system. Java has special classes for networking which are used to communicate with other system over the network. Java code has ability to send and received data over the network.

                                               Security


Java cover many security issue for developers. Java cover all these issue on its lower layer mean in compiler and interpreter level design.In other language when you increase the security it reduce the performance speed but Java manage both thing in very efficient ways.

                                        Free and Easy to learn


Open Java development kit is free and open source which is available for all developers . Java code also is easy to understandable and easy debug. In short Java is best language which playing a big role in IT field for both the developers and the user.

Girls vs Programming

Being a Programmer the most confusing statement is " why girls are not good programmer" ? Indeed girls are very hard worker, sincere with their tasks, and get high grades in exam but still there existence in Programming and in field work is very low. There are many factors behind this and we try to discuss all these points with details and share the opinion of psycholinguists about it . Don't take our points so seriously specially girls :).The idea behind this article has always been to make peace between two things.

 Environmental Factor 

Environment certainly plays a role in the gender gap however, not all cultures seem to have this issue. Girls face many social limition on the way of learning . In South Asia the girls 's family dislike it if she is going to work out of city or doing jobs late night. Girls can't go outside freely to join helping forum or discussion forum as compare to men . These Factors some time become a major reason which shut the door of their programming career.

Lake of Motivation

According to a latest survey there are small amount of women in software development. Being a software developer I know  that this ratio is less than 50%. With this small amount of existence, girls could not find an ideal female programmer to follow. Software Engineering Boys has their career hero and ideal like Steve Jobs , Bjarne Stroustrup, Bill Gates  but who is the queen of girls ? I think many people even don't know their name if any girl achieve great goals and earn name like these guys. This thing sometime discourage them and they are not interested to continue their programming task as field work.

                                       Way of thinking

Girls have different way of thinking .They work hard, they score good mark, they make their project good but they never want to work outside of the bookish study. Let me share an example of my life , in our class there are few good programmers include two girls who has good study habits and has great ways of thinking in problem solving. They always score high marks in programming , but this summer when a company offered them an internship , they totally leave it and go for further study of the next subject. This mean girls just want to study and never interested to enter in real world problems . They think that grades are most important than real world problem in software engineering so they waste all their energy on grade and does'n play their role in  field work.

Ungrouped

This point is just for fun and I share it with you to describe that " Why women are not good for manager post in software engineering".Women, young and old, married or single, educated or not, seem to be jealous of each other whenever they come together. The women can't work in group and this is the reason they did'n have a great community which only represent them as a programmer community. I Wish after reading this some girls think about it seriously and make a huge community to prove my words false :).

    Nature of the Job

The Nature of the programming job is different from other jobs. In programming its does'n matter weather it is day or night, morning or evening , you have to sit in front of PC until you solved your programming problems and errors in  code. Man can afford it but its seems very difficult for women due to family issues. I want to add one more thing of  childhood that!

                            " Girls Play With Doll Boys Play With Computer" 

Advantages of C++

Bjarne Stroustrup is the founder of C++ language and it is extension to c. C++ is also known as medium level language because its has the functionality of both high and low level language. There is a large list of applications, and libraries that are completely or mostly written in C++. C++ and C are used heavily in embedded systems since one can have deterministic control of memory and other scarce resources. Most games are still written in C++, probably because there exists large frameworks written in C++ which have been fully tested and are very capable. C++ is a language capable of systems level programming, but also due to the provision of extensive libraries it is used for applications programming also. Almost every application running on your Desktop PC was written in C++.

When we used C++ ?


  •  Want to develop platform independent applications
  •  Need portable assembler
  •  Want to make heavy use of classes and inheritance.
  •  Only plan on working on one OS
  •  Want reasonable performance
  •  Developers already know C++
  •  Want to divide work on similar components to different people or teams

C++ in real time Applications


C++ is low level programming language with OOP supported, because it's such low level you are less restricted, and with less restrictions you have more power to manipulate things. Another great thing about C++ is that you have direct access to memory which attractive developers.These are the application and software which used C++ in their most of structure:
Amadeus : running the biggest non-military data center in Europe (in excess of 5000 transactions per second, 200000 terminals connected, 24/7 operation) is doing most of its current developments in C++.
Unix    : All Unix-based server applications are completely C++ like Car reservation, Customer profile serve, Electronic ticketing, TCP/IP front end
Apple   : the iPod user interface (uses Pixo application framework written in C++)
Photoshop & ImageReady : Structure of the Photoshop and imageReady in um complete without C++
MySQL   : MySQL server is totally based on C++ and its used approximately 250,000 C++ lines of code

Advantage of C++  


  • Native support for object oriented programming
  • Uncompromising low-level efficiency essential for C++ which allows us to use C++ to write device drivers
  • Provides inline functions which combine the efficiency of using macros
  • C++ is widely used for teaching and research
  • Legacy code (Code written by others or under a previous language, architecture, methodology, or framework that pertains to the current project.)

Computer Science vs Software Engineering

What is the difference between computer science and Software Engineering ?  

This is the question which asked by every student before going to enter in engineering. Here is the quick overview  between software engineering and computer science.

What is Computer Science ? 

In computer science the student cover the core concepts and technologies involved with how to make  computer do something. The basic focus of computer science is understanding the problem,  designing and  developing program which will be compatible with other computers and technologies. The computer science is mostly deal with  algorithms. Computer science not only take part in contribution by programmatically but also provide the solution of networking, space  technology and in databases in both ways  ( software and hardware.) The Most accurate definition of computer science is that '
"computer science tends to be oriented towards more theoretical or mathematical problems. "

Fields of Computer Science 


The Computer science's engineer can perform their role in the following fields after the degree



  • Software Developer
  • Database Administrator 
  • Computer Hardware Engineer
  • Computer network Architect
  • Information Security Analyst
  • Web Developer
  • Computer Programmers
  • Computer and Information System Manager
  • Project Manager
  • Computer System Analyst



What is software engineering ?

Software Engineering Field Software engineers design and develop software. They apply the theories and principles of computer science and mathematical analysis to create, test, and evaluate the software applications and systems that make computers work. The tasks performed by these workers evolve quickly, reflecting changes in technology and new areas of specialization, as well as the changing practices of employers. Software engineers design and develop many types of software, including computer games, business applications, operating systems, network control systems, and middle ware. They must be experts in the theory of computing systems, the structure of software, and the nature and limitations of hardware to ensure that the underlying systems will work properly.Software engineering provide the end solution to the end users. The algorithms which gave us by computer science is finally got a programming shape in software engineering. The software engineering also deal with designing and the coding process or programming of that design is in this phase. Now the rapid application development is growing so fast and the IT life cycle is just 3 months so now software engineering become more popular. Now developers just make a design for their understanding and also start working on coding on the other hand to deliver their products on the time in market.The most accurate definition of  software engineering is;
"The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software"

Field of Software Engineering 


The Software Engineers can perform their role in the following fields after the degree


  • Computer Programmer
  • Web Developer
  • web master
  • SEO Exert
  • System Engineer
  • Project Manager
  • System Security Manager
  • Ethical Hacker
  • What should I chose ?

What Should I Choose ?


Computer science and software engineering are the world best engineering fields. Both have their own scope and uses in the development process. Being a software engineer I suggest you this because SE provide you many to start your career without the dependency of office Job.