Topic: Computer science (Page 9)
You are looking at all articles with the topic "Computer science". We found 134 matches.
Hint:
To view all topics, click here. Too see the most popular topics, click here instead.
π List of fictional computers
Computers have often been used as fictional objects in literature, movies and in other forms of media. Fictional computers tend to be considerably more sophisticated than anything yet devised in the real world.
This is a list of computers that have appeared in notable works of fiction. The work may be about the computer, or the computer may be an important element of the story. Only static computers are included. Robots and other fictional computers that are described as existing in a mobile or humanlike form are discussed in a separate list of fictional robots and androids.
Discussed on
- "List of fictional computers" | 2014-06-01 | 28 Upvotes 22 Comments
π Ousterhout's Dichotomy
Ousterhout's dichotomy is computer scientist John Ousterhout's categorization that high-level programming languages tend to fall into two groups, each with distinct properties and uses: system programming languages and scripting languages β compare programming in the large and programming in the small. This distinction underlies the design of his language Tcl.
System programming languages (or applications languages) usually have the following properties:
- They are typed statically
- They support creating complex data structures
- Programs in them are compiled into machine code
- Programs in them are meant to operate largely independently of other programs
System programming languages tend to be used for components and applications with large amounts of internal functionality such as operating systems, database servers, and Web browsers. These applications typically employ complex algorithms and data structures and require high performance. Prototypical examples of system programming languages include C and Modula-2.
By contrast, scripting languages (or glue languages) tend to have the following properties:
- They are typed dynamically
- They have little or no provision for complex data structures
- Programs in them (scripts) are interpreted
Scripting languages tend to be used for applications where most of the functionality comes from other programs (often implemented in system programming languages); the scripts are used to glue together other programs or add additional layers of functionality on top of existing programs. Ousterhout claims that scripts tend to be short and are often written by less sophisticated programmers, so execution efficiency is less important than simplicity and ease of interaction with other programs. Common applications for scripting include Web page generation, report generation, graphical user interfaces, and system administration. Prototypical examples of scripting languages include AppleScript, C shell, DOS batch files, and Tcl.
Discussed on
- "Ousterhout's Dichotomy" | 2024-11-10 | 12 Upvotes 2 Comments
- "Ousterhout's Dichotomy" | 2015-07-29 | 26 Upvotes 10 Comments
π Time formatting and storage bugs
In computer science, time formatting and storage bugs are a class of software bugs which may cause time and date calculation or display to be improperly handled. These are most commonly manifestations of arithmetic overflow, but can also be the result of other issues. The most well-known consequence of bugs of this type is the Y2K problem, but many other milestone dates or times exist that have caused or will cause problems depending on various programming deficiencies.
Discussed on
- "Time formatting and storage bugs" | 2021-12-26 | 47 Upvotes 2 Comments
π Swarm intelligence
Swarm intelligence (SI) is the collective behavior of decentralized, self-organized systems, natural or artificial. The concept is employed in work on artificial intelligence. The expression was introduced by Gerardo Beni and Jing Wang in 1989, in the context of cellular robotic systems.
SI systems consist typically of a population of simple agents or boids interacting locally with one another and with their environment. The inspiration often comes from nature, especially biological systems. The agents follow very simple rules, and although there is no centralized control structure dictating how individual agents should behave, local, and to a certain degree random, interactions between such agents lead to the emergence of "intelligent" global behavior, unknown to the individual agents. Examples of swarm intelligence in natural systems include ant colonies, bird flocking, hawks hunting, animal herding, bacterial growth, fish schooling and microbial intelligence.
The application of swarm principles to robots is called swarm robotics, while 'swarm intelligence' refers to the more general set of algorithms. 'Swarm prediction' has been used in the context of forecasting problems. Similar approaches to those proposed for swarm robotics are considered for genetically modified organisms in synthetic collective intelligence.
Discussed on
- "Swarm intelligence" | 2011-01-22 | 37 Upvotes 11 Comments
π Induction of regular languages
In computational learning theory, induction of regular languages refers to the task of learning a formal description (e.g. grammar) of a regular language from a given set of example strings. Although Mark E. Gold has shown that not every regular language can be learned this way (see language identification in the limit), approaches have been investigated for a variety of subclasses. They are sketched in this article. For learning of more general grammars, see Grammar induction.
Discussed on
- "Induction of regular languages" | 2018-11-24 | 44 Upvotes 3 Comments
π Bead sort: faster than O(N log N) sort
Bead sort, also called gravity sort, is a natural sorting algorithm, developed by Joshua J. Arulanandham, Cristian S. Calude and Michael J. Dinneen in 2002, and published in The Bulletin of the European Association for Theoretical Computer Science. Both digital and analog hardware implementations of bead sort can achieve a sorting time of O(n); however, the implementation of this algorithm tends to be significantly slower in software and can only be used to sort lists of positive integers. Also, it would seem that even in the best case, the algorithm requires O(n2) space.
Discussed on
- "Bead sort: faster than O(N log N) sort" | 2009-06-22 | 27 Upvotes 19 Comments
π Circle-Ellipse Problem
The circleβellipse problem in software development (sometimes called the squareβrectangle problem) illustrates several pitfalls which can arise when using subtype polymorphism in object modelling. The issues are most commonly encountered when using object-oriented programming (OOP). By definition, this problem is a violation of the Liskov substitution principle, one of the SOLID principles.
The problem concerns which subtyping or inheritance relationship should exist between classes which represent circles and ellipses (or, similarly, squares and rectangles). More generally, the problem illustrates the difficulties which can occur when a base class contains methods which mutate an object in a manner which may invalidate a (stronger) invariant found in a derived class, causing the Liskov substitution principle to be violated.
The existence of the circleβellipse problem is sometimes used to criticize object-oriented programming. It may also imply that hierarchical taxonomies are difficult to make universal, implying that situational classification systems may be more practical.
Discussed on
- "Circle-Ellipse Problem" | 2011-04-17 | 21 Upvotes 20 Comments
π Lucid programming language
Lucid is a dataflow programming language designed to experiment with non-von Neumann programming models. It was designed by Bill Wadge and Ed Ashcroft and described in the 1985 book Lucid, the Dataflow Programming Language.
pLucid was the first interpreter for Lucid.
Discussed on
- "Lucid programming language" | 2009-10-25 | 33 Upvotes 8 Comments
π SCOOP: Simple Concurrent Object Oriented Programming
SCOOP (Simple Concurrent Object Oriented Programming) is a concurrency model designed for the Eiffel programming language, conceived by Eiffel's creator and designer, Bertrand Meyer.
SCOOP defines a way for an object oriented program to be written without the concept of threads, locks, or other typical multiprogramming methods. This allows the compiler or runtime environment to optimize the amount of concurrency as well as eliminate typical design flaws such as deadlock.
The model was first designed in the early 1990s and published in 1993 in the Communications of the ACM An updated version was described in chapter 30 of the book Object-Oriented Software Construction. A prototype implementation was developed in 1995 by Eiffel Software. An article by Compton and Walker provides an overview of SCOOP and describes another early implementation. Nienaltowski, Arslan and Meyer have published a description of the model as of 2003. Work on SCOOP proceeded at the Chair of Software Engineering at ETH Zurich. SCOOP became available as a standard part of EiffelStudio early in 2011.
π Effective Accelerationism
Effective accelerationism, often abbreviated as "e/acc", is a 21st-century philosophical movement advocating an explicit pro-technology stance. Its proponents believe that artificial intelligence-driven progress is a great social equalizer which should be pushed forward. They see themselves as a counterweight to the cautious view that AI is highly unpredictable and needs to be regulated, often giving their opponents the derogatory labels of "doomers" or "decels" (short for deceleration).
Central to effective accelerationism is the belief that propelling technological progress at any cost is the only ethically justifiable course of action. The movement carries utopian undertones and argues that humans need to develop and build faster to ensure their survival and propagate consciousness throughout the universe.
Although effective accelerationism has been described as a fringe movement, it has gained mainstream visibility. A number of high-profile Silicon Valley figures, including investors Marc Andreessen and Garry Tan, explicitly endorsed the movement by adding "e/acc" to their public social media profiles. Yann LeCun and Andrew Ng are seen as further supporters, as they have argued for less restrictive AI regulation.
Discussed on
- "Effective Accelerationism" | 2024-01-08 | 21 Upvotes 20 Comments