学生姓名(Name) :


Download 44.18 Kb.
bet3/6
Sana10.11.2023
Hajmi44.18 Kb.
#1763724
1   2   3   4   5   6
Bog'liq
attachment N1

4) Bag of Features model:
In feature comparison we will compare the following concurrency related features of the languages. Some of the languages might not have all of the features listed in the following list. I will take note of this when making the comparison and give examples of ways one could circumvent the missing feature from the language. Things in this comparison mostly affect the implementation phase of the program’s life-cycle. And they can make the implementation harder or make it necessary for the programmer to write more code in one of the languages than on the other.
Multi-threading
• Lightweight user space threading
• Event based asychronous programming
• Thread/concurrent execution starting (implicit / explicit)
• State handling and Mutability
• Inter-process (thread) communication method
Error handling

5) Analysis:
All of the languages performed relatively well in the testing. Mainly Node.js implementation had problems in multiprocessor setups as it has been designed for single threaded operation. All in all the concurrent runtime capabilities of Node.js were the worst of the languages. In some of the tests Elixir performed a bit better than Go and in others this was reversed.
Implementing concurrent applications in Elixir is the simplest of the languages. This is because the programmer does not really need to think about concurrency at all. For most finetuning possibilities Go is the language of choice. Drawback of this is that it is easier for the programmer to make the common concurrency programming mistakes. Node.js event based concurrency paradigm may need some getting used to if a programmer comes from a more traditional procedural or object oriented style of programming. Go and JavaScript are closer to the more mainstream C influenced languages and Elixir may have a bit steeper learning curve for the people coming from procedural and object oriented languages.


  1. Download 44.18 Kb.

    Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling