StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Dynamic Programming - Report Example

Cite this document
Summary
This report "Dynamic Programming" presents a C# application that is significantly a language that can be made statically, it aims at vastly lignifying the interaction with the above- mentioned objects. It is worthwhile noting that the key principle in C# 4.0 refers to dynamic programming…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER91.7% of users find it useful

Extract of sample "Dynamic Programming"

Name: Instructor: Task: Date: Introduction It is worthwhile noting that the key principle in C# 4.0 refers to dynamic programming. Notably, there is a trend whereby objects are increasingly in “dynamism” such that any static type cannot capture their respective structure and behavior; in other words none of them that the compiler can recognize when compiling a certain program. For instance, there are examples such as objects like Python and Ruby generated from programming languages that are dynamic. Similarly, there IDispatch accessed COM objects and ordinary .NET reflected types. Moreover, there are objects that comprise a changing structure like objects such as scripts from HTML DOM. Finally, there are data readers, as well as other dynamic objects referred to as user defined (Wu, 2010). Considerably, while C# application is significantly a language that can be made statically, it aims at vastly lignifying the interaction with the above- mentioned objects. The second theme refers to co-evolution of the application with Visual Basic. Notably, such a process aims at keeping up a language’s individual character, although it is critical that essential new characteristics should be initiated in both languages simultaneously. Considerably, they need to be differentiated significantly by style along with feel rather than by mere feature set. Research work by Wu (2010) acknowledges four new characteristics in C# 4.0 groups. They include dynamic binding, variance, interop features of COM specific, and named, as well as optional arguments. Notably, Dynamic binding enables an individual in method writing, performing the operator and utilizing the indexer calls. Additionally, it enables an individual to access field and property, and even one can access object invocations which can evade the static C# checking and in its place gets set on at runtime (Wu, 2010). Significantly, with Named, as well as optional arguments C# Parameters in can significantly be individualized as optional through offering them with a default value in a member pronouncement. Notably, after invoking the member, any optional arguments can easily be omitted. Additionally, one can pass any available argument through parameter name as opposed to position. It is worthwhile noting that, Dynamic binding and name, as well as optional arguments enables an individual make programming in opposition to COM merely painful than currently. Additionally, however, there are other numerous features that significantly advance the experience with interop particularly with COM. Variance It is worthwhile noting that, originally people acknowledged that a string is not an object. However, in order to advance the field researchers have updated the – C# embrace safe type “co- along with contra variance,” as well as types of common BCL. Notably, Dynamic binding provides an integrated approach towards dynamic invoke of things. Therefore, if one has dynamic binding, whenever he holds an object in his hand, he do not have to question whether it originates from COM or Iron Python and the HTML DOM or it whether it originates from reflection. Significantly, one just needs to apply operations to the object and leave the object to the runtime to investigate what precisely such operations indicate for that certain object. Notably, the above process affords an individual a huge flexibility, and can also deeply simplify ones code, although it has significant drawbacks. For instance, there are no enforcements in Static typing for the above operations. Considerably, one assumes a dynamic object at compile time to sustain any operation, and barely at runtime can one get an error in the event of mistakes. Notably, this will significantly be a minor loss, since the object would not entail a static type anyhow, in other times it is an exchange between conciseness and protection. However, in order to aid the above exchange, it is blueprint objectives of C# to enable an individual go for or against dynamic behavior on each call. Significantly, C# 4.0 has introduced an original static type referred to as dynamic. Notably, When an individual has a dynamic type object he can make modifiable changes that are only determined at runtime. The C# compiler enables an individual call a method by using any name along with any d arguments since it is dynamic type. Notably, at runtime the actual object represented by d will be analyzed to establish the implication of “call M using an int”. It is significant noting that, one can recognize the type dynamic as an extraordinary edition representing the type object, with indications that one can utilize the object dynamically. Considerably, one can easily go for or against dynamic behavior. For instance, one can implicitly convert any object to dynamic, “suspending conviction” up to runtime. Nevertheless, one can easily convert type dynamic expressions to an object, or certainly every other type, provided there is a conversion during runtime. Notably, not only can one dynamically dispatch method calls and field, as well as property accesses, but an individual can also dynamically dispatch indexer and their respective operator calls, as well as delegate invocations and calls from the constructor. d.M(7); // calling methods d.f = d.P; // finding out and settings fields, as well as properties d[“one”] = d[“two”]; // finding out and indexers- based setting int i = d + 3; // calling operators string s = d(5,7); // delegate like invoking var c = new C(d); // a call of the constructor The function of the C# compiler is basically to accumulate the necessary information about the experiences of d, in order for the runtime to compile and determine the exact meaning given to a definite object d. Notably, one needs to consider it as adjourning part of the job of compiler to runtime. Significantly, the product of all dynamic operations is significantly type dynamic, apart from two examples. For instance, the nature of a call’s dynamic constructor refers to the constructed type. Secondly, the variety of a dynamic implicit and explicit conversion refers to the conversion’s target type (Wu, 2010.p.143). Runtime lookup Notably, at runtime state a dynamic operation is transmitted according to the type of its targeted object d. notably if d executes the interface I Dynamic Meta Object Provider, refers to the dynamic object, which implies that it will significantly be required to fasten and carry out the operation. Consequently, by implementing I Dynamic Meta Object Provider a category can entirely redefine the significance of operations like method calls and access to member. Significantly, this is utilized fundamentally by dynamic languages like Iron Python along with Iron Ruby to realize their significant dynamic models of an object. Additionally, it is used by APIs such as the Silver light HTML DOM to allow straight access to the properties of the object and its methods utilizing the member access, as well as the syntax of the method call syntax as opposed to string-based accomplice methods like Set Property and Invoke. COM objects If d represents a COM object, the operation is transmitted dynamically through COM I Dispatch. Notably, such an operation enables calling to types of COM that lack a PIA, and relying on COM components that lack a complement in C#, like default properties. Plain objects Otherwise d refers to a standard .NET object; hence, the operation will be transmitted through reflection on its type, as well as a C# runtime file which executes C#’s search for and excess resolution semantics during runtime state. Notably, the above process is fundamentally a division of the C# compiler running as a runtime constituent to clear dynamic operations initially postponed by the static compiler. For instance, assuming that the dynamic (d1) = new Foo() and dynamic d2 = new Bar(); string s; d1.M(s, d2, 3, null); Since the receiver and the call argument to M are significantly dynamic, the C# compiler can never determine the significance of the call. However, it hoards away information for the runtime concerning the call. Notably, a significant element in the underlying execution of dynamic binding refers to the DLR, which refers to a new API in .NET 4.0. It provides almost the entire infrastructure behind both C# dynamic binding and the realization of numerous dynamic programming languages on .NET, like Iron Python and Iron Ruby. Considerably, through the above common infrastructure an elevated interoperability degree is critical, but just as prominently the DLR offers outstanding caching methodologies which significantly enhance the effectiveness of runtime transmission. Significantly, to the dynamic binding user in C#, the DLR is indistinguishable apart from the enhanced effectiveness. Nevertheless, if an individual intends to apply his own dynamically transmitted objects, the I Dynamic Meta Object Provider edge enables an individual to integrate with the DLR and incorporate his own behavior. However, one should recognize that engaging in the above activity comprises a significantly advanced duty, which an individual recognizes as a first-rate deal significantly about DRL inner activities. Providentially .NET 4.0 offers myriad helper classes to simplify the above tasks, and for those engaged in API writing, it can certainly be a significant trouble as one can occasionally hugely advance libraries’ usability representing an intrinsically dynamic area (Wu, 2010). Limitations It is worthwhile noting that, there are insignificant limitations and things significantly may not work as expected. For instance, The DLR enables an object to be produced from objects that characterize classes. Nonetheless, the present execution of C# lacks the syntax to sustain the above activity. Secondly, Dynamic binding will never be in a position to discover extension techniques. Notably, whether extension techniques are appropriate or do not apply depends on the using clauses that takes place, and such context information can not be kept as a component of the consignment. Moreover, anonymous functions such as Lambda expressions can not easily look like arguments to a dynamic functioning. Considerably, the compiler cannot comprehend an unidentified function without information on the type of conversion. Notably, Named arguments and their respective optional parameters refer to significantly two distinct features, although they are often used jointly. For instance, Optional parameters enable an individual leave out arguments to invocations of the member, while named arguments refers to a means to present a dispute using the name of the related parameter as opposed to the reliance on its location in the parameter catalog. A number of APIs, most notably COM edges like the Office automation APIs, are written exclusively with named, as well as mind optional parameters. Significantly, it has remained excruciating to call into the above APIs from C#, with every so often around thirty points of view having to be plainly passed, a good number of which have practical default values; hence, could be misplaced. Notably, the same case in APIs for .NET though one sometimes find himself obliged to write several method’s overloads with diverse parameters’ combinations, so as to offer callers with utmost usability. Consequently, Optional parameters are a valuable option for the above- mentioned situations (Wu, 2010). Considerably, one can declare a parameter optional basically by offering it with a default value. Notably, public void M(int x, int y = 5, int z = 7); Significantly, y and z refers to optional parameters, which can be misplaced in calls: M(1, 2, 3); // M’s ordinary call M(1, 2); // leaving out z – equal to M(1, 2, 7) M(1); // leaving out both y and z – equal to M(1, 5, 7) It is worthwhile emphasizing that Default disagreement values are fairly restricted. Consequently, they need to be expressed as steady expressions, or as expressions of default value default (T). Notably, C# 4.0 does not allow an individual to leave out arguments linking commas as it is the case in M (1, 3). Consequently, the above situation could bring extremely illegible codes of comma-counting. However, if one wants to leave out arguments at the center, he can pass all arguments by name. Therefore, if an individual wants to leave out only y from M’s call M he can write: M (1, z: 3); // passing z by name or M(x: 1, z: 3); // passing both x and z by name otherwise even M(z: 3, x: 1); // invalidating the arguments’ order. Notably, each form is equivalent, apart from the fact that arguments are constantly weighed up in the category they materialize. Considerably, Optional, as well as named arguments can both be used with methods and with indexers along with constructors. However, they have a profound influence on overload resolution, although the changes are comparatively undemanding. For instance, a signature is appropriate if all its parameters are either optional or have precisely one equivalent case in the call which is adaptable to the type of parameter. Reference Wu, C. (2010). Pro DLR in .NET 4. Salt Lake City, Utah: A press publishers Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(Dynamic Programming Report Example | Topics and Well Written Essays - 2000 words, n.d.)
Dynamic Programming Report Example | Topics and Well Written Essays - 2000 words. https://studentshare.org/logic-programming/2050736-c-in-visual-studio-2010
(Dynamic Programming Report Example | Topics and Well Written Essays - 2000 Words)
Dynamic Programming Report Example | Topics and Well Written Essays - 2000 Words. https://studentshare.org/logic-programming/2050736-c-in-visual-studio-2010.
“Dynamic Programming Report Example | Topics and Well Written Essays - 2000 Words”. https://studentshare.org/logic-programming/2050736-c-in-visual-studio-2010.
  • Cited: 0 times

