A Quick Introduction to Programming for Java Beginners

I assume that you are here to learn Java programming language and you don't have any programming language experience. So let us quickly get introduced to some important terms, starting with, what programing is and why you do it.

A programmer create software through a process called programming or coding. The purpose of programming is to develop an executable computer program that will automate performing a specific task or solving a given problem.

Programming involves activities such as analysis, design, generating algorithms and implementation of algorithms in a target programming language. These activities are also called as Software Development Lyfecycle (SDLC).

The process of programming often requires expertise in many different areas, like the application domain knowledge, specialized algorithms etc. For instance, if you are working on developing a software for a hospital, you will need to first understand certain things regarding how things work at the hospital.

Programming languages are used to write programs. Programming languages like C, C++, Java, Fortran, JavaScript, Lisp, Python, Ruby, Smalltalk, etc. are similar to your communication languages like English, German, French etc. While you use the communication languages to talk to different people, you use programming languages to tell computers what to do. 

A computer platoform might understand certain language, and is usually called a low level programming language. A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture; commands or functions in the language map closely to processor instructions. A low level programming language may be also referred to as either machine code or assembly language

However, it might not be that easy to learn and understand such a language. Therefore, there may be high level languages closer to your speaking language like English. A high-level programming language is a programming language with strong abstraction from the details of the computer. There will be other software, like compilers or interpreters, that can convert a high level language to a low level machine language before executing them.

compiler is a computer program that transforms source code written in a programming language into another computer language, often in a binary form, that is understood by the computer platform. A compiler usually transforms a high-level programming language to machine code specific to a platform, so that it can then be directly executed in that platform.

An interpreter is a computer program that directly executes instructions written in a programming or scripting language, without previously compiling them into a machine language program.

Compiled languages uses a compiler to translate the source code to machine code specific to a platform, and then this compiled form is taken to any computer with that platform, and executed; compile once and execute as many times. Interpreted languages compiled line-by-line as as that line was about to be executed. 

Performance was not the best with complete interpreted languages, as, if a loop or subroutine caused certain lines to be executed multiple times, they would be recompiled every time.

Newer programming languages like Java, Python etc. uses a combination of compiler and interpreter; a compiler may output some form of intermediate bytecode (Java's .class files or Python's .pyc files), which is then executed by a bytecode interpreter (Java Virtual Machine or Python virtual machine).


Bullet Point Note




Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) ArrayLists (1) Arrays (2) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (53) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (8) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (12) Java Programmer 2 (8) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) resources (1) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)