RPGDXThe center of Indie-RPG gaming
Not logged in. [log in] [register]
 
What follows Objects?: The Next Generation of Programming
 
Post new topic Reply to topic Goto page 1, 2, 3  Next 
View previous topic - View next topic  
Author Message
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Fri Jan 21, 2005 1:52 am    Post subject: What follows Objects?: The Next Generation of Programming [quote]

I've produced this:

http://unitedinfinity.atspace.com/Projects/JS/Languages/StaticVariableJS.html

And I'm working to finish a simple programming language.

http://unitedinfinity.atspace.com/Projects/JS/Languages/DyneBasic.html

I aim first to replicate the modern icons of programming functionality in an advanced version of this "Dyne" language. These functions will include arrays, and objects. I will create special object structures, also, called "fields" that are timed to execute a self-contained list of instructions using information native to themselves at regular intervals, as like magnetic or gravitational field apply force to all objects within their respective ranges at a constant rate. I will include variables called "tensors" whose value may only be a solution of a predefined equation. With these I believe I can effectively model a virtual universe.

Is there something else beyond this? What else is there? Is the science of programming as far now as it can go, do you think? Or are there unheard of new ways of thinking lying just around the corner...?
Back to top  
LeoDraco
Demon Hunter


Joined: 24 Jun 2003
Posts: 584
Location: Riverside, South Cali

PostPosted: Fri Jan 21, 2005 2:00 am    Post subject: [quote]

Galbalan, honey, I just love how you post links to things without any documentation towards how to utilize them. That, as is said, is teh sexy.

EDIT: Also, there is this thing called The World Wide Web Consortium, right? They have this validation service, which, one could intuit, validates SGML-based languages. A sample validation of your StaticVariableJS document should enlighten you that your utilization of HTML is over six years out of date.
_________________
"...LeoDraco is a pompus git..." -- Mandrake
Back to top  
biggerUniverse
Mage


Joined: 18 Nov 2003
Posts: 326
Location: A small, b/g planet in the unfashionable arm of the galaxy

PostPosted: Fri Jan 21, 2005 8:04 am    Post subject: [quote]

And anyway, apparently the Next Big Thing(tm) after OOP is AOP (ugh).
_________________
We are on the outer reaches of someone else's universe.
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Sat Jan 22, 2005 1:52 am    Post subject: [quote]

http://www.livejournal.com/users/lordgalbalan/46896.html for the documentation.

I thought object oriented programming already did that (AOP).... Javascript does, at least. :P
Back to top  
tsb
I wanna be a ballerina!


Joined: 09 Oct 2004
Posts: 23

PostPosted: Sat Jan 22, 2005 7:55 pm    Post subject: [quote]

Aspect-oriented programming is not the "next big thing", nor does JS have any direct support for it. JavaScript's reflection mechanisms are sufficiently powerful to effect aspects as a library, but I am unaware of any such. Java programmers can look at AspectJ for aspects. I believe there is a similar library for Python, but it escapes me.

Anyway, AOP is kind of cool, but it doesn't look to be very useful outside a very small, specific type of application domain.

I rather expect functional programming languages to start gaining momentum, as CPU speed is starting to cap out. Before long, the only way to improve performance will be to take advantage of multiple processors, and functional languages rock the crap out of C++ for that. :)
_________________
—andy
http://ika.sf.net
Back to top  
biggerUniverse
Mage


Joined: 18 Nov 2003
Posts: 326
Location: A small, b/g planet in the unfashionable arm of the galaxy

PostPosted: Sun Jan 23, 2005 9:51 am    Post subject: [quote]

I agree that AOP is not general useful, but "The Next Big Thing" is always a hype anyway.

Quote:
I rather expect functional programming languages to start gaining momentum, as CPU speed is starting to cap out. Before long, the only way to improve performance will be to take advantage of multiple processors, and functional languages rock the crap out of C++ for that. :)