CHECK THESE SAMPLES OF Dynamic Programming

Build to Order and How Does It Differ from More Traditional Approaches to the Car Business

Case Study Table of Contents References 10 What is it meant by “build to order” and how does it differ from more traditional approaches to the car business?... Answer 1: - Build to Order often referred to as ‘Make to Order' is defined as a strategy of production, where the products are only manufactured when the order is fully confirmed....
7 Pages (1750 words) Coursework

Engineering Management, Systems Engineering & Analysis

Progress and development are important goals and aspirations of a company.... These critical elements, which determine a company's success and market strength, are key aspects during the course of formulation of all kinds of tactics and strategies.... Before making any strategies or a general plan, one has to take a lot of factors and situations into consideration before moving ahead with any kind of implementation....
7 Pages (1750 words) Essay

Reinforcement Learning and Dynamic Programming Techniques

This research focuses on the optimization of general search solution methods and proposes a formal search utility framework, algorithms rooted in Reinforcement Learning (RL), and Dynamic Programming (DP) techniques.... dynamic search function and control optimization are major primitives to construct search utilities for stochastic system processes to ensure converged resource accesses....
15 Pages (3750 words) Research Paper

Business Operations and the Influence of Development of Technologies

Various aspects of optimizing the supply chain include liaising with suppliers to eliminate bottlenecks; sourcing strategically to strike a balance between lowest material cost and transportation, implementing JIT (Just In Time) techniques to optimize manufacturing flow; maintaining the right mix and location of factories and warehouses to serve customer markets, and using location/allocation, vehicle routing analysis, Dynamic Programming, and traditional logistics optimization to maximize the efficiency of the distribution side....
7 Pages (1750 words) Coursework

