Slashdot Mirror


What are the Next Programming Models?

jg21 writes "In this opinion piece, Simeon Simeonov contemplates what truly new programming models have emerged recently, and nominates two: RIAs and what he calls 'composite applications' (i.e. using Java, .NET or any other programming language). He notes that Microsoft will be trying to achieve RIAs in Avalon, but that it's late out of the gate. He also cites David Heinemeier Hansson's Ruby on Rails project as showing great promise. 'As both a technologist and an investor I'm excited about the future,' Simeonov concludes. It's a thoughtful piece, infectious in its quiet enthusiasm. But what new models are missing from his essay?"

8 of 540 comments (clear)

  1. Things will always change by bahwi · · Score: 4, Insightful

    Nothing is permanent. However, after so long you're gonna start getting rehashed methods. It's like a big circle everyone is running around in, looking for the absolute best. Yes, there are ones better than others, but there is no perfect one. Need OO for a simple 10 line php script? Hell no, unless you're relying on a lot of 3rd party libraries. Need Ruby on Rails for a statistics generator with no front end what so ever? Nope. It all changes, but there is some good stuff we take along the way. But I don't think we'll ever find something that is just "perfect", more of a never ending quest to find the better one, and to stay on top of all the ones from the past.

  2. Not truely new by Frans+Faase · · Score: 4, Insightful
    That a certain technology is a hype does not mean that it is new. These are not really new programming models. And whether we should be happy about them, I don't know, because they seem to make thing more complicated then they are already. I wonder how long it will take until we will see some programming models that are more specification oriented, then just being another type of implementation oriented way of programming.

    In a specification oriented programming model, you specify the behaviour, not all the million little steps that are needed to perform it. A specification oriented programming model is independent of the underlying techniques, such a networking protocols and marshalling techniques. I think such a specification oriented programming model should be data oriented, meaning that data is the starting point, not an event driven GUI front-end, as it is now with most programming models.

  3. Ye gads by hey! · · Score: 5, Insightful

    I won't discount the importance of Ajax and "RIAs" as a deployment model -- even as a kind of domain within in which system architectures could be grouped. But these aren't new programming models. We use the same old programming models to build new kinds of apps.

    Examples of Programming Models:
    0) Hardware based programming (plugboards etc)
    1) Stored program (program as data)
    2) Assembly programming
    3) High level language programming
    4) Structured
    5) Functional
    6) Object oriented
    7) Aspect oriented

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  4. New Models, New Ways of Working by under_score · · Score: 5, Insightful
    One of the common anti-patterns is over-relying on tools and frameworks instead of inventing new programming models.

    Actually, he missed the anti-pattern. It's really: One of the common anti-patterns is over-relying on tools and frameworks and programming paradigms and processes instead of improving the skills and knowledge of the people doing the programming.

    I've been programming for a long time too, and I don't think that new programming models do all that much for productivity compared to finding good people or investing in improving the people you have. The recent Joel on Software article discusses this at length. This is one of the big reasons I'm so interested in agile methods and principles.

  5. RIA, the next NEW thing? by seafoodbuffet · · Score: 5, Insightful

    Rich Internet Applications are hardly the next "new" thing. The idea of doing asynchronous applications HTML/DHTML has been around since at least 1997. It's only the recent broad-based browser support that has led to the growth of AJAX, etc. However, trying to program an RIA that targets multiple browsers is like trying to write portable C code all over again. Thought CSS was screwed up between Firefox and IE? Try looking at the JavaScript implementation differences between the two platforms. Throw in a bit of Safari and Opera and you have all the makings of some super-gross client code.

  6. Good Design by Tiger4 · · Score: 5, Insightful
    never goes out of fashion.

    Pick a good language/environment, even a not so good one, say C and a text editor, and then use some engineering discipline to really DESIGN THE DAMN application. Don't just throw features at it, don't just hack the code. Think about the real world problem you are supposedly trying to solve and work your way through it. Build it right, you don't have to worry about operation, maintenance, or longevity. Build it wrong, and you make a career of fixing it.

    Ooops, maybe I've stumbled onto the real secret of IT...

    --
    Behold, this dreamer cometh. Come now, and let us slay him... and we shall see what will become of his dreams.
  7. Re:Did you understand all that? by javaxman · · Score: 4, Insightful
    Is it just me or is this guy speaking English? I'm not a web programmer but geez...that article seems like a steaming pile of drivel.

    I'm increasingly finding that web programers ( and their managers ) can be like that. Meaning that they're increasingly trying to find ways to make "HTML-server based application with some client interaction" sound new and exciting.

    Not that using advanced Javascript||.NET||Java||C||Objective-C||Python||wh atever on the client to communicate to a server running Perl||C||Python||Java||.NET||Ruby||Objective-C||wh atever using XML( or whatever ) isn't interesting or useful, it's just... like calling a personal log-format web page a 'weblog'; it's not really something new in the abstract, it's a new way of doing something that's been done before. In other words, it's marketing hype to make you think you're seeing something truly new. At least in general, the implementations are new, not the ideas.

  8. Author discounts Java by throbbingbrain.com · · Score: 4, Insightful
    Java doesn't cut it, primarily for [highly interactive user experiences] reasons
    Java will do everything the author wants but he completely discounts it because of some poorly coded Swing applet that crashed his 486 PC. Java will provide any user experience that a developer is capable of creating.