10

The two most obvious characteristics of an assembly language are: It is specific to a particular CPU architecture. There is a one-to-one correspondence between assembly language commands and machine code instructions (once you strip out labels, assembler directives and code comments). By contrast, a high-level language will have the following ...


7

There are several things that are all called regular expressions. The answer to your question is different depending upon which thing you want to talk about. The three relevant distinctions for this question in my opinion are as follows: First The notion of regular languages and related things like recursive enumerability. Individual regular languages ...


5

The essential difference between assembly language and every other programming language is that assembly language specifies the sequence of instructions directly, whereas in any other language, the code has to be converted into a sequence of instructions, a process known as compilation or code generation. As a consequence, assembly language is architecture-...


3

No. In formal language theory, a language is just a set of strings, and it has nothing to do with programming. Note also that the things that programming languages such as Perl call "regular expressions" are more powerful than the regular expressions used in computer science and can define some non-regular languages.


3

Regular expressions are at the very core of computer science, conceptually and historically. Kleene's article in which he introduced them and proved them equal in power to finite automata is one of the foundational articles of computer science. It was the foundation of formal language theory, which was based on its results and its approach; it is an ...


3

In an assembly language, you specify the sequence of instructions of your code. In other languages that are compiled, you specify the effect of these instructions, not the instructions themselves. The compiler is free to use any instructions that seem useful, as long as they lead to the desired effect.


2

There has always been a very close connection between logic/mathematics and programming. Apart from the theory of data structures and algorithms, which provide a theoretical understanding of how to write good code, an important contribution of theory to everday programming is the invention of programming languages, basic computer architecture, and various ...


2

I read a quote by Bjarne Stroustrup which said that computer science was the study of computers in the same way astronomy is the study of telescopes. Computer science does indeed study coding in the abstract, particularly among the study of algorithms and data structures. Both of these fields are highly mathematical in nature, and seek to understand the ...


2

It makes sense to pay attention to formal grammars when talking about programming languages. Typical program in assembly language has very simple grammar, consisting mainly of following productions (I'm assuming maximum two operands here): Program = Instruction | Program Instruction Instruction = [Label ":"] Operation Operand [Operand] The grammar for ...


2

(Warning, this historical account of increasing abstraction and declarative programming may annoy, confuse, or upset you:) Hello, world! By far and large, programing languages happen on a continuum, with "pure" instances of languages being ideals. This is because there are a variety of platforms, architectures, and goals when writing software. Of course, ...


1

In computer science, "automaton" refers to some kind of finite state machine. This is a basic and fundamental model of computation, and automata are widely used in implementing simple electronic devices and in writing parsers, e.g., for programming languages.


1

Honestly, I don't think the "discovered" vs "invented" is a distinction that matters. If you want to get into that, fine, but it's a matter of philosophy, not science. To your main point, yes, regular languages are very much a part of computer science because, regardless of their history, they identify a class of computational problems and correspond to a ...


1

I'm not sure whether they have accepted meanings, but to the extent that they do, an "event" happens at an instantaneous point in time, as opposed to something ongoing. If I was reading something that used the word "mode", I probably wouldn't be sure what is meant by "mode" without looking at the context. I'm not sure whether you should expect precise, ...


1

In essence I would say that assembly languages are a set of instructions that are translated into opcodes; while any higher language is transformed (i.e. compiled) into a set of assembly instructions which in turn are translated.


1

There are loads of answers on this, but it can be confusing. I like to think of it this way, and maybe it helps?: Concurrent programming is code that does not care about the order of execution. Java is a poor language for concurrent programming, but there are libraries and frameworks to help. JavaScript is an excellent language for concurrent programming, ...


Only top voted, non community-wiki answers of a minimum length are eligible