ICT role in 21st century education and it's challenges.
Dynamic languages for .NET CLR
1.
2. Dynamic programming languages
In the broadest sense of the word
Dynamic programming language is a term used
broadly in computer science to describe a class of high-
level programming languages that execute at runtime
many common behaviors that other languages might
perform during compilation, if at all. These behaviors
could include extension of the program, by adding new
code, by extending objects and definitions, or by
modifying the type system, all during program execution.
Source: Wikipedia
3. Briefly
Changing types at runtime
No types at all
Generate code at runtime
Simplified deployment
4. Where Dynamic Languages fit
Rapid prototype development
Better string processing capabilities
5. Dynamic VS Static
Dynamic Static
Languages Languages
Simple & Easy to Learn Type safety
Late bound Runtime Performance
Highly Expressive Compile-time checking
No compilation Intelligent tools
6. Dynamic Languages on .NET
Iron Python Iron Ruby C# Others…
Dynamic Language Runtime
.NET CLR
7. Is C# dynamic language..?
Yes..optionally..
New dynamic keyword in C# 4.0
9. The Dynamic Type in C#
Calculator calc = GetCalculator();
int sum = calc.Add(10, 20);
object calc = GetCalculator();
Type calcType = calc.GetType();
object res = calcType.InvokeMember("Add",
BindingFlags.InvokeMethod, null,
new object[] { 10, 20 });
int sum = Convert.ToInt32(res); ScriptObject calc = GetCalculator();
object res = calc.Invoke("Add", 10, 20);
int sum = Convert.ToInt32(res);
Statically typed to dynamic calc = GetCalculator();
be dynamic int sum = calc.Add(10, 20);
Dynamic Dynamic method
conversion invocation
11. Microsoft Vision
Implemented as Iron Languages
Iron Python, Iron Ruby
All languages run on .NET runtime
Easy to use .NET libraries
Easy to use other .NET languages
Easy to use in .NET hosts
Easy to use with .NET tools
14. IronPython vs CPython
IronPython
Written in C#
Works with .NET VM
Produces IL code
Assemblies, Modules
CPython
Written in C
Works Python VM
Produces Python Byte Code
Modules
15. Tools to Develop IronPython
Python Tools for Visual Studio
http://pytools.codeplex.com/
17. Exploring Iron Python
Demo
Using .NET Class Libraries
(HelloWorld example)
Using C# DLL in Iron Python
(Extending Iron python with C#)
Embedding Iron Python in C#
Windows Forms
18. ASP.NET Iron Python
http://aspnet.codeplex.com/wikipage?title=Dynam
ic%20Language%20Support
Demo
20. How to Contribute
Both Iron Python and DLR are open source
projects
Iron Python Project will accept source code
and bugs
DLR is just open source