News for hackers. Stuff that matters.
Re:Concepts in Programming Languages by akg on Tuesday December 27, 2011 @02:24AM (#3395083)
Has anyone looked at How to Design Programs? http://www.htdp.org/

It seems to steer away from PL details and focus more on how to design programs and think about programming.

Re:Concepts in Programming Languages by daviddaviddavid on Monday December 26, 2011 @08:08PM (#3394413)
No logic programming?

I'll add Robert Kowalski's "Predicate Logic as Programming Language" to the reading list.

Re:Concepts in Programming Languages by shaunxcode on Monday December 26, 2011 @08:14PM (#3394435)
the ommision of APL makes me sad.
Re:Concepts in Programming Languages by bitcracker on Tuesday December 27, 2011 @04:42AM (#3395283)
Yes, APL is an excellent language but suitable for prototyping only (imho). Here a sample for Conways game of life in APL:

http://uk.youtube.com/watch?v=a9xAKttWgP4&fmt=18

Re:Concepts in Programming Languages by LearnYouALisp on Monday December 26, 2011 @11:33PM (#3394826)
Something something subset Lisp.
Re:Concepts in Programming Languages by shaunxcode on Tuesday December 27, 2011 @01:32PM (#3396743)
I like the cut of your jib, however: I believe APL actually exposes you to an even higher(est) order of abstraction which makes you truly confront the meat of the problem space/algorithm v.s. allowing for a few sessions of syntax abstraction before you get down to business. Believe me I LOVE lisp, but I also recognize that many times I enjoy it because it allows me to create these amazingly succinct domain specific languages before ever "getting to work". When I attempt to write/think something in APL I find myself actually just pondering the problem. It was the language in which I realized math was my true (and neglected) love.

Also: http://archive.vector.org.uk/art10500180 - great article on array languages for lisp programmers.

Re:Concepts in Programming Languages by LearnYouALisp on Tuesday December 27, 2011 @04:20PM (#3397476)
Thank you for explaining the conceptual framework APL provides. My comment was merely poking a little fun at the kind of comments we sometimes see when people are trying to the tell the virtues of Lisp. I could not say much about APL but did want to find out if it really gives you a new way of thinking.
Re:Concepts in Programming Languages by c3d on Tuesday December 27, 2011 @12:50PM (#3396571)
A general approach to concepts in programming languages is called, obviously enough, concept programming. See http://xlr.sourceforge.net/Concept%20Programming%20Presentat... or http://en.wikipedia.org/wiki/Concept_programming for more info.
Re:Concepts in Programming Languages by dpkendal on Monday December 26, 2011 @07:28PM (#3394322)
If Cambridge made a textbook of this, and did it right, it could be a very effective replacement for the great, but ageing, SICP.
Re:Concepts in Programming Languages by RodgerTheGreat on Monday December 26, 2011 @08:05PM (#3394402)
I think if you're looking for a replacement for SICP that covers a broad spectrum of language paradigms, (in particular paradigms beyond just imperative vs. functional) a good choice might be Concepts, Techniques and Models of Computer Programming, which uses the Oz programming language.
Re:Concepts in Programming Languages by extension on Monday December 26, 2011 @07:34PM (#3394336)
Might be a bit ambitious covering Fortran, Lisp, C, Smalltalk, Scala, and more in an intro to programming course. This looks more like a history and comparison of languages.
Re:Concepts in Programming Languages by dpkendal on Monday December 26, 2011 @07:44PM (#3394355)
To an extent, you're right. But SICP already covers most of the concepts of these languages -- it just chooses to cover them all in Scheme, with a functional bias. I don't see why differing syntax should affect the teaching of the concepts, as long as focus is maintained on one language when it comes to actual programming. That said, this course as it is does teach too broadly to be an effective intro to CS.
Re:Concepts in Programming Languages by motxilo on Tuesday December 27, 2011 @04:26AM (#3395256)
It is not just a difference in syntax, it is about the core. While all those programming languages are great in their respective areas, Scheme is directly based on the lambda calculus and as such it defines a minimal amount of primitives/constructions, on top of which you can build almost any other concept from scratch. This is great for a person learning the ropes.
Re:Concepts in Programming Languages by daviddaviddavid on Monday December 26, 2011 @08:06PM (#3394408)
There are plenty of good PL books. The main text for the course in question is Scott's "Programming Language Pragmatics", which is excellent.
Re:Concepts in Programming Languages by klt0825 on Monday December 26, 2011 @08:27PM (#3394460)
We used Concepts of Programming Languages (http://www.pearsonhighered.com/educator/product/Concepts-of-...) in my undergraduate Comparative Languages course which was very good and seems to cover much of the same material as the course.

I sadly lost the book when I moved but I remember loving both the book and the course and learning a ton thanks to seeing a number of different language types side by side. I have fond memories of trying to wrap my mind around Prolog the first time I saw it.

Re:Concepts in Programming Languages by verroq on Monday December 26, 2011 @10:07PM (#3394656)
How can Scala be state of the art when it is so bad. They probably meant to say newest, in which case I nominate Dart to take Scala's place.
Re:Concepts in Programming Languages by oacgnol on Tuesday December 27, 2011 @12:49AM (#3394950)
Perhaps it's not Scala but the paradigms that define it that are "state of the art". Multiple paradigms like functional programming, OOP, and other nice syntactical things make Scala very much a language of the future, even if its current implementation is poor. It's a marker to where we may be headed in language development.
Re:Concepts in Programming Languages by jedws on Wednesday December 28, 2011 @09:24PM (#3402298)
The presentation is worth reading. Scala is an awesome language whose main disadvantage is that it is a language for smart people.

http://www.paulgraham.com/vanlfsp.html

Re:Concepts in Programming Languages by theatrus2 on Tuesday December 27, 2011 @12:31AM (#3394933)
State of the art doesn't mean good implementation of state of the art. I personally wouldn't call Scala bad either, but that's another discussion.