Register to reply

The next programming method?

by Greg Bernhardt
Tags: method, programming
Share this thread:
Greg Bernhardt
#1
Sep6-03, 12:03 PM
Admin
Greg Bernhardt's Avatar
P: 9,553
For you computer geeks out there. What do you think the next method of programming might be? We currently have Procedural, Event and OOP. OOP is the most popular, but it isn't the best. What is next?
Phys.Org News Partner Science news on Phys.org
Flapping baby birds give clues to origin of flight
Prions can trigger 'stuck' wine fermentations, researchers find
Socially-assistive robots help kids with autism learn by providing personalized prompts
Greg Bernhardt
#2
Sep6-03, 12:07 PM
Admin
Greg Bernhardt's Avatar
P: 9,553
I just did some research and found TOP (Table Oriented Programming)
http://www.geocities.com/tablizer/top.htm

Also here is a nice article:
http://www.americanscientist.org/Iss...3-03Hayes.html
dduardo
#3
Sep6-03, 08:37 PM
Emeritus
dduardo's Avatar
P: 1,919
OPP is not a method of programming but rather a way of thinking. The way humans develop ideas make OPP very natural. For example, you want to build a cardboard box. Although the process for creating a box is linear, developing the process is very much OO. You have to figure out how what the material is made, the size , the color, etc. All of these attributes are easily contained in an OO structure such as a CLASS. All the attributes can be built onto of each other. This layering allows the developer to visualize the structure in a very precise manor.

Event driven systems are a way to collect input in an OO enviroment. An event triggers an object to run which then triggers other events, creating a dynamic system.

This methodology of thinking is not going to change. The next major leap in programming will be the way we enter programs into the computer.

What plagues programmers today is the constant reinvention of the wheel. Sure there are functions, allowing repetitive tasks to be called from any point in the program, but thats not enough. We need to STANDARDIZE a method for program to program inheritance. It will be like the click and drag method of creating interfaces in VB, but more sophisicated.

Imagine being able to take the chat (function) from XYZ's instant messenger and dragging it to ABC's first person shooter.

With this type of capability, programming will not be just for the experts, but for the average joe that wants to be productive.

Hurkyl
#4
Sep6-03, 09:03 PM
Emeritus
Sci Advisor
PF Gold
Hurkyl's Avatar
P: 16,091
The next programming method?

I concur with dd; some sort of standardized abstraction is definitely the way to go. There needs to be a way to write powerful code with no loose ends which others can easily use and customize.
Dissident Dan
#5
Sep7-03, 12:02 AM
Dissident Dan's Avatar
P: 691
Well, the thing is that ABC would have to pay XYZ for that. I mean, we already have code libraries and APIs and such so that you don't have to "reinvent the wheel." Also, people often like to create things for themselves sometimes...to marvel at their own genius.

Although, it can be hard to integrate things from completely different codebases. For example, a game will have different structures for representing clients than will a chat program.
Hurkyl
#6
Sep7-03, 09:47 AM
Emeritus
Sci Advisor
PF Gold
Hurkyl's Avatar
P: 16,091
That's pretty much the reason why I think a good standardization or abstraction scheme is where things need to go; so that the chat program can use the FPS's client object directly, or at least with a trivial wraper.
dduardo
#7
Sep7-03, 02:10 PM
Emeritus
dduardo's Avatar
P: 1,919
Originally posted by Dissident Dan
Well, the thing is that ABC would have to pay XYZ for that. I mean, we already have code libraries and APIs and such so that you don't have to "reinvent the wheel." Also, people often like to create things for themselves sometimes...to marvel at their own genius.

Although, it can be hard to integrate things from completely different codebases. For example, a game will have different structures for representing clients than will a chat program.
1) If your a proprietary software maker like Microsoft, then yes, you probable would have to pay a licensing fee. But software development is changing and IBM, Apple, Toshiba, etc are realizing that open source is the way to go.

2)People just want software to work. Period. Sitting in front of my computer, I wish that some applications could take on the attributes of others. The everday users aren't going to fire up their text editor to modify source code to add features.

An example: Average Joe likes the tabbed browsing feature in mozilla and would like to add it to the OpenOffice Writer in order to be more productive. If every feature in mozilla was a standarized template, then one could drag a tab from mozilla into openoffice, and all the attributes from the tab would be inherited.

Ok, sure code libraries and APIs exist so you don't have to "reinvent the wheel," BUT it takes time to find out if a library is available that suits your needs. And on top of that you need to figure out the contruction of the library and how to make calls. I mean, if the feature you want is right in front of you, and already implemented, then why can't you just drag that feature where you need it visually, rather than through a text editor.

