Metaprogramming…it’s a term that may come across as abstract, nebulous, or just downright scary. In this session, we’ll break down what metaprogramming is and why it’s relevant to know. You’ll also see the tools and frameworks you can use as a .NET developer (such as Reflection, Mono, and Roslyn) to make your programs simple and elegant.
Metaprogramming…it’s a term that may come across as abstract, nebulous, or just downright scary. In this session, we’ll break down what metaprogramming is and why it’s relevant to know. You’ll also see the tools and frameworks you can use as a .NET developer (such as Reflection, Mono, and Roslyn) to make your programs simple and elegant.
This presentation is from Code::Dive conference. It is all about metaprogramming in C++ - it covers the history, current status, and future directions.
Presented at the November '07 ThoughtWorks UK Away Day, the talk was centered around the various techniques used to create and mold your objects and domain model using declaritive, self-inspecting, and self-modifying code.
Update:
Video available from Oredev: vimeo.com/53147485
Metaprogramming is the dirty little secret behind the success of many Java frameworks such as Spring and Struts2, and constitutes the backbone of many of the most fundamental APIs across the JEE technology stack. This session aims introduce the topic and highlight, with code examples, the different mechanisms and techniques to take advantage of this underused feature of the Java Programming Language.
This session will adopt a learn-by-example approach that combines the philosophy and theory behind metaprogramming with concrete code examples. The audience will be walked real-life scenarios to highlight the benefits of this technique such as minimizing the number of lines of code, reduced development time, and greater flexibility, etc… Design patterns, and best practices will be picked up along the way.
No previous knowledge or exposure to the topic is required, but an intermediate understanding of Java SE is expected.
"What is the future of Java?" is a hard question to tackle. It should be given serious thought whether you are a veteran with a lot invested, a noob trying to figure out what is worthwhile, or just a self-proclaimed Java hater.
In this session, Abdelmonaim will start by introducing the concept of Programming Languages Darwinism to answer what really determines the fate of a technology. A series of questions will be addressed to achieve some clarity such as: How is the paradigm shifting? Why do functional programming languages matter? What is the state of mobile Java? How does the patent wars affect Java? What about the recent security threats? And many more... Expect this session to be controversial, emotionally-charged, and very opinionated.
This presentation is from Code::Dive conference. It is all about metaprogramming in C++ - it covers the history, current status, and future directions.
Presented at the November '07 ThoughtWorks UK Away Day, the talk was centered around the various techniques used to create and mold your objects and domain model using declaritive, self-inspecting, and self-modifying code.
Update:
Video available from Oredev: vimeo.com/53147485
Metaprogramming is the dirty little secret behind the success of many Java frameworks such as Spring and Struts2, and constitutes the backbone of many of the most fundamental APIs across the JEE technology stack. This session aims introduce the topic and highlight, with code examples, the different mechanisms and techniques to take advantage of this underused feature of the Java Programming Language.
This session will adopt a learn-by-example approach that combines the philosophy and theory behind metaprogramming with concrete code examples. The audience will be walked real-life scenarios to highlight the benefits of this technique such as minimizing the number of lines of code, reduced development time, and greater flexibility, etc… Design patterns, and best practices will be picked up along the way.
No previous knowledge or exposure to the topic is required, but an intermediate understanding of Java SE is expected.
"What is the future of Java?" is a hard question to tackle. It should be given serious thought whether you are a veteran with a lot invested, a noob trying to figure out what is worthwhile, or just a self-proclaimed Java hater.
In this session, Abdelmonaim will start by introducing the concept of Programming Languages Darwinism to answer what really determines the fate of a technology. A series of questions will be addressed to achieve some clarity such as: How is the paradigm shifting? Why do functional programming languages matter? What is the state of mobile Java? How does the patent wars affect Java? What about the recent security threats? And many more... Expect this session to be controversial, emotionally-charged, and very opinionated.
2. • What is Metaprogramming?
• Ruby Object Model
• Sharing functionalities
• instance_eval and class_eval
• Magic of method_missing
Topics I will touch…
5. • Classes are always open
• Class definitions are live
• Classes are objects
• Every method call has a
receiver
• Anonymous or ghost classes
CLASSES