Some for fun, some to prove existence or disprove a hypothesis, some to exercise their brains (traveling on the surface of a Klein bottle or in four-dimensional space), but hundreds of people have created “esoteric” programming languages. I've gone through about 150 of these languages ​​and I'll never be the same again.

“Argh!”, “Oof!”, “2-ill”, “Nhohnhehr”, “Noit o" mnain gelb”, “DZZZZ”, “Ypsilax”, “YABALL”, fuckfuck - these are spells, poetry is only names... under catom - code examples in the most eye-catching programming languages.

The rabbit hole is deep.

INTERCAL (Turing-complete)



Don Woods and Jim Lyon

One of the oldest esoteric programming languages. According to the creators, its name means “Compiler Language With No Pronounceable Acronym”. The language was created in 1972 by students Don Woods and James M. Lyon as a parody of existing languages programming and mental gymnastics.

Hello, world

Each program command can be given a probability with which it will be executed when the program starts. In addition, there are commands that block the execution of subsequent commands of a certain type or changes to variables.

Hello, world!

// “Hello World” by Stephen McGreal.
// Note that the views expressed in this source code do not necessarily coincide with those of the

Gr34t l33tN3$$?
M3h…
iT 41n"t s0 7rIckY.

L33t sP33k is U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh.
1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;p
w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD!!!
g4m3s wh3r3 u g3t to 5h00t ppl r 70tAl1_y w1cK1d!!!
I"M teh fr4GM4stEr aN I"lL t0t41_1Ly wIpE teh phr34k1ng fL00r ***j3d1 5tYlE*** wItH y0uR h1dE!!! L0L0L0L!
t3lEphR4gG1nG l4m3rs wit mY m8tes r34lLy k1kK$ A$$

L33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff lIkE n34t pR0gR4mm1nG lAnguidGe$…
s0m3tIm3$ teh l4nGu4gES l00k jUst l1k3 rE41_ 0neS 7o mAkE ppl Th1nk th3y"r3 ju$t n0rMal lEE7 5pEEk but th3y"re 5ecRetLy c0dE!!!
n080DY unDer5tAnD$ l33t SpEaK 4p4rT fr0m j3d1!!!
50mE kId 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E m0re lIkE y0d4!!! hE i5 teh u8ER!!!
1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE.
1t 3v3n MiTe jUs7 s4y “H3LL0 W0RLD!!!” u ju5t cAn"T gu3s5.
tH3r3"s n3v3r anY p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s whAt th1s 1s!!!

5uxX0r5!!!L0L0L0L0L!!!

ArnoldC

Terminator programming language.

Hello, world!

Which can be read by a person. In a generalized sense - any input data for the translator. Source broadcast in executable code entirely before running the program using a compiler or can be executed immediately using an interpreter.

Encyclopedic YouTube

    1 / 3

    ✪ Science show. Issue 33. Scientific film bloopers 2

    ✪ Programming Basics: Source Code

    ✪ Answers to questions 1: Source code

    Subtitles

Purpose

The source code is either used to produce object code or executed by an interpreter. Changes are made only to the original one, followed by re-conversion to the object one.

Another important purpose of source code is as a description of a program. Based on the text of the program, you can reconstruct the logic of its behavior. Comments are used to make source code easier to understand. There are also tools, allowing you to automatically receive documentation on the source code - the so-called. documentation generators.

In addition, the source code has many other uses. It can be used as a teaching tool; Beginning programmers may find it useful to examine existing source code to learn programming techniques and methodology. It is also used as a communication tool between experienced programmers due to its concise and unambiguous nature. Sharing Code management is often cited by developers as a contributing factor to improving the programmer experience.

Programmers often transfer source code (in modules, as is, or with adaptations) from one project to another, which is called code reuse.

Source code is a critical component for the process of porting software to other platforms. Without the source code of any piece of software, porting is either too difficult or completely impossible.

Organization

The source code of some part of the software (module, component) may consist of one or more files. Program code is not necessarily written in only one programming language. For example, often programs written in C language contain insertions of assembly language code for optimization reasons. It is also possible that some components or parts of a program are written in different languages, and then assembled into a single executable module using a technique known as library linking ( library linking).

