Posts

Programming languages

​Programming language is a set of well defined instructions that can be used to create a specific functionality. For example a programming language can be used to create a video game. A programming language can be created to create functionality of a self driving car. Programming languages differ by their use and whether they are compiled or interpreted. Compilation process means taking of taking human readable code and turn it to the code that can be easily be used by a computer. For example c++ is a compiled language. Example of interpreted language is Python. There are advantages and disadvantages to both approaches. A compiled code is fast, however it can only be running in one hardware or operating system environment. Interpreted code is slower, because it relies on the interpreter environment to execute the code. For example C is a compiled programming language. Python on other hand is the interpreted programming language. Compiled languages are used where performance of code is ...

Binary

Image
Computers can represent really big numbers, but it all comes down to that they are represented by 0s and 1s. Collection of 0s and 1s is called binary numbering system. Please think of cases, where you have only two choices. For example: true and false, yes and no, numbers 1 and 0.  Numbers 0 and 1 are the smallest numbers that can be represented by a computer. These are called bits. When these 0s and 1s are grouped together, then it is possible to represent more complex information. We are used to decimal numbering system. Decimal numbering system has numbers 0 through 9. However we are not limited by numbers that have range from 0 to 9. We can represent more complex numbers, when we are using just numbers from 0 to 9. Same is true for binary numbers. Binary numbers can represent complex numbers. Number 1 represents on state, and number 0 represents off state. Binary numbers are grouped. With 8 positions, it is possible to have a number as high as 255. With 32 binary numbers, it is...

Different types of software languages

​There are different types of programming languages. A specific programming language needs to be used to create a specific type of the software. Different programming languages exist to develop web sites, desktop and mobile applications.

Software libraries

​Software libraries are the piece of code that is easily consumed by another application and perform specific functions. Using software libraries speedup software development processes, because software developers don’t need to create the code from scratch, but they can rely on the code that was written by someone else. Same is true, when the software is developed. A person who develops it, needs to think what code can be reused. It is a good habit of creating software libraries if such functionality will written again. Instead of writing that code again and again, software libraries can  be used by the code.

Attribution

​Attribution is the process of giving credit to that person who inspired the development.

Getting feedback about the software

​Getting feedback about the software is geared towards Improving that software. Feedback can be from the pears or from the users, if such software is meant to be used publicly. Feedback from the users is collected via alpha and beta testing of the software. It is expected that these are pre-release versions of the software and they may contain errors or bugs. Alpha and beta versions of the software may be time sensitive, meaning such software will only work during specific time period.

Documenting software code

​Documenting software code adds clarity of what that code does and how to use it. Comments can of two types: First type is comments inside the software code. Such comments explain the software logic, so another developer can adjust the code later. Second type are comments included in Readme file. Such comments are geared toward a user of a program and not toward the developer. Comments inside the Readme file explain how such a program needs to be used.