CSC/ECE 517 Fall 2010/ch4 4g HW: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 3: Line 3:


==Introduction==
==Introduction==
Transition from [[CSC/ECE 517 Fall 2010/ch2 S24 NS|Metaprogramming in statically typed languages]] last chapter to dynamically typed languages.
Transition from [[CSC/ECE 517 Fall 2010/ch2 S24 NS|Metaprogramming in statically typed languages]] last chapter to dynamically typed languages:


Review of metaprogramming.
Drawing from the concepts discussed in Chapter 2 Section 24, [[CSC/ECE 517 Fall 2010/ch2 S24 NS|Metaprogramming in Statically Typed Languages]], we will continue to examine metaprogramming concepts in the environment of dynamically typed languages. As always, the focus will be on object-oriented languages to demonstrate the common usages of metaprogramming.  


Brief overview of coverage in this chapter.
Review of metaprogramming:
 
As you may recall from the previous chapter, metaprogramming can be defined as "the technique that allows us to write programs that can manipulate other programs or themselves as a part of their data". Thus it allows us to add behavior to classes or objects that was not previously specified, often done at compile time instead of runtime. The same basic concepts still apply here, although in a few different fashions for dynamically typed languages instead of those that are statically typed.
 
Brief overview of coverage in this chapter:
 
This chapter will begin with


==Dynamic Languages==
==Dynamic Languages==

Revision as of 15:14, 18 October 2010


Introduction

Transition from Metaprogramming in statically typed languages last chapter to dynamically typed languages:

Drawing from the concepts discussed in Chapter 2 Section 24, Metaprogramming in Statically Typed Languages, we will continue to examine metaprogramming concepts in the environment of dynamically typed languages. As always, the focus will be on object-oriented languages to demonstrate the common usages of metaprogramming.

Review of metaprogramming:

As you may recall from the previous chapter, metaprogramming can be defined as "the technique that allows us to write programs that can manipulate other programs or themselves as a part of their data". Thus it allows us to add behavior to classes or objects that was not previously specified, often done at compile time instead of runtime. The same basic concepts still apply here, although in a few different fashions for dynamically typed languages instead of those that are statically typed.

Brief overview of coverage in this chapter:

This chapter will begin with

Dynamic Languages

[[1]]

Definition

Dynamic languages (with dynamic typing):

Pure oo: Ruby

Not pure oo but designed mainly for that purpose: Python

Not oo but has elements: Perl

Usage and Examples

Dynamic Typing

[[2]]

Definition.

How different from static.

Examples of:

Ruby

Python

Perl

Metaprogramming

Definition.

How the implementation is similar to or different from static.

Examples of:

Ruby

Python

Perl

Impact and Development

Real-world examples.

Proposed improvements in the given language-examples.

Conclusion

Review everything.

References