If we have a standarized abstraction, as Hurkyl said, programmers will build the components and arrange them. The computer then figures out how to connect the components. If the user wants to an a component, all they have to do is point to where they want the new component and the computer figures out how to connect it.

3) If you have a standarized template, it shouldn't matter what type of data your dealing with. For instants, STL(Standard Template Library) for c++ is very flexible and allows its data stuctures to contain any type of structure.

struct bob
{
int x;
};

queue<bob> builder;
wuliheron
#8
Sep7-03, 03:09 PM
P: 1,967
I have to agree, a related development has been in gooey interfaces. The new Apple Aqua system is a case in point. It allows you to make any picture you want an icon and just arrange things however you want. The ultimate interactive etch-a-sketch so to speak but without all the hassle of the two knobs and having to erase everything the minute you make a simple mistake.

In other words, two trends are at work here: expanding the parameters of the system and making them more user friendly. Microsoft already has patents on 3-d versions of windows, for example, but who the heck owns a 3-d monitor? The real rush then is not to predict the immediate future of the technology, but what makes things more user friendly. This has been microsoft's focus all along, and why their modular architecture and bells and whistles are so infamous for being unstable.
dduardo
#9
Sep7-03, 03:28 PM
Emeritus
dduardo's Avatar
P: 1,919
Originally posted by wuliheron
This has been microsoft's focus all along, and why their modular architecture and bells and whistles are so infamous for being unstable.
Microsoft and Modular Architecture. HAHAHAHAHAHAHAHAHAHA

Removing Internet Explorer = Removing Windows
shintashi
#10
Sep10-03, 10:28 AM
P: 84
well im not sure I understand the question, but when programming Multi User Systems (some games, some not), we found a stable metaprogram with user functions that allowed other authorized people to change the environments & code were very effective.

This kind of system though is only as powerful as the metaprogram, but allows otherwise uneducated users to revise a system with some measure of variability.

One of the systems I worked on had a rather suprised System Admin when I was, sitting at the bottom of the ranking system, able to use Mobile subroutines to delete his account, as if he were the one doing it. I think this is an example of exactly how powerful Online Coding can be.

For a more radical aproach, I think we need to devise anti-logic proccessors, which is possible with something akin to a profile system for each Flag

instead of "let red = 45"/"let red = random (1-300)"

we should have a whole list of possible meanings for subject matter as step 1
let red = 45; and/or random (21-69); and/or temperature code "hot"; and/or emotion code "angry"

Followed by step 2 of the anti logic code, (this is the real step) A search engine proccessor that matches a programmer's input structure and/or sentence structure to lists of flags with possible matching data.

Basic example " Make the room hot"

I know this sounds wierd, but in programming, if we spliced a fuzzy logic search engine into a bunch of higher language protocals, we would have a very real, synthetic artificial intelligence programming aid, which even a 6 year old could toy with.

I'm sure it wouldnt work well for a serious programmer, at not until the AI/search engine utility feature were highly attuned and possibly (through cookie subroutines) personalized or "watermarked" to the individual programmers.

Imagine a programmer named Keichi... and his AI search engine-meta utility named "May"

Keichi: " May, make the background blue please..."
May changes the background color to Azure
Keichi: " May, you know I hate this shade of blue... "
May changes the background color to Deep Blue
May: "Sorry sir, just kidding"
Keichi: " Thank you May"

the quirky thing about humans is the fact that they have favorites, and favorites can be set as defaults. Humans also splice things and mix and match them, something a computer could do, but normally requires whole arrays of programs to do.

The above style of programming could be infinitely complex, or as simple as a search engine spliced into another programming platform. Commands like " name that line of code that I spent the most time on, now insert it here (cursor)"


Further down the road, I noticed that they built a very basic cybernet eye for someone that inputs information directly into the brain. I also saw a person in an intensive care ward, moving a mouse cursor with their mind - the wires in their brain were sensing nerve motions normally reserved for things like arms and hands.
I believe that this kind of technology, in the next 20 years, could be used for a whole new variety of virtual reality. And if there is indeed a field of sensory data that fires up somewhere in the brain when someone imagines, then it is possible, that such an imagining could be recorded in a VR environment, replayed,
and if someone had a brilliant idea for a flash, and then forgot it, it could be rewound frame by frame, paused, and studied. I have no idea about the implications of some kind of internet based wireless mind reading/telepathy, but it is obvious that a person could definitely, with technology today, project wirelessly basic ascii characters from brain to brain, although the process would be very slow.
sol
#11
Sep13-03, 09:13 PM
P: n/a
Soft Computer Apllication