Complex software when assembled, it requires the use of dozens or even hundreds of source code files. In such cases, to simplify the build, project files are usually used that contain a description of the dependencies between the source code files and describe the build process. These files may also contain options for the compiler and design environment. Can be used for different design environments different files project, and in some environments these files may be in text format, suitable for direct editing by the programmer using universal text editors, in other environments special formats are supported, and files are created and modified using special instrumental programs. Project files are usually included in the term "source code". Often, source code also means resource files containing various data, for example graphic images, needed to build the program.

To make it easier to work with source code and to allow a team of programmers to collaborate on code, version control systems are used.

Quality

Unlike humans, there is no “well-written” or “badly written” code for a computer. But how the code is written can greatly influence the software maintenance process. The quality of the source code can be judged by the following parameters:

  • code readability (including the presence

Purpose

The source code is either used to produce object code or executed by an interpreter. Changes are never made to object code, only to source code, and then converted back to object code.

Another important purpose of source code is as a description of a program. Based on the text of the program, you can reconstruct the logic of its behavior. Comments are used to make source code easier to understand. There are also tools that allow you to automatically obtain source code documentation - the so-called. documentation generators.

In addition, the source code has many other uses. It can be used as a teaching tool; Beginning programmers may find it useful to examine existing source code to learn programming techniques and methodology. It is also used as a communication tool between experienced programmers due to its concise and unambiguous nature. Code sharing among developers is often cited as a contributing factor to improving the programmer experience.

Programmers often move source code (in modules, as is, or with adaptations) from one project to another, which is called code reuse.

Source code is a critical component for the process of porting software to other platforms. Without the source code of any piece of software, porting is either too difficult or completely impossible.

Organization

The source code of some part of the software (module, component) may consist of one or more files. Program code is not necessarily written in only one programming language. For example, often programs written in C language, for optimization purposes, contain inserts of code in assembly language. It is also possible that some components or parts of a program are written in different languages, and then assembled into a single executable module using a technique known as library linking ( library linking).

Complex software requires dozens or even hundreds of source code files to be built. In such cases, to simplify the build, project files are usually used that contain a description of the dependencies between the source code files and describe the build process. These files may also contain options for the compiler and design environment. For different design environments, different project files can be used, and in some environments these files can be in a text format, suitable for direct editing by a programmer using universal text editors; in other environments, special formats are supported, and the creation and modification of files is carried out using special tools programs. Project files are usually included in the term "source code". The vast majority of modern language environments require the use of project files, regardless of the complexity of the other source code included in the project. Often, source code also refers to resource files containing various data, for example, graphic images needed to build a program.

To facilitate work with source code, for collaboration on code by a team of programmers, version control systems are used.

Quality

Unlike humans, there is no “well-written” or “badly written” code for a computer. But how the code is written can greatly influence the software maintenance process. The quality of the source code can be judged by the following parameters:

  • code readability (including the presence of comments to the code);
  • ease of support, testing, debugging and error correction, modification and porting;
  • economical use of resources - memory, processor, disk space;
  • absence of comments output by the compiler;
  • absence of “garbage” - unused variables, unreachable code blocks, unnecessary outdated comments, etc.;
  • adequate error handling;
  • portability - the ability to use a handler (compiler, interpreter, translator) different versions, or even different OS;
  • possibility of interface internationalization.

Non-executable source code

Copyleft licenses for free software require distribution of the source code. These licenses are also often used for works that are not software - for example, documentation, images, data files for computer games.

In such cases, the source code is considered to be the form of the work that is preferred for editing. In licenses other than software, it may also be referred to as the "transparent format" version. This could be, for example:

  • for a file compressed with loss of data - the lossless version;
  • for rendering a vector image or a three-dimensional model - respectively, the vector version and the model;
  • for a text image - the same text in text format;
  • for music - a file in the internal format of the music editor;
  • and finally, the file itself, if it satisfies the specified conditions, or if a more convenient version simply did not exist.

see also


Wikimedia Foundation. 2010.

See what “Source code” is in other dictionaries:

    Source materials of the film: negative, counterprint, control copy of the film, original magnetic phonograms of music dubbing, noise, video phonogram master, CD, etc. Synonyms: the text is either directly executed by the interpreter, or... ... Financial Dictionary

    Human written text computer program in any programming language Dictionary of business terms. Akademik.ru. 2001 ... Dictionary of business terms

    source- - Telecommunications topics, basic concepts EN source code... Technical Translator's Guide

    source- 3.1.13 source code: A computer program expressed in a human-readable form (programming language) that is translated into machine-readable form (object code) before it can be tested with... ... Dictionary-reference book of terms of normative and technical documentation

    source- source text language... Explanatory translation dictionary

    Source code: Source code is the human-written text of a computer program. Source code techno-thriller directed by Duncan Jones ... Wikipedia

    This term has other meanings, see source code. Source Code Source Code ... Wikipedia

    This article lacks links to sources of information. Information must be verifiable, otherwise it may be questioned and deleted. You can... Wikipedia

    Open Source Initiative (OSI) logo Open source software is open source software. Source created programs open, that is, available for viewing and changing. This is... ... Wikipedia

    Source program (source code) - 48) original program(source code) a corresponding representation of one or more processes that can be converted by a programming system into a form executable by hardware (object code or object language) (Categories 6, 7 and 9); ... Official terminology

If you ask any firmware developer if they want access to the source code operating system real time it uses, the answer will almost certainly be - of course. The same is true with any purchased software. Is this a reasonable answer for all cases and why is the source code sometimes necessary and sometimes having it less useful than expected?

There are a number of key criteria that engineers use when choosing a real-time operating system (RTOS). Many of them - cost, functionality, licensing, support - are undoubtedly very important (especially cost - these are our realities). However, another criterion - availability of source code - may not be as important, but is always rated as a strong factor.

The availability of source code does not mean that it is automatically provided free of charge. This approach is only true for open source products; in other cases, manufacturers may charge for the source code or make it available upon request.

Hardware development. This also includes source code, which is especially true for development using VHDL and Verlog. How are things going here? Historically, when selecting an integrated circuit and designing its application, the engineer relied on specifications that specified functionality, pinout, power requirements, etc. And at the same time, no one expected to see the complete scheme internal structure IP, although they could often see block diagram(mainly as illustrative material that made it easier to understand the principles of operation), and sometimes even schematic diagram(for analog ICs like op-amps), although without ratings.
An engineer designing an ASIC or FPGA firmware today will likely use some pre-built IP blocks - a pre-packaged block that provides specific functionality. However, the choice will be based on specifications, and it is not at all obvious that the original HDL for IP will be included in the package. This black box approach is well known in the hardware world.

Safety. Any technology that is included in a product must be selected with future capabilities in mind. technical support. For example, when selecting IP, you should avoid using unique products from a single manufacturer, which can mitigate problems with supply disruptions.
When using IP, be it hardware or supplied software, supply failures as such are unlikely to occur (except in the case of one-time licenses), but ongoing support must be present. Therefore, the question of whether your supplier will be in business for the entire life of your product is best asked before choosing a specific implementation.

If the source code for an IP is available, it makes it possible to resolve any (well, almost any) software problem, even if the vendor is no longer able to offer support. For this reason, many buyers of RTOS, etc. would like to have the source code on the shelf even if they never look at it, just in case.

Software Customization The main difference between embedded systems and desktops is the variability of the former. Most PCs are similar to many others and the only choice is between the execution environment: Windows, Mac, or Linux. Embedded systems, on the other hand, are incredibly variable - varying processors, memory configurations, and peripheral devices. As a result, IP software must be flexible so that it can be deployed on a variety of systems. Although many products such as RTOS are delivered in binary form - typically a library that is customized to a specific architecture - source code delivery requirements can incentivize vendors by eliminating the need to store and support multiple variations, since providing IP as source solves many of these issues. The user can build code for a specific processor, adapt it to the device's memory card, and add the necessary device extensions. In some cases, an IP block can be configured using conditional compilation - typically a header file is edited to define the configuration.

Certification. For some types of applications, such as military/aviation and medical, the firmware must be certified for safety and compliance with various standards. This process is complex and expensive and usually entails checking every line of code. Therefore, it is usually not possible to purchase "pre-certified" units of software since the entire application is subject to review. Thus, a mission-critical application developer will likely look for an IP that is available with the source code so that full check could have been carried out.