What do you think these functional languages will be written in?
_________________
We are on the outer reaches of someone else's universe.
Back to top  
janus
Mage


Joined: 29 Jun 2002
Posts: 464
Location: Issaquah, WA

PostPosted: Sun Jan 23, 2005 4:10 pm    Post subject: [quote]

biggerUniverse wrote:
I agree that AOP is not general useful, but "The Next Big Thing" is always a hype anyway.

Quote:
I rather expect functional programming languages to start gaining momentum, as CPU speed is starting to cap out. Before long, the only way to improve performance will be to take advantage of multiple processors, and functional languages rock the crap out of C++ for that. :)


What do you think these functional languages will be written in?
Themselves. :)
Back to top  
biggerUniverse
Mage


Joined: 18 Nov 2003
Posts: 326
Location: A small, b/g planet in the unfashionable arm of the galaxy

PostPosted: Mon Jan 24, 2005 12:14 am    Post subject: [quote]

janus wrote:
biggerUniverse wrote:
I agree that AOP is not general useful, but "The Next Big Thing" is always a hype anyway.

Quote:
I rather expect functional programming languages to start gaining momentum, as CPU speed is starting to cap out. Before long, the only way to improve performance will be to take advantage of multiple processors, and functional languages rock the crap out of C++ for that. :)


What do you think these functional languages will be written in?
Themselves. :)


Ah, yes. What was I thinking...
_________________
We are on the outer reaches of someone else's universe.
Back to top  
tsb
I wanna be a ballerina!


Joined: 09 Oct 2004
Posts: 23

PostPosted: Mon Jan 24, 2005 3:02 am    Post subject: [quote]

biggerUniverse wrote:
What do you think these functional languages will be written in?
I'm not quite sure what you mean.

If you are trying to imply that we will always need C and C++ because they are our bread-and-butter systems languages, then I disagree vehemently, if only because functional languages are great at expressing compilers. (much better than imperative languages, at any rate)

If you were asking an honest question, then Janus has the right of it. You can write a compiler in anything, and one of the best ways to test a compiler is to compile it with itself. (of course, this does mean that you have to write an initial compiler using something else)
_________________
—andy
http://ika.sf.net
Back to top  
Hajo
Demon Hunter


Joined: 30 Sep 2003
Posts: 779
Location: Between chair and keyboard.

PostPosted: Mon Jan 24, 2005 10:20 am    Post subject: [quote]

tsb wrote:

Anyway, AOP is kind of cool, but it doesn't look to be very useful outside a very small, specific type of application domain.


Can you give a few reasons why AOP should be limited to a sepcific domain? And, which domain do you mean?

I've attended to a few seminars about AOP, and while the teachers pointed out that there are still many unsolved problems, it doesn't appear to be bound to a specific domain?
Back to top  
tsb
I wanna be a ballerina!


Joined: 09 Oct 2004
Posts: 23

PostPosted: Tue Jan 25, 2005 8:34 am    Post subject: [quote]

Hajo wrote:
I've attended to a few seminars about AOP, and while the teachers pointed out that there are still many unsolved problems, it doesn't appear to be bound to a specific domain?

Right. It's not like it's only good for this sort of application or that, but more that it's only suited to a certain class of problems. This suggests to me that AOP is a smaller idea, or perhaps a special case of some more general concept, and not a big thing in and of itself.

(however, I will freely admit that this may be because my brain is small and I cannot yet see the possibilities; it would not be the first time I had to re-evaluate something)

That aside, it strikes me as being entirely too dangerous: it looks to me like it would be too easy to write some aspects and put them to use only to find that they are interacting undesirably in some seemingly unrelated part of the program.
_________________
—andy
http://ika.sf.net
Back to top  
Hajo
Demon Hunter


Joined: 30 Sep 2003
Posts: 779
Location: Between chair and keyboard.

PostPosted: Tue Jan 25, 2005 10:41 am    Post subject: [quote]

Right. I think AOP is in the early phase of an emerging idea. We don't know what it will be good for, notr do we know the dangers or the benefits in detail.

