Reddit Reddit reviews Programming Language Pragmatics

We found 12 Reddit comments about Programming Language Pragmatics. Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Science
Programming Language Pragmatics
NewMint ConditionDispatch same day for order received before 12 noonGuaranteed packagingNo quibbles returns
Check price on Amazon

12 Reddit comments about Programming Language Pragmatics:

u/jimsyhadron · 7 pointsr/Compilers

I've been following my own journey upgrading my knowledge of language design over the last ten years or so. Some resources I highly recommend:

​

u/jms_nh · 6 pointsr/programming

I really like Michael Scott's Programming Language Pragmatics. It's a good intro tour of parsing and programming languages, going deep enough to give you a flavor of what's out there.

I don't know enough about the subject to recommend an in-depth book.

u/somehokie · 5 pointsr/learnprogramming

> run much more efficiently than OOP code that gets passed around

How do you know? Did you profile it?

> bloated and slow

Again, have you profiled it? And bloated in which ways?

> "Oh, this could actually be done this way using functions, while remaining modular and portable, and it'll probably be faster / more space efficient due to this-and-that."

Give an example of a problem like this.

Also, you seem to be confusing code that is just functions, versus Functional Programming, which is a totally separate concept. If you are thinking about code in a language like C that is written with variables and functions only, then you are thinking of Imperative programming.

For a good overview of the different types of programming paradigms, I recommend this wiki page or this textbook, which I used the latter in a comparive languages course in university.

> I can't get past the fact that it's not the optimal way to go about certain things

It's good that you are thinking about your software's design, but often there is a trade-off between pure speed and optimizations versus easy to use. Just look at game engines like Unity for an example, that use a lot of C#/JS for scripting instead of everything being a compiled language.

That said, I can't think of many problems that the OOP method isn't the "most optimial" by a landslide that would cause avoidance.

> not feasible from a functional approach

If you mean an actual pure functional approach, then problems that hold state or cause side effects, like video games or simulations.

If you meant an imperative paradigm, then the answer is more difficult as imperative and OOP are very closely related. In fact, there are C libraries that "fake" the OOP method such as GObject. The advantage of the OOP model then comes from its ability to be expanded upon - instead of relying on function pointers for stateful structures, you have objects that have their own functions and members that can be inherited from to create derivative objects. Outside of the standard animal example, a more practical example is the StreamWriter in C#.

StreamWriter is a subtype of TextWriter in C#, designed around writing to streams of a particular encoding. It takes in a Stream object, which gives standard functions for interacting with a stream of data. The Stream type has subtypes, such as FileStream, which is a stream to a file. StreamWriter doesn't need to know anything about the type of Stream it is getting, only that it is a Stream, which FileStream is.

u/videoj · 5 pointsr/learnprogramming

Data structures and Algorithms Write code to impleement every (or even most) and you'll be well preparped.

Design and Testing here.

Programming Languages here.

Also look for an open source project that needs help and provides you with experience in one or more of these areas (or start your own). Code is always a good way of showing you know something.

u/SQLSavant · 3 pointsr/learnprogramming

/u/TruCult gave a wonderful answer and opinion piece - so I won't reiterate what he has to say.

However, I will add that if you have the extra cash laying around and want a general programming reference that you can compare different programming paradigms and concepts to as you learn multiple different programming languages, you'd be hard pressed to find a better book than Programming Language Pragmatics

It's something that can stay on your bookshelf well into your veteran/senior years as a developer.

u/[deleted] · 2 pointsr/programming

Thanks for your answers. Now, I have one last question: what do you think about Programming Language Pragmatics?

Link

Some people have said to me that it's a very good book on compiler implementation. Have you read it?

u/jasonwatkinspdx · 2 pointsr/AskComputerScience

It varies in industry. I think it's a great idea to have a general understanding of how processors execute out of order and speculate, how caches and the cache consistency protocols between cores work, and how the language implementation transforms and executes the source you write.

The Hennesy and Patterson book covers almost everything hardware wise. Skim the areas that seem interesting to you. For language internals I like Programming Language Pragmatics. Compared to other "compiler course" textbooks like the famous dragon book it's got a lot more of the real world engineering details. It does cover quite a bit of theory as well though, and is written in a really straightforward way.

Skimming these two books will give people a pretty accurate mental model of what's going on when code executes.

u/Sour_Tooth · 1 pointr/learnprogramming

Thanks for the response! I read some of the sample pages on Amazon, and the book looks great! I might get myself a copy. I also noticed that a newer, fourth edition of the book has been released. It is almost $40 more. Is there a large enough difference between the editions to justify the price?

u/Jeffan · 1 pointr/rutgers

Personally never used them but he recommended these two:
1, 2.

u/9us · 1 pointr/AskComputerScience

A good intro book might be Programming Language Pragmatics:

http://www.amazon.com/Programming-Language-Pragmatics-Third-Edition/dp/0123745144


A more theoretical treatment that builds a language from the lambda calculus can be found in Types and Programming Languages:

http://www.amazon.com/Types-Programming-Languages-Benjamin-Pierce/dp/0262162091


Lastly, I think Practical Foundations for Programming Languages strikes a nice balance between theory and practicality:

http://www.amazon.com/Practical-Foundations-Programming-Languages-Professor/dp/1107029570

I've read most of the last two books, and they're both excellent resources for learning how to think rigorously about programming languages. They're challenging reads, but you'll walk away with a higher understanding of programming language constructs as result. A draft version of the latter book can be found on the author's website, here.

u/FourWordUserName · 1 pointr/computerscience

Noam Chomsky hasn't done much for Computer Science lately. I believe he's primarily a political activist now, though I may be wrong.

Anyhow! My Theory of Computing course used Languages and Machines: An Introduction to the Theory of Computer Science. Another course used Programming Language Pragmatics.

The former focuses entirely on formal languages and machines. The latter focuses more on the specifics of programming languages (lexical analysis, syntax analysis (i.e., parsing), semantic analysis, etc).

I don't remember if either book properly introduces Kleene Algebra. Even if they don't introduce it, they certainly make use of it (especially Languages and Machines). In the event that it isn't introduced, try to educate yourself on the subject. Very interesting topic (and also the building blocks of regular expressions!).