Application Development and Programming Languages

Programmability of programming language refers to the ability of that language to modify itself as per the programmer's requirements.... Object oriented programming language, like java, provides an easy programmability procedure.... Application Development and programming Languages Object oriented language and imperative language differ from one inmany way as follows; Programmability of programming language refers to the ability of that language to modify itself as per the programmer's requirements....
2 Pages (500 words) Essay

Financial Options Pricing Model to Estimate the Value of the Investment Timing Option

The author describes some types of real options and five possible procedures for analyzing a real option.... The author also examines investment made in the present year, Investment made after a year, and financial option pricing model to estimate the value of the investment timing option.... nbsp; … A real option is a method of evaluating financial options....
7 Pages (1750 words) Assignment

Eror Handling in Programing Exercises

The scripts ensure that the program does not experience the The paper "Error Handling in Programing Exercises" is a wonderful example of an assignment on logic and programming.... This study explores two major options of error handling in programming exercises.... nbsp; Advantages and disadvantages of testing for error conditions as compared to using exception handling when performing input or output Advantages Testing enables the programmer to detect errors and exceptions during programming and to manage them before final implementation....
3 Pages (750 words) Assignment

Dynamic Inventory Lot Size

LUC is dynamic lot sizing technique.... LTC is also a dynamic lot sizing technique used to order quantity by calculation of carrying cost and ordering cost for various lot size and the costs with an almost equal lot is selected.... … CHAPTER 1: INTRODUCTION Background InformationInventory are commodities, materials that are carried in stocks for consumption ....
18 Pages (4500 words) Assignment
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us