Dynamic Programming Languages in Depth
This is another research I did, in the last couple of weeks, it is talking mainly about Dynamic Programming Languages, and their impact on software in general
Dynamic Programming Languages
Dynamic languages are one of the
most interesting fields in programming, because it gives the developer more
functionality & flexibility in developing applications.
The reasons of this are
- The ability to modify the code in runtime, which saves the time
of compiling, linking and building the application.
You can imagine editing the code that runs on a robot walking on
Mars from earth, this actually happened in NASA using LISP, and imagine how
difficult this can be if you were using compiled languages. - Usually the dynamic language codes are less complicated than
static language codes.
- Usually dynamic languages support both Object Oriented and
Functional Oriented models of programming.
- Portability level is always higher in interpreted languages
- Dynamic language syntax is usually easier and shorter if
compared with equivalent codes in other compiled language.
In my opinion Python is the best
dynamic languages, because it can be used in both academia and commercial
applications, also Ruby is a good choice.
And because both Python &
Ruby have a CLR implementations, Iron Python and Ruby CLR respectively,
which really encourages .net developers to use dynamic languages in their
applications using the same experience they already had with .net.
Another interesting thing, is
using both static languages and dynamic languages together, so the whole
application can be written using a static language, and for the parts that are
expected to change a dynamic can be used for this part, a good example for this
is Iron Python, because it has the hosting capabilities, so the language engine
can be hosted in any other .net based language, using this type of architecture
making add-ins implementation easier, which increases the whole application
scalability.