I know people do not like when I post stand alone posts, but the idea here is to understand from the previous posted link to see the idea in how such application might work.

The fifth element idea sprang into existance engaging the idea of the superstringtheory board. I have called it the fifth element for specific reasons, and requires the understanding of connecting not only geometrical consideration under one umbrella( Felix Kleins Order of geometries- linked previous) and the unification of mind in the undertanding of enveloped bubble technology.

I am open to corrections in my thinking

Sol
sol
#12
Sep14-03, 11:38 AM
P: n/a
Spooky Action At a Distance

This posted link is in answer to the "light of all things"(Einstein Mysticism) and its motivation based in our quest for?

Planck Length measure, becomes the signal for Fuzzy language. Yet what is Fuzzy language and you learn to see the progression of the logic that is taking place.

Venn Logic and Tranactional Analysis is specifc here on the direction we have to go in terms of soft computer language developement. This is based on the understanding of the Fifth Element containing all geometries. Enveloped in bubble technology.


Venn Logic and Transactional Analysis

Sol
sol
#13
Sep18-03, 12:06 PM
P: n/a
The Gravity Field and the Human Brain

A ongoing work in process.

I am always open to corrections.

Sol
Zantra
#14
Sep25-03, 09:25 AM
Zantra's Avatar
P: 869
Programming has consistently evolved in a pyramid, with the previous "standard" code being used to construct the next generation. So it stands to reason that OOP will become the building blocks of the next language. I'm thinking along the longs of the internet, and the way everything is interlinked and cross referenced. I thought the referenced article in the TOP one, which references the weaknesses of hieraccacal tree structure weaknesses was a good indication of the way things are going. If standardization can become a universal term, then you will eliminate a huge duplication process which plaugues programming. Interoperability is the key word, I think. Fortunes are made by people do nothing more than create the code to help programs and databases communicate with each other. I'm not a programmer, but I've worked with, and known many programmers, and that is the greatest flaw. Too many proprietary programs which can't communicate because companies are so concerned with intellectual property rights and proprietorship.

Personally, I'd like to see a programming interface similar to the type that we saw in that last tom cruise sci fi flick (can't think of the name). Just point(with your hand) and select, or verbal commands. This would speed the process up 500 times.

Example.

"computer, take subroutine alpha and insert to line 15."
"computer access msdn july 2040 from the microsoft programmer database and extract basic verbal interface array. Add to line 73, then compile."

I think this is very realistic scenario given Moore's law. Realtime verbal interface is only 10-15 years away- if that. It already has a rudimentary beginning. That's the way I see things headed.
rick1138
#15
Oct15-03, 12:43 AM
P: 199
There will never be a standardized language, by virtue of Godel's incompleteness theorem, nor is it desireable - different languages evolve largely because they are the most suitable for the task at hand, and the abilities and prejudices of the programmers involved.
Hurkyl
#16
Oct15-03, 06:08 AM
Emeritus
Sci Advisor
PF Gold
Hurkyl's Avatar
P: 16,091
There will never be a standardized language, by virtue of Godel's incompleteness theorem, nor is it desireable - different languages evolve largely because they are the most suitable for the task at hand, and the abilities and prejudices of the programmers involved.
I don't see how Godel's incompleteness theorem applies. Also, it is certainly conceivable that a standardized language could be general enough to do any task.
selfAdjoint
#17
Oct15-03, 09:18 AM
Emeritus
PF Gold
P: 8,147
John McCarthy has just asserted on s.p.r. that all programming languages are universal, that anything you can code in one you can code an emulation of in another. Grant the McCarthy is more knowledgable than I - he is sort of the AI opposite number to Professor Kaku - I find this hard to believe. Emulate machine language in COBOL?
Nereid
#18
Oct15-03, 04:29 PM
Emeritus
Sci Advisor
PF Gold
P: 4,014
I'm sure he'd be the first to admit that it wouldn't necessarily be easy, efficient, useful, or most other good adjectives. The 'all' seems rather sweeping though.


Register to reply

Related Discussions
Linear programming and the two phase method Linear & Abstract Algebra 2
Shell method versus disk method Calculus & Beyond Homework 1
Linear programming using the simplex method Linear & Abstract Algebra 0
Work energy method and impulse momentum method Classical Physics 1
Washer method and disc method for finding volumes of graphs Calculus 5