View previous topic - View next topic |
Author |
Message |
tcaudilllg Dragonmaster
Joined: 20 Jun 2002 Posts: 1731 Location: Cedar Bluff, VA
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
|
Back to top |
|
|
tsb I wanna be a ballerina!
Joined: 09 Oct 2004 Posts: 23
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
Posted: 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.
|
Posted: 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
|
Posted: 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.
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
Posted: 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 |
|
|
|
Page 1 of 3 |
All times are GMT Goto page 1, 2, 3 Next
|
|
|
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
|
|