D) Types of Programming and Mark Up Languages Flashcards

1
Q

What is an IDE?

A

IDE stands for Integrated Development Environment, and it is a software tool designed to aid software development. Common features include a code editor, debugger and compiler.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a code library?

A

A set of pre-written functions that can be incorporated into other programs. They can come included with the programming language, be purchased or be written by the programmer themselves.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the advantages/disadvantages of using code libraries?

A

adv:
- widely used
- frequently updated
- saves development time

disadv:
- security concerns
- a bespoke solution could better suit business needs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Git?

A

A version control system used to track changes made to software. It allows for source code repositories to be shared between developers. Github is a cloud based version of this.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is an API?

A

API stands for Application Program Interface, it is a piece of code or set of procedures that enables other programs to communicate and share data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is an SDK?

A

SDK stands for Software Development Kit, it is a set of tools to help quickly develop a certain type of app.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is procedural programming?

A

A top down approach to coding. Procedural programs are composed of statements, blocks and subroutines.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a statement?

A

An instruction to perform an activity, written in the programming language. Examples include creating a variable or calling a function.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a block?

A

A group of statements that are always run together, for example statements within loops.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a subroutine?

A

A named block of code that is run by calling it from the main program. The two main types are functions and procedures. data can be passed to functions and procedures as arguments. The main difference between functions and procedures is that functions always return a value to the main program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is object-oriented programming?

A

A type of programming language that relies on the concept of classes and objects. It structures programs into simple, reusable pieces of code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is encapsulation?

A

The process of making objects and classes. an object is a collection of properties (data internal to the object) and methods (ways to access and manipulate this data). Classes are templates that define object properties and methods. Multiple object instances can be created from a single class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is abstraction?

A

It is a way of reducing complexity and improving security by choosing to make objects and classes either public or private. To use an object, programmers only need to know its public properties and methods.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is inheritance?

A

It is a way of making code reusable. Subclasses are derived from a parent class and can inherit their properties and methods, but can add to and modify these. Subclasses can be used to make more specialised objects from reused code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is polymorphism?

A

The principle that a single class can have multiple methods with the same name. Different actions can take place depending on which way the method is invoked.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is event driven programming?

A

Relies on events to occur to execute code. Code is run non-sequentially and consists of a main program loop, events, trigger functions and callback functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is a main program loop?

A

A loop which executes different code when various events are detected.

18
Q

What is an event?

A

A detectable occurrence which causes the main loop to respond accordingly. Events can be user generated, timer generated or service-oriented. An example could be the user clicking a button.

19
Q

What is a trigger function?

A

They respond to events and determine what code to execute.

20
Q

What is an event handler/callback function?

A

A form of subroutine that is executed by a trigger function in response to detected events.

21
Q

What is a markup language?

A

A markup language uses tags to annotate the content displayed. Tags are a form of metadata, meaning they cant be seen by the end user.

22
Q

What are the mark up languages?

A
  1. HTML: Used to create documents to be displayed on a web browser and describes the structure of the web page.
  2. CSS: Used to change how different HTML elements are displayed.
  3. XML: Allows programmers to design their own tags. Often used to transport data between applications/scripts.
23
Q

What is the difference between markup and programming languages?

A

Programming languages don’t directly manipulate formatting of content.

24
Q

What are the programming languages for the web?

A
  1. JavaScript: An event driven language with object oriented features that adds interactive features to the web.
  2. PHP: Used to create dynamic web content. It is executed on a server and delivers results to a client browser in the form of HTML.
25
Q

What is the client-server model?

A

The client makes a request to the server and the server responds to the client with requested data.

26
Q

What are network protocols?

A

Standardised sets of rules that govern data communication between devices in a network. Common ones include HTTP and HTTPS.

27
Q

What is client side processing?

A

When programs are executed within the web browser. Provides interactive, event driven elements.

28
Q

What is server side processing?

A

When programs are executed on the web server. Used to create dynamic web content and can be integrated onto other server-based systems.

29
Q

What is translation?

A

The process of converting a program in one language to another language. Can be done by hand or with transcompilers.

30
Q

In what situations is translation useful?

A
  • original language cannot meet requirements
  • support for original language is ending
  • original language is insecure
  • original language is not compatible with ne hardware
  • changes in company policy
  • skill availability
31
Q

What are the impacts of translation on developers?

A
  • may need to learn new skills
  • must optimise and debug new code
32
Q

What are the impacts of translation on end users?

A
  • new version may have reduced functionality
  • new code may have performance issues
  • new version may be less stable
  • new bugs may be introduced
33
Q

What are the impacts of translation on organisations?

A
  • may require purchasing new licenses
  • may need to hire new staff
  • question of value
34
Q

What are alternatives to translation?

A
  • exploring newer versions of current language
  • using different third party languages
  • changing compilers or interpreters
  • improving current code
  • having developers review and propose changes to current code
35
Q

What are the advantages/disadvantages of translation?

A

adv:
- allows use of more modern programming languages
- development time is reduced
- cost is reduced
- support improved
- improved functionality

disadv:
- exact translation may not be possible
- new version may be less efficient
- may be time consuming
- unexpected limitations
- lack of experience with new language

36
Q

What are the advantages/disadvantages of procedural programming?

A

adv:
- easy to understand
- supports development by multiple programmers
- corresponds to how computers execute instructions
- flexible

disadv:
- limited ability to reuse code in other projects
- limited security
- complex programs can become difficult to debug and maintain

37
Q

What are the advantages/disadvantages of object oriented programming?

A

adv:
- encapsulation helps programmers to share workload
- abstraction helps improve security and reduce complexity
- encapsulation and inheritance supports reusable code
- polymorphism makes code flexible

disadv:
- can be difficult to determine what should constitute a separate object/class
- can be difficult to determine what properties and methods should be public/private
- can increase memory requirements

38
Q

What are the advantages/disadvantages of event driven programming?

A

adv:
- provide prebuilt code allowing for faster development
- intuitive

disadv:
- not suitable for all types of problems, particularly those that are not dependent on events

39
Q

What are the advantages/disadvantages of client side processing?

A

adv:
- secure as the code runs inside the browser
- easily allows incorporation of media
- platform independent
- code run will always be the latest version

disadv:
- requires a compatible web browser and internet access
- code is downloaded to the client, so can be viewed and copied
- less efficient than native code
- not all web browsers support web standards
- functionality can be limited compared to native code

40
Q

What are the advantages/disadvantages of server side processing?

A

adv:
- source code is secure
- performance can be monitored centrally
- does not depend on performance of client
- easy to integrate with other systems

disadv:
- requires resources to host which can be costly
- systems can become a target for hackers
- website performance may be poor if code is inefficient