5 languages without programmers
Programming languages that were not well developed were not successful. For what reason?
This is a question to ask yourself before creating a new language, because we see that several appear every year, but will they be accepted by programmers?
The following five languages all have interesting characteristics, high-level functions, clear syntax, unlike Perl or PHP. But, apparently, they lacked something to become popular.
Icon
The idea was to combine the pattern-match capabilities of SNOBOL with the structure of a universal language like ALGOL. Its syntax is close to Pascal and C, it has the simplicity of scripting languages, with generators, and other innovative functions at the time of its creation .
He wants to distinguish himself from the pseudorentual: if a, then b becomes like this: if a (we try action a), then b, (if this succeeds, we go to b, otherwise we will continue with the following instruction). We could do the same with the classic if.
Sample code:
procedure disp(s1)
while i: s1[i] do {
c = s1[i]
write(i)
}
end
s = "hello"
disp(s)
All this was not successful, few followers came to bow to the icon. This did not stop a group of academics from writing a subject-oriented version, Unicon. Unicon was not more successful, although new versions appear from year to year.
Oz
He wants magic, so mention of the wizard Oz. The competitor is built into the language with the word reserved thread, which opens the block for execution in competition with others.
It includes many paradigms, such as logical and functional programming and constraints associated with imperative code. Like Python, which appeared in the same year, it includes Tcl/Tk to build a GUI.
The basic syntax is clear, but you can easily come to cryptography, as can be seen from the Eratostenes verification algorithm written in this language:
fun {Sieve Xs}
case Xs of nil then nil
[] X|Xr then Ys in
thread Ys = {Filter Xr fun {$ Y} Y mod X \= 0 end} end
X|{Sieve Ys}
end
end
Its Mozart implementation runs on a virtual machine, which makes it rather slow, its main drawback.
In 1991, this very complete language was retained until 2008, but the magic did not work, so the section was closed.
Pike
This version of C makes it a modern language endowed with an object orientation without the complexity of C++. He has a collection garage. As such, it offers the usual syntax without the drawbacks of C, such as manual memory management.
But he has a flaw in interpretation. Even enlarged objects, if you no longer have access to function libraries composed of C, you lose your original interest in this language: portability.
Class at Pike:
class Car
{
inherit Vehicle;
int speed;
void setSpeed(int s)
{
speed = s;
}
}
Appeared in 1994, still preserved. Pike means pike in English, it is the logo of the language, but few programmers have put this fish on a plate.
Seed 7
This is a higher level of language than Java. It supports multiple dispatches and is object-oriented. It is also extensible: the programmer can develop the language himself and add new commands .
An example showing an advanced control structure...
for a, b
where a.name = b.name do
writeln( a <& " et " <& b <& " sont le même objet");
end for;
But woo could be replaced with if .
Wanting to prove himself stricter, he suppresses the break and continues to be considered hidden gotos. In my experience, that should not be enough .
Appeared in 2005, updated to today. Seed means seed, however, it has not sprouted, few programmers have come to water it.
Euphoria
Designed in euphoria, it obviously wants to be simple and makes programming easier. From the very beginning, BASIC programmers liked it. It has dynamic variables such as Python, is also interpreted or compiled, has a collecting garbag, and runs on Linux, Mac, and Windows. It has the interface of several GUI libraries and databases. In addition, it has a strange appearance, atom and sequence, the advantages of which are not noticeable.
function disp(atom str)
for i = 1 to str.length
puts(str[i])
end for
end function
atom str="hello"
disp(str)
It was developed from 1993 to 2010 before euphoria turned to boredom, due to the lack of followers to participate in the party.
There are several lessons from this...
Each of these languages introduces features to the types or syntax. But you should not change what programmers are used to simply because it looks better: you need to have a real practical advantage.
We have to create language not just to be different, but to bring something more. Thus, Nicklaus Wirth did not create Pascal to have his own language, he first proposed a modified version of ALGOL to correct the flaws. And since ALGOL W was ignored by the profession, then he created language that completely overshadowed ALGOL, which proves the correctness of his ideas.
Some ideas seem interesting on paper, but once they are put into practice, it will look smaller. For example, make an extensible language. Code reuse becomes difficult if each program has its own instruction types!
Another lesson is that to become popular, a language needs, first of all, a wide library of functions. For example, Python, created in 1991, although very easy to find, became widespread only in 2001, once endowed with all useful functions in all areas. Julia as Oz offers many opportunities, but he becomes popular thanks to his scientific libraries. PHP and Perl, both of more than dubious construction, are widely used because the language in reality is an API.
Therefore, it makes no sense to create a new language with such simple code that you can write 10 times faster, new data structures and opportunities for simple conversion of reality into code. If there are no all the functions that programmers need to execute their applications and which actually allow you to execute the program 1000 times faster .
After all, if you want to create a new language, you have to make sure of two things:
- It provides unique functionality in an area that makes it indispensable. From
- the very beginning, you can access a wide library of functions, which allows you to implement applications that can be used in production.
- It doesn't have to have an "app killer," but if someone wants a new language to attract attention, they shouldn't be made public without an app that shows interest.
It doesn't need to be backed by a big brand, but without it it will take a few years before hoping for widespread adoption. The list of the most popular languages will confirm all this.