HOME
*





SBT (software)
sbt is an open-source build tool for Scala and Java projects, similar to Apache's Maven and Gradle. Its main features are: *Native support for compiling Scala code and integrating with many Scala test frameworks *Continuous compilation, testing, and deployment *Incremental testing and compilation, meaning only changed sources are re-compiled, only affected tests are re-run *Build descriptions written in Scala using a DSL *Dependency management using Coursier, which supports Maven-format repositories *Integration with the Scala REPL for rapid iteration and debugging *Support for mixed Scala/Java projects sbt is the ''de facto'' build tool in the Scala community, used, for example, by Play Framework. Lightbend Inc., which managed sbt development in past years, has called sbt "arguably the best tool for building Scala projects", saying that its two most prominent features are incremental compilation and an interactive shell. In continuous compilation mode, the Scala c ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Scala (programming Language)
Scala ( ) is a strong statically typed general-purpose programming language that supports both object-oriented programming and functional programming. Designed to be concise, many of Scala's design decisions are aimed to address criticisms of Java. Scala source code can be compiled to Java bytecode and run on a Java virtual machine (JVM). Scala can also be compiled to JavaScript to run in a browser, or directly to a native executable. On the JVM Scala provides language interoperability with Java so that libraries written in either language may be referenced directly in Scala or Java code. Like Java, Scala is object-oriented, and uses a syntax termed '' curly-brace'' which is similar to the language C. Since Scala 3, there is also an option to use the off-side rule (indenting) to structure blocks, and its use is advised. Martin Odersky has said that this turned out to be the most productive change introduced in Scala 3. Unlike Java, Scala has many features of functional pro ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


De Facto Standard
A ''de facto'' standard is a custom or convention that has achieved a dominant position by public acceptance or market forces (for example, by early entrance to the market). is a Latin phrase (literally " in fact"), here meaning "in practice but not necessarily ordained by law" or "in practice or actuality, but not officially established". The term ''de facto'' standard is used in contrast with standards defined by organizations or set out in law (also known as ''de jure'' standards), or to express the dominant voluntary standard when there is more than one standard available for the same use. In social sciences a voluntary standard that is also a ''de facto'' standard is a typical solution to a coordination problem. The choice of a ''de facto'' standard tends to be stable in situations in which all parties can realize mutual gains, but only by making mutually consistent decisions. In contrast, an enforced de jure standard is a solution to the prisoner's problem. Examples ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Java Development Tools
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's most populous island, home to approximately 56% of the Indonesian population. Indonesia's capital city, Jakarta, is on Java's northwestern coast. Many of the best known events in Indonesian history took place on Java. It was the centre of powerful Hindu-Buddhist empires, the Islamic sultanates, and the core of the colonial Dutch East Indies. Java was also the center of the Indonesian struggle for independence during the 1930s and 1940s. Java dominates Indonesia politically, economically and culturally. Four of Indonesia's eight UNESCO world heritage sites are located in Java: Ujung Kulon National Park, Borobudur Temple, Prambanan Temple, and Sangiran Early Man Site. Formed by volcanic eruptions due to geologic subduction of the Australian P ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Compiling Tools
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a low-level programming language (e.g. assembly language, object code, or machine code) to create an executable program. Compilers: Principles, Techniques, and Tools by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman - Second Edition, 2007 There are many different types of compilers which produce output in different useful forms. A ''cross-compiler'' produces code for a different CPU or operating system than the one on which the cross-compiler itself runs. A ''bootstrap compiler'' is often a temporary compiler, used for compiling a more permanent or better optimised compiler for a language. Related software include, a program that translates from a low-level language to a hi ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


List Of Build Automation Software
Build automation involves Scripting language, scripting or automating the process of Compiler, compiling computer source code into binary code. Below is a list of notable tools associated with automating build processes. Make-based * make (software)#Modern versions, GNU make, a make implementation with a large set of extensions * make (software), make, a Unix build tool * mk (software), mk, developed originally for Version 10 Unix and Plan 9 from Bell Labs, Plan 9, and ported to Unix as part of Plan 9 from User Space, plan9port * Macintosh Programmer's Workshop, MPW Make, developed for the classic Mac OS and similar to but not compatible with Unix make; the modern macOS (OS X) comes with both GNU make and BSD make; available as part of Macintosh Programmer's Workshop as a free, unsupported download from Apple * Make (software), nmake * PVCS-make, follows the concept of make but with additional syntax features Make-incompatible * Apache Ant, popular for Java (software platform), J ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Circular Dependency
In software engineering, a circular dependency is a relation between two or more modules which either directly or indirectly depend on each other to function properly. Such modules are also known as mutually recursive. Overview Circular dependencies are natural in many domain models where certain objects of the same domain depend on each other. However, in software design, circular dependencies between larger software modules are considered an anti-pattern because of their negative effects. Despite this, such circular (or cyclic) dependencies have been found to be widespread among the source files of real-world software. Mutually recursive modules are, however, somewhat common in functional programming, where inductive and recursive definitions are often encouraged. Problems Circular dependencies can cause many unwanted effects in software programs. Most problematic from a software design point of view is the ''tight coupling'' of the mutually dependent modules which reduces o ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of Debian (0.01) was released on September 15, 1993, and its first stable version (1.1) was released on June 17, 1996. The Debian Stable branch is the most popular edition for personal computers and servers. Debian is also the basis for many other distributions, most notably Ubuntu. Debian is one of the oldest operating systems based on the Linux kernel. The project is coordinated over the Internet by a team of volunteers guided by the Debian Project Leader and three foundational documents: the Debian Social Contract, the Debian Constitution, and the Debian Free Software Guidelines. New distributions are updated continually, and the next candidate is released after a time-based freeze. Since its founding, Debian has been developed openly a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Eating Your Own Dog Food
Eating your own dog food or "dogfooding" is the practice of using one's own products or services. This can be a way for an organization to test its products in real-world usage using product management techniques. Hence dogfooding can act as quality control, and eventually a kind of testimonial advertising. Once in the market, dogfooding can demonstrate developers' confidence in their own products. Origin of the term In 2006, the editor of '' IEEE Software'' recounted that in the 1970s television advertisements for Alpo dog food, Lorne Greene pointed out that he fed Alpo to his own dogs. Another possible origin he remembers is from the president of Kal Kan Pet Food, who was said to eat a can of his dog food at shareholders' meetings. In 1988, Microsoft manager Paul Maritz sent Brian Valentine, test manager for Microsoft LAN Manager, an email titled "Eating our own Dogfood", challenging him to increase internal usage of the company's product. From there, the usage of the term sp ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Declarative Programming
In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that apply this style attempt to minimize or eliminate side effects by describing ''what'' the program must accomplish in terms of the problem domain, rather than describe ''how'' to accomplish it as a sequence of the programming language primitives (the ''how'' being left up to the language's implementation). This is in contrast with imperative programming, which implements algorithms in explicit steps. Declarative programming often considers programs as theories of a formal logic, and computations as deductions in that logic space. Declarative programming may greatly simplify writing parallel programs. Common declarative languages include those of database query languages (e.g., SQL, XQuery), regular expressions, logic programming, f ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Domain-specific Language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as HTML for web pages, down to languages used by only one or a few pieces of software, such as MUSH soft code. DSLs can be further subdivided by the kind of language, and include domain-specific ''markup'' languages, domain-specific ''modeling'' languages (more generally, specification languages), and domain-specific ''programming'' languages. Special-purpose computer languages have always existed in the computer age, but the term "domain-specific language" has become more popular due to the rise of domain-specific modeling. Simpler DSLs, particularly ones used by a single application, are sometimes informally called mini-languages. The line between general-purpose languages and do ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

IntelliJ IDEA
IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains (formerly known as IntelliJ) and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development. History The first version of IntelliJ IDEA was released in January 2001 and was one of the first available Java IDEs with advanced code navigation and code refactoring capabilities integrated. In 2009, JetBrains released the source code for IntelliJ IDEA under the open-source Apache License 2.0. JetBrains also began distributing a limited version of IntelliJ IDEA consisting of open-source features under the moniker Community Edition. The commercial Ultimate Edition provides additional features and remains available for a fee. In a 2010 ''InfoWorld'' report, IntelliJ received the highest test center ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Eclipse (software)
Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby (including Ruby on Rails framework), Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX (via a TeXlipse plug-in) and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others. The initial ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]