Arc Programming Language

The history of Arc begins with the programming language of Lisp. Lisp was made in the 1950s by John McCarthy while at the Massachusetts Institute of Technology(MIT). “As part of an artificial intelligence project, he needed a programming language that could process lists of data. Sentences structured formally would represent information about the world. The computer would navigate and process lists of sentences to mimic human reasoning, for example, the ability to answer a question by comparing possible sentences organized into lists.” This project helped birth the new language of Lisp. Lisp has paved the way for many different dialects of programming languages.

Arc was later announced to be a new programming language in 2001 by a man named Paul Graham. Paul Graham wrote many articles talking about what he wanted and what he expected from this upcoming language. He claims that Arc should be hackable for anyone to use and also says, “It would not be far from the truth to say that a hacker about to write a program decides what language to use, at least subconsciously, based on the total number of characters he’ll have to type. If this isn’t precisely how hackers think, a language designer will do well to act as if it were.” Paul Graham believes that Lisp had a simple way of working and being figured out. Paul also wants his Arc to be the same. “Graham thinks object-orientation is not useful, as OO methods and patterns are just ‘good design.’ He sees language features used to implement OO as partially mistaken.” Paul Graham carefully decides and puts lots of time and effort into mapping out his new programming language.

Programming has been around for many years. It allows programmers to imagine and bring forth their goals and dreams in the form of technology. Arc is one of these methods that programmers use to bring forth their dreams. Arc is an unrecognized and an underappreciated language these days. Arc has helped many people with coding and programming. More programmers should be aware, and they should take advantage of a great programming language such as Arc.

One platform that Arc can run on perfectly is IA-32. IA-32 is short for Intel Architecture, 32-bit. This is a 32-bit version of the x86 instruction set architecture. The instruction set architecture is basically an abstract model of a computer. This was made and developed by Intel and was built into a certain microprocessor in 1985. “The primary defining characteristic of IA-32 is the availability of 32-bit general-purpose processor registers (for example, EAX and EBX), 32-bit integer arithmetic and logical operations, 32-bit offsets within a segment in protected mode, and the translation of segmented addresses to 32-bit linear addresses. The designers took the opportunity to make other improvements as well.” The designers had made various improvements. Improvements include 32-bit integer capability, more general addressing notes, additional segment registers, larger virtual address space, and demand paging.

Arc also has another platform that it is used on. This platform is called x86–64. x86–64 is the 64-bit version of the x86 instruction set. This platform was released in 1999. This platform has various upgrades and better features to it than the previous version of the 32-bit. It’s much better, for reasons including larger amounts of virtual memory and physical memory. It already upscales the 32-bit version. “The compatibility mode defined in the architecture allows 16- and 32-bit user applications to run unmodified, coexisting with 64-bit applications if the 64-bit operating system supports them. As the full x86 16-bit and 32-bit instruction sets remain implemented in hardware without any intervening emulation, these older executables can run with little or no performance penalty. At the same time, newer or modified applications can take advantage of new features of the processor design to achieve performance improvements. Also, a processor supporting x86–64 still powers on in real mode for full backward compatibility with the 8086, as x86 processors supporting protected mode have done since the 80286.” The 64-bit version also has special features that are different from the 32-bit version. These features include; 64-bit integer capability, additional XXM, larger virtual address space, larger physical address space, larger physical address space in legacy mode, instruction pointer relative data access, SSE instructions, no-execute bit, and removal of older features. x86–64 is overall a better platform to use Arc on than the 32-bit version of IA-32.

Arc has many different users, and each of those users uses Arc for a reason. One of those reasons includes the benefits they gain from using this programming language. One benefit of this programming language is the variety of uses that the Arc language is capable of. “In the essay Being Popular Graham describes a few of his goals for the language. While many of the goals are very general (“Arc should be hackable,” “there should be good libraries”), he did give some specifics. For example, he believes it important for a language to be terse: It would not be far from the truth to say that a hacker about to write a program decides what language to use, at least subconsciously, based on the total number of characters he’ll have to type. If this isn’t precisely how hackers think, a language designer will do well to act as if it were.” Arc is a programming language that the owner even invites hackers to use. This shows how everyone is invited to use this language. Thus, being a benefit.

Arc has a lot of other benefits than just the variety of uses. Another benefit of using the programming language Arc is its simplicity. The creator of the programming language, Paul Graham, wanted Arc to be simple, easy to design, and easy to use. “He also stated that it is better for a language only to implement a small number of axioms, even when that means the language may not have features that large organizations want, such as object orientation (OO). Further, Graham thinks that OO is not useful as its methods and patterns are just “good design,” He views the language features used to implement OO as partly mistaken. At Arc’s introduction in 2008, Graham stated one of its benefits was its brevity.” Axioms are a math concept for logic. An axiom is the starting point for logical reasoning. Arc uses the simplicity of the programming language to engage more users and help them see the benefits of using Arc.

Arc, unfortunately, was not very well known and was not often used by programmers. Arc is already a branch language, so it wasn’t well known. The language that it branched off, “Lisp,” had been used way more than Arc. Arc was developed in 2008. Arc’s decline was most likely due to the developments and release of new programming languages such as python, which has gained a massive amount of popularity during the release time of the programming language Arc. Even with a smaller user base, Arc lives on today and is constantly being worked on in its open-source by users who are passionate about the language. One of Arc’s more current open-source modification versions is known as Anarki and is often worked on seemingly regularly by a small group of 40 contributors. Unfortunately, the Ark hasn’t been “officially” updated. However, this was one of the visions the creator had in mind while designing this coding language.

Arc has many similarities to other programming languages when it comes to coding. For example, in python, if you want to print Hello world, then you would write print(‘Hello world’). In Arc, it is very similar. In Arc, if you wanted to print hello world, then you would write (prn “Hello world”). However, just like how Arc has its similarities, it also has its differences between different programming languages. For example, the word “Foo” is used a lot within the coding of Arc. Foo is basically a value of a placeholder that can change. This is not used in very many other coding languages out there. Arc has many different similarities and differences between other programming languages. Thus, making it very unique.

Programming languages are imperative to users all over the globe. Much better-known languages such as Python, JavaScript, and C++ are the backbone of websites, games, and other tools and applications, making what we use day-to-day spring to life. Other languages such as Arc are less well known but still hold just as much importance to users within their communities. That’s why modifications such as Anarki are still contributed today. Arc is a great language that should be used much more often.

Seattle Website Developer