What is Source Code?
The question may seem strange, but without an answer, discussing any aspects of its presence (or absence) turns into a somewhat strange exercise. The answer may seem obvious: the source code of some program is a set of files containing instructions in the language high level or assembly language that can be compiled and assembled into functioning binary instructions. Immediately the question is - are the programs necessary for the transformation process and the execution environment for them part of the source code (in binary form)? Nevertheless, this definition meets at least 3 forms in which “source code” can be supplied (for example, let's talk about the C language) in order of deteriorating quality:
1) Really source code, with a good layout, clear variable naming conventions and well commented (provided that the IP developer has one, which is completely optional).
2) Lines of code that will compile successfully BUT without comments or particularly meaningful identifier names.
3) Lines of code after obstruction, which makes the code unreadable by humans, but acceptable to the compiler. This is done by replacing identifier names with meaningless ones and removing all comments and syntactically unnecessary spaces. Exists reverse process, but its results can hardly be called acceptable.
All these forms are used by software providers for the following purposes:
1) is what most buyers expect to receive and what many manufacturers actually provide. However, when making a purchasing decision, if you require source code, it is important to ensure that this is the option; if in doubt, just ask for samples.
2) usually used when the seller wants to deliver the minimum required, which may be (only) good enough for certification.
3) is used to protect the contents of the IIP from prying eyes, which means that the software gets the benefit of configurability, but nothing more.

Disadvantages of the source code.
The biggest disadvantage of having the source code available: it's very tempting. Every developer wants to make their software as good as possible (well, there is such a point of view). So, for example, if the RTOS API does not work exactly to be optimal for the application, the availability of the source code provides an opportunity to change it.
While it may seem like a great thing to make an application optimal, there is a problem with long-term support. What if there is a problem with RTOS functionality? Supplier will not support the modified product. What to do if it comes out a new version RTOS? Including it in a redesign may require significant time for repeated modifications, especially if their author no longer works for you (well, either you made these modifications 3 years ago and of course, or, as they say, of course, you didn’t bother writing the appropriate documentation).

Having considered the situations in which source code may be desirable, useful, or necessary, the conclusion is that it is not absolutely and always required. If you are purchasing an IP from a large, well known and stable provider that can offer long term support, then having the source code is not relevant and may even be listed as a disadvantage.

Today, many companies, as well as individuals, feel the need to have their own website, which is why information on the topic of developing and promoting Internet projects is so in demand. Many people are interested in the question - how to create your own website, program code for which it is like a foundation for a house? Let's try to understand this issue by delving into the topic of web development.

A website is not just a collection of text, links, pictures and colorful banners, it is also a program code that runs on the user’s computer or on the server side. And if today almost anyone can create images of the required format in the required resolution and quality, using ready-made images from the Internet or any popular graphics editor, then create site code for a non-specialist it is fraught with considerable difficulties.

The quality of applications and the Internet project as a whole strongly depends on the skill of the programmer developing the site, the program code of which may contain errors that greatly affect the loading speed of web pages and many other aspects of the operation of the entire site, including those related to security. Therefore, detecting and eliminating errors in the code is a mandatory component when creating any website. It is best to entrust the development of a complex corporate website to specialists (if you are not one), because some errors are difficult to detect, and many of them can further lead to slower loading and incorrect display web pages in the browsers of Internet users' computers. Loading for too long can cause an outflow of visitors from the site and a decrease in the quality of traffic, which reduces the profit and efficiency of using commercial Internet projects.

HTML and CSS first

The basis of a web document is code written in HTML markup language. A markup language should not be confused with a programming language, and what the actual difference is is written in detail. In principle, using the set of commands that HTML offers to the site developer, you can set everything required parameters static web document - arrangement of elements (block layout), headings, paragraphs, tables, images, etc. And with using CSS, a special add-on for HTML, you can position all the listed markup objects, change their style - color, size, format, etc.

Then JavaScript

Interactive and animated elements, for example - banners, ticker, form feedback, on web pages work due to the presence of scripts and code written in server-side or client-side programming languages. Scripts developed using the JavaScript programming language are very popular. Such client scripts do not use the server's capabilities in their work and are executed on the side of the user's computer, that is, in the browser. This makes JavaScript applications simple and high speed work.

And finally PHP

When it is necessary to write complex and voluminous codes, for example for forums or guest books, programmers turn to server-side programming languages ​​for help, and in particular to . PHP codes are performed on the server side, so their work may be somewhat slower, since it depends on the connection speed with remote computer and the degree of its workload. WITH using PHP and SQL commands (a special query language for a relational database), you can organize the interaction of a site with databases and create interactive Internet projects - forums, online stores, message boards, various directories, etc.