Functional programming languages

Assignment Help Basic Computer Science
Reference no: EM131060352

Question 1: (a) As computer programming languages have evolved, language designers have increasingly provided more features to help the programmer avoid errors (either at compile time or run time) in the implementation of a solution.

Discuss with critical comment, using appropriate illustrations from a range of programming languages, the extent to which the above statement can be considered true.

(b) Functional programming languages offer the possibility of eliminating some of the errors associated with concurrency. Discuss, using examples from a functional programming language, how this might be achieved.

Question 2: (a) An issue in imperative programming is concurrently executing threads accessing shared data: for example, in the programming language Java, two concurrently executing threads reading from and writing to an instance of an ArrayList. Carefully describe what these issues are, together with any possible solution. Do not include issues that occur when tasks with different priorities are involved.

(b) A potential consequence of concurrently executing threads that have individual priorities is "priority inversion". Describe carefully, using a realistic example, what "priority inversion" is and describe in the context of this example how the consequences of "priority inversion" may be overcome.

(c) Compare and contrast cyclic scheduling with rate-monotonic scheduling as a means of ensuring that the deadlines are met for events scheduled in a real-time system. In your comparison show clearly what these two forms of scheduling involve.

(d) When several threads access a common data structure there is the potential for the ABA problem to occur. Carefully describe, using an appropriate example, what the ABA problem is and how it may be avoided.

Question 3: (a) From the prospective of a user, discuss both the positive and negative implications of the use of cookies in the web pages which they access.

(b) Confidentiality and security of information are major issues for people who use local as well as remote computer systems.
Discuss with critical comment the steps that can be taken both by the user and the system to ensure that information is kept secure and safe.

(c) Discuss the advantages/ disadvantages of using a cluster of computers rather than a series of standalone machines to run many individual applications.

In your discussion, outline how a cluster can balance the workload across machines in the cluster even though individual applications start on and depend on resources from a specific machine in the cluster. What resource demands would make it difficult to migrate a program to another machine in the cluster?

Reference no: EM131060352

Questions Cloud

How awareness of such factors influences the decision : Examine how awareness of such factors influences the decision of hiring outside vendors. In addition, analyze how the stated factors help improve the overall facilitation and effectiveness of the risk management.
Price of a loaf weighing : A loaf of bread weighing 500 grams is sold at 23 dollars including VAT 18%.What should be the price of a loaf weighing 400 grams and VAT fixed at 16%.
Distributed computing applications : Distributed.net (www.distributed.net) is an organization that coordinates research on distributed computer applications. People and organizations can join Distributed.net and contribute idle computing power to ongoing research projects that requir..
How do humans impact biodiversity : What does the study of ecology include that is applicable to measuring biodiversity? How do humans impact biodiversity?
Functional programming languages : Discuss with critical comment, using appropriate illustrations from a range of programming languages, the extent to which the above statement can be considered true.
Explain dissection of fetus pig essay : Explain Dissection of fetus pig essay. We also need to explain the dissection of the specimen, describe part and your observations. provide measurements. What is the bump under the chin and what is the tendon that was attached to the umbilical.
Applications in an imperative programming language : There are a range of issues to consider when developing multi-threaded applications in an imperative programming language such as Ada, C++ or Java.
Medium to long-term strategy for your organisation : Assume that top management would like you to develop a medium to long-term strategy for your organisation (or alternatively for one of the following organisations):
Mainframe computers and personal computers : What are the main differences between operating systems for mainframe computers and personal computers?

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd