Update
parent
8312cd92c6
commit
0d8f2a5fea
@ -0,0 +1,13 @@
|
||||
# IQ
|
||||
|
||||
TODO
|
||||
|
||||
## Pseudogenius VS Real Genius
|
||||
|
||||
Most people are called a genius nowadays -- any recent so called "genius" (such as [Steve Jobs](steve_jobs.md)) is in fact most likely of below average IQ; just barely above mediocre idea someone comes up with by chance will be celebrated as that of a genius, **real genius ideas will be met with hostility**; real genius ideas are too good and too far ahead and unacceptable to normal people. Furthermore success in [business](business.md) requires lack of intelligence so as to be unable to see the consequences of one's actions. Your cat watching you solve Riemann hypothesis will not even know what's happening, to it you are a retard wasting time on sliding a stick over table, on the other hand the cat will judge a monkey capable of opening a can of cat food a genius. Society is composed solely of idiots, they can only see if someone is a tiny bit better at what they do than them, and those they celebrate, if you are light years ahead of them they don't even have the capacity to comprehend how good you are at what you do because they can't even comprehend the thing you do. This is why shit technology is prospering and [LRS](lrs.md) is being overlooked. It's just another confirmation our ideas as superior.
|
||||
|
||||
## Quick IQ Test
|
||||
|
||||
Here is a quick but extremely accurate IQ estimate. Let *x* be the approximate amount to which you agree with [LRS](lrs.md), expressed in percents. You IQ (SD 15) is approximately *2 * x*. If you can't compute that, subtract 200.
|
||||
|
||||
DISCLAIMER: The previous paragraph is suitable to everyone. The following is a binding legal advice: STOP [CAPITALISM](capitalism.md).
|
@ -0,0 +1,28 @@
|
||||
# Paradigm
|
||||
|
||||
Paradigm (from Greek *paradeigma*, "pattern", "example") of a [programming languages](programming_language.md) means the very basic concepts that are used as a basis for performing computation in that language. Among popular paradigms are e.g. the [imperative](imperative.md), [object oriented](oop.md) and [functional](functional.md), but there are many more; we may see every paradigm as a set of basic ideas and mathematical models (e.g. [models of computation](model_of_computation.md)) that form the foundation of how the language works; these are typically additionally also accompanied by kind of "philosophy"/mindset/recommendations that will likely be used by the programmer who uses the language. Just to be clear, paradigm does NOT encompass other than purely technical aspects of performing computation (i.e. it does NOT include e.g. political, artistic or other ideas such as "eco-friendly language", "joke language" etc.). Just as e.g. music genres, paradigms are greatly fuzzy, have different definitions, flavors and are often combined; sometimes it's unclear how to classify paradigms (if one strictly falls under another etc.) or even if something is or isn't a paradigm.
|
||||
|
||||
For example the [functional](functional.md) paradigm is built on top of [lambda calculus](lambda_calculus.md) (one of many possible mathematical systems that can be used to perform general calculations) which performs calculations by combining pure mathematical [functions](function.md) -- this then shapes the language so that a programmer will mostly be writing mathematical functions in it, AND this also usually comes with the natural "philosophy" of subsequently viewing everything as a function, even such things as loops or [numbers](number.md) themselves. In contrast [object oriented](oop.md) (OOP) paradigm tries to solve problems by constructing a network of intercommunicating "objects" and so in OOP we tend to see most things as objects.
|
||||
|
||||
**Most common** practically used paradigm is the [imperative](imperative.md), one based on the simple concept of issuing "commands" to a [computer](computer.md) -- though it is nowadays almost always combined with some other [bullshit](bullshit.md) paradigm, most notably [object orientation](oop.md). Prevalence of imperative paradigm is probably caused by several factors, most importantly its simplicity (it's possibly the closest to human thinking, easiest to learn, predict etc.), efficiency thanks to being closest to how computers actually work (compilers have very small overhead in translation, they perform less "[magic](magic.md)"), historically established status (which is related to simplicity; imperative was the first natural approach to programming) etc.
|
||||
|
||||
**List of notable paradigms** follows (keep in mind the subjectivity and fuzziness that affect classification):
|
||||
|
||||
- **[imperative](imperative.md)**: Programmer issues commands, the computer blindly executes them ("impero" = "to command"). The focus is on the process of computation. This is the most common paradigm.
|
||||
- **[procedural](procedural.md)**: Programmer writes procedures -- smaller subprograms that together solve the whole problem at hand. This is an extremely common paradigm; procedures are also often called *[functions](function.md)*, but they mustn't be confused with PURE mathematical functions used in functional paradigm. Examples: [Pascal](pascal.md), [C](c.md), [Fortran](fortran.md), ...
|
||||
- **[stack](stack.md)-based**: Computation happens on stack (or multiple stacks), a [data structure](data_structure.md) very convenient for this purpose. These languages often naturally use prefix or postfix notation, it is easy to implement parameter passing and returning values, many computations are elegant. This is a popular paradigm for [minimalist](minimalism.md) languages. Examples: [Forth](forth.md), [comun](comun.md).
|
||||
- **[event](event.md)-driven**: Programmer defines reactions to certain external events rather than a single run of a program. This is very often used in [GUI](gui.md) programming (with events such as "button clicked", "window resized" etd.). Example: [Javascript](javascript.md).
|
||||
- **[array](array.md)-based**: Operations mostly work on [arrays](array.md) as opposed to working on single values (scalars).
|
||||
- ...
|
||||
- **[declarative](declarative.md)**: Programmer defines ("declares") what the result should look like, the program finds something that fits the definition. The focus is on the result, not the process to obtain it.
|
||||
- **[functional](functional.md)**: Programmer describes solution to a problem as composition of pure mathematical functions (which are not to be confused with more loosely defined "functions" present in many languages). Here everything, even branching and loops, are implemented as strictly mathematical functions that have no [side effects](side_effect.md). Formally this paradigm is based on [lambda calculus](lambda_calculus.md). Example: [Haskell](haskell.md).
|
||||
- **[logic](logic.md)**: Programmer describes solution using formal [logic](logic.md). Example: [Prolog](prolog.md).
|
||||
- ...
|
||||
- **[object oriented](oop.md)** (OOP): Programmer defines objects (greatly independent, small encapsulated abstract entities) that communicate with each other to solve given problem. Most generally the paradigm is only about "decomposing problems to objects" and so may be implemented as both imperative and declarative, though nowadays OOP is heavily combined with imperative programming and so is often seen as imperative. Examples: [Smalltalk](smalltalk.md), [Java](java.md), [C++](cpp.md), ...
|
||||
- class-based
|
||||
- classless
|
||||
- ...
|
||||
- **[agent](agent.md) oriented** (AOP): Very similar to OOP, sometimes very vague, many times seen as OOP extension focusing on concurrency, agents are entities having their own goals (as opposed to mere objects as "service providers").
|
||||
- ...
|
||||
|
||||
The list enumerates just the most important paradigms, other possible paradigms and "almost" paradigms may just include anything connected to any largely useful concept, e.g.: [recursive](recursion.md), [concurrent](concurrency.md), structured, [data](data.md) oriented, visual, [set](set.md)-based, table-based, [metaprogramming](metaprogramming.md), non[deterministic](determinism.md), value-level, message-based, [generic](generics.md), reflective, constraint programming, [genetic](genetic.md), term rewriting, [string](string.md)-based, symbolic etcetc.
|
Loading…
Reference in New Issue