As I promised, I'm going to talk about dynamic languages and a list of URLs for some mashware IDEs based on the paper I discussed the previous post.
First let's discuss some of the characteristics of a dynamic language:
- a) Dynamic Typing: the type of declared variable is determined at runtime.
- b) Interpretation: source code is read at runtime, translated into an intermediate representation and then executed.
- c) Runtime modification: class hierarchies and other structural and behavioral aspects of the program can be modified at runtime. New functions and variables can be added on the fly.
These languages are usually referred as scripting languages, but that's not true at all and these languages can be, and they must also be used in areas other than scripting.
- a) Extreme permissiveness:
It's an extremely permissive, error-tolerant language This can lead to problems that are very hard to trace and debug, if the developer accidentally types a variable incorrectly, this will not report an error - the incorrect name will create a new variable which can become a growing error ball.
For instance, there are three different ways to define a function.
Before ending this post I want to give the name and url of Mashware IDE. Based on this paper all of them have their advantages and drawbacks, but I can only test some features of Yahoo Pipes, so if you find something interesting please let me know.