HOME





Mama (software)
Mama is an object-oriented educational programming language designed to help young students start programming by providing all language elements in the student mother tongue. Mama programming language is available in several languages, with both left-to-right (LTR) and right-to-left (RTL) language direction support. A new variant of Mama was built on top of Carnegie Mellon's Alice development environment, supporting scripting of the 3D stage objects. This new variant of Mama was designed to help young students start programming by building 3D animations and games. History The first versions of Mama - 1.0, 1.1 and 1.2 - provided simple integrated development environment (IDE) which contained support to standard elements such as text editor with syntax highlighting, compiler, debugger, output window, etc. Starting at version 1.5, Mama was integrated with the open source Alice IDE to support drag and drop programming and 3D animating. Mama versions are implemented in Java. The cu ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Educational Programming Language
An educational programming language (EPL) is a programming language used primarily as a learning tool, and a starting point before transitioning to more complex programming languages. Types of educational programming languages Assembly languages Initially, machine code was the sole method of programming computers. Assembly language (ASM), introduced mnemonics to replace low-level instructions, making it one of the oldest programming languages still used today. Numerous dialects and implementations exist, each tailored to a specific computer processor architecture. Assembly languages are low-level and more challenging to use, as they are untyped and rigid. For educational purposes, simplified dialects of assembly languages have been developed to make coding more accessible to beginners. Assembly languages are designed for specific processor architectures, and they must be written with the corresponding hardware in mind. Unlike higher-level languages, educational assembly languag ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Object Based
An object-based language is a programming language that provides a construct to encapsulate state and behavior as an object. A language that also supports inheritance or subtyping is classified as object-oriented. Even though object-oriented seems like a superset of object-based, they are used as mutually exclusive alternatives, rather than overlapping. Examples of strictly object-based languages supporting an object feature but not inheritance or subtyping are early versions of Ada, Visual Basic 6 (VB6), and Fortran 90. Some classify prototype-based programming as object-based even though it supports inheritance and subtyping albeit not via a class concept. Instead an object inherits its state and behavior from a ''template'' object. A commonly used language with prototype-based programming support is JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websi ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Educational Programming Languages
Education is the transmission of knowledge and skills and the development of character traits. Formal education occurs within a structured institutional framework, such as public schools, following a curriculum. Non-formal education also follows a structured approach but occurs outside the formal schooling system, while informal education involves unstructured learning through daily experiences. Formal and non-formal education are categorized into levels, including early childhood education, primary education, secondary education, and tertiary education. Other classifications focus on teaching methods, such as teacher-centered and Student-centered learning, student-centered education, and on subjects, such as science education, language education, and physical education. Additionally, the term "education" can denote the mental states and qualities of educated individuals and the academic field studying educational phenomena. The precise definition of education is disputed, an ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Very High-level Programming Language
A very high-level programming language (VHLL) is a programming language with a very high level of abstraction, used primarily as a professional programmer productivity tool. VHLLs are usually domain-specific languages, limited to a very specific application, purpose, or type of task, and they are often scripting languages (especially extension languages), controlling a specific environment. For this reason, very high-level programming languages are often referred to as goal-oriented programming languages. The term VHLL was used in the 1990s for what are today more often called high-level programming languages (not "very") used for scripting, such as Perl, Python, PHP, Ruby, and Visual Basic. See also * Automatic programming *Low-level programming language *Feature-oriented programming In computer programming, feature-oriented programming (FOP) or feature-oriented software development (FOSD) is a programming paradigm for program generation in software product lines (SPLs) and ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Visual Programming Language
In computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create computer program, programs by manipulating program elements rather than by specifying them . A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of low-code development platforms. Definition VPLs may be further classified, according to the type and extent of visual expression used, into icon-based languages, form-based languages, and diagram languages. Visual programming environments provide graphical or iconic elements which can be manipulated by u ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Observer Pattern
In software design and software engineering, the observer pattern is a software design pattern in which an object, called the ''subject'' (also known as ''event source'' or ''event stream''), maintains a list of its dependents, called observers (also known as ''event sinks''), and automatically notifies them of any state (computer science), state changes, typically by calling one of their method (computer science), methods. The subject knows its observers through a standardized interface and manages the subscription list directly. This pattern creates a one-to-many dependency where multiple observers can listen to a single subject, but the coupling is typically synchronous and direct—the subject calls observer methods when changes occur, though asynchronous implementations using event queues are possible. Unlike the publish-subscribe pattern, there is no intermediary broker; the subject and observers have direct references to each other. It is commonly used to implement event ha ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Generic Programming
Generic programming is a style of computer programming in which algorithms are written in terms of data types ''to-be-specified-later'' that are then ''instantiated'' when needed for specific types provided as parameters. This approach, pioneered in the programming language ML in 1973, permits writing common functions or data types that differ only in the set of types on which they operate when used, thus reducing duplicate code. Generic programming was introduced to the mainstream with Ada in 1977. With templates in C++, generic programming became part of the repertoire of professional library design. The techniques were further improved and ''parameterized types'' were introduced in the influential 1994 book '' Design Patterns''. New techniques were introduced by Andrei Alexandrescu in his 2001 book '' Modern C++ Design: Generic Programming and Design Patterns Applied''. Subsequently, D implemented the same ideas. Such software entities are known as ''generics'' in ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Polymorphism In Object-oriented Programming
In programming language theory and type theory, polymorphism is the use of one symbol to represent multiple different types.: "Polymorphic types are types whose operations are applicable to values of more than one type." In object-oriented programming, polymorphism is the provision of one interface to entities of different data types. The concept is borrowed from a principle in biology where an organism or species can have many different forms or stages. The most commonly recognized major forms of polymorphism are: * '' Ad hoc polymorphism'': defines a common interface for an arbitrary set of individually specified types. * ''Parametric polymorphism'': not specifying concrete types and instead use abstract symbols that can substitute for any type. * ''Subtyping'' (also called ''subtype polymorphism'' or ''inclusion polymorphism''): when a name denotes instances of many different classes related by some common superclass. History Interest in polymorphic type systems developed s ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Inheritance (object-oriented Programming)
In object-oriented programming, inheritance is the mechanism of basing an Object (computer science), object or Class (computer programming), class upon another object (Prototype-based programming, prototype-based inheritance) or class (Class-based programming, class-based inheritance), retaining similar implementation. Also defined as deriving new classes (#Subclasses and superclasses, sub classes) from existing ones such as super class or Fragile base class, base class and then forming them into a hierarchy of classes. In most class-based object-oriented languages like C++, an object created through inheritance, a "child object", acquires all the properties and behaviors of the "parent object", with the exception of: Constructor (object-oriented programming), constructors, destructors, operator overloading, overloaded operators and friend functions of the base class. Inheritance allows programmers to create classes that are built upon existing classes, to specify a new implementat ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Object-oriented Programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and implemented in code). In OOP, computer programs are designed by making them out of objects that interact with one another. Many of the most widely used programming languages (such as C++, Java, and Python) support object-oriented programming to a greater or lesser degree, typically as part of multiple paradigms in combination with others such as imperative programming and declarative programming. Significant object-oriented languages include Ada, ActionScript, C++, Common Lisp, C#, Dart, Eiffel, Fortran 2003, Haxe, Java, JavaScript, Kotlin, Logo, MATLAB, Objective-C, Object Pascal, Perl, PHP, Python, R, Raku, Ruby, Scala, SIMSCRIPT, Simula, Smalltalk, Swift, Vala and Visual Basic.NET. History The idea of ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sectors of the computing industry – Windows (unqualified) for a consumer or corporate workstation, Windows Server for a Server (computing), server and Windows IoT for an embedded system. Windows is sold as either a consumer retail product or licensed to Original equipment manufacturer, third-party hardware manufacturers who sell products Software bundles, bundled with Windows. The first version of Windows, Windows 1.0, was released on November 20, 1985, as a graphical operating system shell for MS-DOS in response to the growing interest in graphical user interfaces (GUIs). The name "Windows" is a reference to the windowing system in GUIs. The 1990 release of Windows 3.0 catapulted its market success and led to various other product families ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


3D Computer Graphics
3D computer graphics, sometimes called Computer-generated imagery, CGI, 3D-CGI or three-dimensional Computer-generated imagery, computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian coordinate system#Cartesian coordinates in three dimensions, Cartesian) that is stored in the computer for the purposes of performing calculations and rendering digital images, usually 2D images but sometimes 3D images. The resulting images may be stored for viewing later (possibly as an Computer animation, animation) or displayed in Real-time computer graphics, real time. 3D computer graphics, contrary to what the name suggests, are most often displayed on two-dimensional displays. Unlike 3D film and similar techniques, the result is two-dimensional, without visual depth perception, depth. More often, 3D graphics are being displayed on 3D displays, like in virtual reality systems. 3D graphics stand in contrast to 2D computer graphics which t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]