Programming

Programming languages continue to evolve to increase reuse and enable higher levels of abstract thinking. This is in turn enables the development more complex applications with less effort. These changes are also accelerating the development of machine learning applications.

Procedural Programming

Procedural programming was the first programming paradigm of high-level programming languages.  They offered enabled greater re-usability and abstraction, compared to low-level programming languages such as assembly.

Procedural programming also uses imperative style of programming.  In the example below an if-then logic is applied, and functions bar and baz are called; enabling both reuse and abstraction.

define function foo (int A, int B) {

if A < B:

then C()

call bar()
call baz()
}

Object-Oriented Programming

Object-oriented programming paradigm enables more reuse and abstraction relative to procedural programming.  This enabled by inherited by attributes, attribute values and methods.

In example below, Acme Page is displayed with custom font colour and size.  The developer does not need to understand how a page works to accomplish this.  Object-oriented programming is also an imperative style of programming.

define class AcmePage extends Page {

@override fontformat {

font.colour = red

font.size = 14

super fontformat()

}

}

This style programming is particularly suited for GUI, but not limited to it.

Functional Programming

Functional programming also offers greater reuse of relative procedural programming.  However, this style of programming is particularly suited for Machine Learning and development of mathematical functions.

In the examples below,

  1. Content is mapped and reduced (likely a large dataset)
  2. Data is pre-processed.  Features are extracted and added.  Data is Modelled.
training_data = all_data.map().reduce()

trained_model = model(add_features(pre-process(training_data)))
search previous next tag category expand menu location phone mail time cart zoom edit close