It seems to address a gap in the current methodologies. If it will be an addon, or if a new methodololy will be created upon AOP is unknown.

I think it is a very intersting idea. It addresses some problems that disturb me since a long time. I'm an OO developer, but most of my objects are heavily interlinked and less ress reusaebal because each has to care about aspects that are not core functionaliyt fo the component, like error reporting or data serialization.

Maybe AOP is only part of the next big thing, the first glance that we see rising on the current knowledge horizon. But it seems to address important questions, and I hope the researches will porgress quickly and give us new ideas how to improve our code.

ATM my interest in AOP is only of theoretical nature. But since it adresses questions that I face rather often, I'm very interested in the solution it provides or will provide. Currently I think the solutions are not of production quality, but it looks very promising to me.
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Thu Jan 27, 2005 1:52 am    Post subject: [quote]

I believe the Dyne beta is functional.

You may want to experiement with it. It has several commands.

"vio" (virtual input/output) assigns a value to DHTML property or executes a DHTML method.

"if" does what it says. (ah, I forgot to add "else"....) Open with "{", terminate with "}".

"goto" goes to a different line. (syntax "goto [value]")

"line" changes a source line. (syntax "line [index] = [value]")

"name" changes the name of a variable. ("name [varID] = [value]")

Variable initialization is automatic, BASIC-style. Assign a value to a variable to create it.

For any case where a value can be used, a string variable can be substituted.

All tokens must be seperated by a space. Line terminators are semicolons.


!Updated:
Added support for user-defined types to Dyne. Use the create command ("create [value] : [varID]") where value is the template for the type.

Type templates are formed with the syntax "[type name] { [property1] [property2] [...] }". Type templates can be nested, so you can make a type that has a property has a property, like this:

"NewType { PropertyA { No1 No2 } }"

This creates four distinct variables: "NewType", "NewType.PropertyA", "NewType.PropertyA.No1", and "NewType.PropertyA.No2".

Using the create statement, we have:
[code]
Var = 0;
Type = "NewType { PropertyA { No1 No2 } }";
create Type : Var;
[/code]

This program produces a total of five variables: Var, Var.NewType, Var.NewType.PropertyA, Var.NewType.PropertyA.No1, and Var.NewType.PropertyA.No2.

Dyne's type support is still kinda shaky, because it seems to be having difficulty discerning between strings and variables, and it's making variables named after strings when it should be leaving them alone.... For best results, only use types with one property for now. Note that you can make a property with the create statement, and then add more properties onto it later. Dyne sees only variables, and what goes for one kind of variable goes for all of them.

[code]
TypeA = "PropertyLevel1";
create TypeA : Var;
TypeB = "PropertyLevel2";
create TypeB : Var.PropertyLevel1
[/code]

This creates Var, Var.PropertyLevel1, and Var.PropertyLevel1.PropertyLevel2, respectively.


...Yeah I fixed that object bug. Objects work peachily now. (or types or structs or whatever)
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Fri Jan 28, 2005 9:25 pm    Post subject: [quote]

I don't know much about functional programming, but it sounds really complex and hard to imagine....
Back to top  
Bjorn
Demon Hunter


Joined: 29 May 2002
Posts: 1425
Location: Germany

PostPosted: Sat Jan 29, 2005 10:44 am    Post subject: [quote]

Actually at my university, functional programming was the first kind of programming we were tought. It is very easy to understand and many problems, especially of recursive or mathematical nature, can be described in a short way that makes sense.

An example of a functional language, and the one I learned, is Haskell. In particular, take a look at the introduction to Haskell in which they compare for example a functional (Haskell) implementation of quicksort with an imperative (C) implementation, and compare the differences between functional and imperative programming in general.

There is a free interpreter for Haskell that's called Hugs.
Back to top  
Post new topic Reply to topic Page 1 of 3 All times are GMT
Goto page 1, 2, 3  Next 



Display posts from previous:   
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum