theory

Why can't a recursive-descent parser handle left recursion

Could someone please explain to me why recursive-descent parsers can't work with a grammar containing left recursion? ...

what is a programming language?

Hi Wikipedia says: A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that specify the behavior of a machine, to express algorithms precisely, or as a mode of human communic...

Should we care if a prospective hire understand Big O notation?

A colleague of mine caused a long e-mail conversation by saying: Of the probably 30+ people I’ve given a phone interview to, not a one (including people with Masters degrees in CS!!) has been able to tell me the big O of bubble sort- or any other sort for that matter, and maybe 2-3 seemed to have an clue what I was talking about. Am I ...

What are the best books for Programming Theory?

Related: http://stackoverflow.com/questions/537855/what-books-to-take-programming-beyond-the-basics-closed http://stackoverflow.com/questions/574001/what-books-do-you-suggest-for-understanding-object-oriented-programming-design-de http://stackoverflow.com/questions/13781/computer-science-textbooks I'm trying to build some...

Is there any programming language that accept this?

Suppose I have a class like this, in pseudo-code: public class someClass { public void doSomething() { someClass aux = new someClass(); // here something is done to alter the internal structures of aux . . this = aux; } } The attribution "this = aux", would return an error since it's no...

Are there any O(1/n) algorithms?

Are there any O(1/n) algorithms? Or anything else which is less than O(1)? ...

Are some Functional Programming languages syntactically geared for better performance?

I hear about the manifold increase in productivity, while using certain languages (RoR). I have also heard about some VMs being more optimal than others (GHC?). Yet others are trying to optimize their language of choice by improving the underlying architecture (Unladen Swallow) However, while reading a paper ("SSA is functional programm...

Caching Strategies with Paged/Filtered Data

Hi, I am currently thinking about Caching Strategies and more importantly avoiding any duplication of data inside the cache. My query is kind of language agnostic but very much programming related. My question is regarding the efficient caching of paged or filtered data but more than that, distributed caching. The latter I have decid...

In terms of programming, what do semantics mean?

This is a sentence from Eric Lippert's blog: Given that unfortunate situation, it makes sense to emphasize the storage mechanism first, and then the semantics second. It's easy to get a dictionary definition of what "semantic" means but what does it mean in terms of computer jargon? ...

Why do we care about data types?

Specifically, in relational database management systems, why do we need to know the data type of a column (more likely, the attribute of an object) at creation time? To me, data types feel like an optimization, because one data point can be implemented in any number of ways. Wouldn't it be better to assign semantic roles and constraints...

Why don't files and directories have separate namespaces?

Files and directories could have different namespaces, and still be used to identify specific files, because a file and directory with the same name can be distinguished by being different kinds of things. Primitive field and reference fields could also have different namespaces (in Java), because if a primitive and a reference field ha...

Any examples of production applications that use signature trees?

I've been reading a lot lately about signature trees, or S-Trees. For example, this paper. The literature speaks very highly of them, and evidence is provided for considerable performance gains over, for example, inverted files or B-Trees, for some applications. Now, why is it that I don't see S-Trees used very much? Do you know of any ...

When does Big-O notation fail?

What are some examples where Big-O notation[1] fails in practice? That is to say: when will the Big-O running time of algorithms predict algorithm A to be faster than algorithm B, yet in practice algorithm B is faster when you run it? Slightly broader: when do theoretical predictions about algorithm performance mismatch observed runnin...

Crash course in computer science

Hello everyone, I'm a software engineer who has followed a non-traditional path into the industry. I got my Ph.D. in a non-compsci field, however it involved a lot of computation and programming. I understand the basics - OOP, inheritance, recursion, pointers, etc. just fine. However, not being from a comp-sci field, I don't know what I...

Are there any examples of Functional Relational Programming in the wild?

I've just finished reading a very interesting paper entitied "Out of the Tar Pit" which presents this idea of FRP as a way of reducing complexity in applications by minimizing state and control. Are there any examples of this idea out in the wild? Is anybody making use of these ideas? Is there any work being done in this area? Edit: FRP...

What is transaction?

Well could someone provide a really simple (but not simpler than possible) explanation of transaction as applied to computing (even if copied from Wikipedia)? ...

Are tag (or "marker") interfaces obsolete?

I'm trying to help a coworker come to terms with OO, and I'm finding that for some cases, it's hard to find solid real-world examples for the concept of a tag (or marker) interface. (An interface that contains no methods; it is used as a tag or marker or label only). While it really shouldn't matter for the sakes of our discussions, we'...

Relational database theory and SQL book recommendations?

I'm looking for a book which combines relational database theory, design and SQL techniques in a generic sense if possible. I have a feeling this is a big ask, and if that's really not available then I don't mind having perhaps two separate specialist books (one for RDBMS theory and one for SQL techniques). Any recommendations? ...

Actor Model advantages to shared state

I'm reading about the Actor Model for a presentation and everyone claimes that it is superior to shared state parallel programming because it avoids many pitfalls like deadlocks and race conditions. I'm asking myself what the specifics of this claims are. If it avoids these problems, how does it do it? ...

How should Chomsky's Hierarchy and Turing Machines influence language design?

I'm currently studying for a discrete mathematics test in which we are learning Chomsky's hierarchy and the type of automatas that recognize each level of the hierarchy. I'm being taught that most computer languages fall within "level 2 and 1" of the hierarchy, but not precisely how. My questions are: What features belong to each lev...