What’s the difference between a programming language, a scripting language?

The main difference between a “programming language” (C, C++ etc.) and a “scripting language” (ASP, JSP, JavaScript, VBScript) is that code written in a programming language needs to be compiled before it is run. Once it is compiled, it can be run any number of times.

Scripting languages, on the other hand, are interpreted at run-time. This means that every time you want to run the program, a separate program needs to read the code, interpret it, and then follow the instructions in the code. Compiled code has already been interpreted into machine language, so it is will typically execute faster because the conversion into machine language has already been done.

What is a markup language?

Markup languages (HTML, XML) are somewhat different from both of the others. A markup language is simply a set of tags that are used to “mark up” text documents so that sections of text can be logically arranged and labeled. These documents can be viewed as plain text, or, more commonly, are viewed through a browser. The browser parses the document, looking for markup tags, and it then arranges the text and/or formats it according to the values in the tags.

What is programming?

Computer programming is writing or editing a computer program. A computer program is a set of instructions which determine how the computer will react to input when that program is running.

This is necessarily a very simplified answer as programming has become a huge and complex subject to rival any of the physical sciences.

What is a debugger?

A debugger is a program in which you run another program that you are trying to debug. Inside a debugger, you can step through your program one line or instruction at a time, set break points and have your program run until it hits one, examine the contents of variables and memory, and such other useful things as that.

What kind of difficulties may I usually encounter in first few years of programming?

The biggest problem that they experience is the fact that programmers right out of school usually have no applicable business experience. They are forced to find work with companies that will be willing to take an untrained person and train them.
If they are able to do internships or find a part-time programming job, they will do much better in their first years of work since they already have experience.
Other difficulties will be to learn about office politics (which no matter what anyone tells you, is ALWAYS something to keep your eye on), to be able to keep learning new technologies (so that you make yourself a more viable candidate for new jobs), and make sure to not undersell or overwork yourself (this can cause much stress in young professional types).

What is a computer program?

The terms computer program, software program, applications program, system software, or just program are used to refer to either an executable program (by both lay people and computer programmers) or the collection of source code from which an executable program is created (eg, compiled).

what is a Programming language?

A programming language is a stylized communication technique intended to be used for controlling the behavior of a machine (often a computer). Like human languages programming languages have syntactic and semantic rules used to define meaning.

There is no universally agreed definition for the term programming language. The following is a list of some of the methods that have been used to categorize a language as being a programming language.

  • What it is used for. For instance, a programming language is a language used to write programs.
  • Those involved in the interaction. For instance, a programming language differs from natural languages in that natural languages are used for interaction between people, while programming languages are used for communication from people to machines (this rules out languages used for computer to computer interaction).
  • The constructs it contains. For instance, a programming language contains constructs for defining and manipulating data structures, and for controlling the flow of execution.
  • Its expressive power. The theory of computation provides a classification of languages based on the range of computations expressible by them, with the most expressive language being one that is Turing complete (the language needs to contain at least a looping construct and a method of storing values, i.e., variables). Any program that can be written in a language that is Turing complete can also be written in another language that is Turing complete. Some examples of languages that are not Turing complete are pure HTML (the use of embedded PHP or JavaScript makes it Turing complete) and SQL (SQL vendors invariably add language extensions that create a Turing complete language, e.g., PL/SQL).

What is a Programming paradigm?

A programming paradigm is a paradigmatic style of programming (compare with a methodology, which is a paradigmatic style of doing software engineering).

A programming paradigm provides (and determines) the view that the programmer has of the execution of the program. For instance, in object-oriented programming, programmers can think of a program as a collection of interacting objects, while in functional programming a program can be thought of as a sequence of stateless function evaluations.

What is the relationship between programming (paradigms languages)

The relationship between programming paradigms and programming languages can be complex since a programming language can support multiple paradigms. For example, C++ is designed to support elements of procedural programming, object-based programming, object-oriented programming, and generic programming. However, designers and programmers decide how to build a program using those paradigm elements. One can write a purely procedural program in C++, one can write a purely object-oriented program in C++, or one can write a program that contains elements of both paradigms.

What are the examples of programming paradigms?

Here are a few examples of programming paradigms.

  1. Structured programming – compared to Unstructured programming
  2. Imperative programming, compared to Declarative programming
  3. Message passing programming, compared to Imperative programming
  4. Procedural programming, compared to Functional programming
  5. Value-level programming, compared to Function-level programming
  6. Flow-driven programming, compared to Event-driven programming
  7. Scalar programming, compared to Array programming
  8. Class-based programming, compared to Prototype-based programming (within the context of Object-oriented programming)
  9. Constraint programming, compared to Logic programming
  10. Component-oriented programming (as in OLE)
  11. Aspect-oriented programming (as in AspectJ)
  12. Rule-based programming (as in Mathematica)
  13. Table-Oriented Programming (as in Microsoft FoxPro)
  14. Pipeline Programming (as in the UNIX command line)
  15. Object-based programming
  16. Post-object programming
  17. Subject-oriented programming
  18. Reflective programming
  19. Dataflow programming (as in Spreadsheets)
  20. Policy-based programming
  21. Annotative programming – http://www.flare.org
  22. Attribute-oriented programming (might be the same as annotative programming) (as in Java 5 Annotations, pre-processed by the XDoclet class; C# Attributes )
  23. Concept-oriented programming is based on using concepts as the main programming construct.