Software Engineering discussion

15 views
Masterminds of Programming > Languages not Covered in the Book

Comments Showing 1-12 of 12 (12 new)    post a comment »
dateUp arrow    newest »

message 1: by [deleted user] (new)

Here is a spot to discuss languages not mentioned in the book. I am going to try to move Steph's interesting Prolog comments here, but I don't think there is a "move" operation.


message 2: by [deleted user] (new)

I used Prolog when it first came out from Borland, but quickly lost interest... not because it wasn't interesting, but I couldn't think of interesting apps that would best leverage it.

What kinds of apps did you write with Prolog?


message 3: by [deleted user] (new)

From Steph, moved here:

Brad wrote: "I used Prolog when it first came out from Borland, but quickly lost interest... not because it wasn't interesting, but I couldn't think of interesting apps that would best leverage it.

What kinds ..."

I created a form-based comment application for bad-boy loans I monitored. it was a single-user app with comments made by others typed into the program by a secretary. A printed report was then passed aound to everyone.

I went on to experiment with searching and sorting routines - by volume and speed. I then created an Idea Generating Program for personal use.

My piece de resistance is (present tense) a credit scoring system for a commercial mortgage loan portfolio. It is a backward-chaining rule-based inference engine. I created the engine from the ground up so it has an interface "only a mother could love." But it works! I save about two weeks or 80 hours of time each year over the paper-based method I used for years.


message 4: by [deleted user] (new)

Here is a list of 2500 languages:

http://people.ku.edu/~nkinners/LangLi...

And here is the ACM Hello World project:

http://www2.latech.edu/~acm/HelloWorl...

And here is a timeline showing how languages influenced other languages

http://www.levenez.com/lang/


message 5: by Nathan (new)

Nathan (nselander) | 6 comments I would have liked to have seen a chapter on Ruby. I'm primarily familiar with it through Ruby on Rails, a web application framework. I'm not sure how popular it is outside of that domain.

It's a dynamic language that emphasizes the programmer over the system, so while the results might not be as efficient, it is fun to program in.

In Ruby, everything is an object, so something like "this is a string".length will return the length of the string.


message 6: by [deleted user] (new)

Steph recommended "Seven Languages in Seven Weeks" by Bruce Tate. It isn't out yet, but keep it in mind when I ask for a vote in a few weeks on our next selection. It might be a way to address Ruby and Prolog (and others). Here are the seven:

Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell


message 7: by Erik (new)

Erik | 165 comments LINQ gets a brief mention in the video from the Haskel chapter. They mention is as a language move towards being safe. I've used LINQ, but I didn't know it was "safer" or a stand alone language.

I used it as a part of C#. I would have described LINQ as C# syntax to declare data bindings used to interface with a database. The thing I like about it is the intellisense that it provides in the Microsoft IDE. The thing I don't like about it is that it feels like you write many lines of code for zero functional gain. The intellisense is convenient, but not necessary. I'm guessing the real value add is in the security advantages from LINQ.


message 8: by Steph (new)

Steph (spthomp) | 20 comments A fundamental aspect of programming languages I would like to explore is the underlying structures or building blocks used to construct various languages. In short how and why do certain languages "carve-up" information-space in the form of their underlying principles, data structures, and processing behaviors.

* What are the underlying principles of OO vs functional vs declarative vs procedural languages.
* What are the problems each tries to solve and why do it in the manner that they do?
* What are the characteristics of each and under what circumstances should I choose one over another to create an application?

Here is a description of a book that purports to discuss such questions:

*********
"The book presents a set of tools ( a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming state control data), static semantics (types, type reconstruction, polymorphism, effects) and pragmatics (compilation, garbage collection)."
*********

The book that purports to accomplish all this is "Design Concepts in Programming Languages" by Turbak, Gifford, and Sheldon by MIT Press.

The specific book is unimportant. It would be nice to have at least a working knowledge of these concepts and how they are implemented in various languages. I have seen a web-site that shows various programming examples implemented in many different languages. I can't recall the site off-hand.

...So many many places in information-space to explore and so little time...


message 9: by Tom (new)

Tom Sturm | 2 comments The odd thing about many "theoretical" discussions of programming languages - as well as programming languages that have a "great theory" behind them - is that they tend to not do input/output very well. Think of how bad I/O was in Algol (or even Pascal). Think of how bad scanf is at end-user input. Commercially successful programming languages have the I/O figured out.


message 10: by [deleted user] (new)

Agreed, and I/O now means GUI, network, persistence, transactions, etc. That's a lot of stuff for anyone, especially academics, to flesh out.


message 11: by [deleted user] (new)

This site tracks language usage and trends, based on mentions on the web. Objective-C broke into the top 10, with a huge growth rate. C moved over Java to the number 1 spot several months ago.

http://www.tiobe.com/index.php/conten...


message 12: by elevel (new)

elevel | 4 comments Brad wrote: "This site tracks language usage and trends, based on mentions on the web. Objective-C broke into the top 10, with a huge growth rate. C moved over Java to the number 1 spot several months ago.

h..."


Great site. Some observations and questions:

** In the top ten language rankings, I wondered if Zipf's Law might apply. (http://en.wikipedia.org/wiki/Zipf%27s...). Based on some preliminary calculations using Excel - it seems that it does... except for Java. Java's % is about half of what Zipf would predict. Curious...

** The TIOBE Programming Community Index shows some turbulence around March, 2004. The FAQ's indicate this was due to Google changing their methodology - with a resultant decline in Java and C++. That is, these were overrepresented in TIOBE's rankings, vs. those of (apparently) dynamic languages. It would be interesting to follow this further: it's hard to believe that Sun/ATT were "salting" the search results, somehow.

** Could Apple's recent hostility to non-Apple API's in iPhone/iPad development somehow be responsible for Objective-C's jump in popularity?




back to top