Some ideas for this application
Hi!
I had a similar idea a few days ago. One thing that modern code databases lack is the integration between different languages. Say I am coding an Access app in VBA, but then change my mind to go to VB, or C++. Going to VB would be quite simple, but C++ - a pain. Another thing is different methods, properties and events of Common Controls, common ActiveX and DLL function libraries, custom classes, useful user-defined types etc. It is possible in theory to make an application that would do 2 things:
1) Allow a developer to enter his own code into the application and retrieve it. The application will have context menus (like a tray icon that would present a tree-like menu to the user, allowing him to copy the code to the clipboard in user-defined formats). The main thing is to make the program easy to use and very useful. Then we could get all sorts of people to download and start using the program.
Important here is to get people with experience in all main coding languages: VB, VC++, C, Delphi, Perl, PHP, Access VBA, Cobol, Python, you name it. Then we could find out what we need to create in the database structure to support all existing languages.
2) Allow the developer to upload his code to the server. Of course once uploaded code would not upload, unless it has not been modified.
3) Allow the developer to do a search and download only the related code, or optionally update the code on the disk if it has been updated in the central db.
4) Support for language functions is also very important. The other day, I noticed that PHP guys added a few functions to the language. How in the world is the developer supposed to know??? Sit on PHP.net all day? Say a new version of listbox came out, how do you know its functions? A new cool and free DLL library was coded, we could make notifications to each developer to try the library.
For some developers who like to code from scratch, the last thing is an ideal one from my point of view.
This approach would get attention of millions of people. VB may not be the language of choice, Delphi users will never even try to use the application that supports only VB. With all languages supported, a central international code database could be created. This, of course, would need a server network similar to the one Napster has, if not stronger. And this places a great deal of responsibility on developers who use the library. We could Moderate Code and use Developer Ranking system to restrict some poor code or allow the user to download better code.
What do you think? I have some experience with Jet databases and VB, as well as PHP. You can count me in.
Best regards,
Stanislav
Detailed description of Code Database
Hi!
Thanks for you reply, Doc Scheinder!
I just wrote an veritable essay but Opera croked, so I have to rewrite it.
I like your idea very much, but there are 3 downsides. First, the database can be populated by commercial ActiveX and other illegal things, and we could get sued. If Napster or IDrive can withstand the pressure, I don't think we will. The second is that if many users start using the application, moderation of space usage will become impossible. The only way will be to buy more space. With a free database, we'll quickly lose interest. And last, if we host the database on a university network, etc that can dump us any minute or switch off its servers for a holiday, users will become disappointed.
My idea is not new. Rational Rose, for example, allows to make a UML model of an application and recreate a model in any language. But it does not support language functions, common API, classes, it just makes a code framework. Only big programming teams can afford it, plus it's complicated and expensive.
With today's constantly evolving programming world new languages appear every day, some of them more robust than existing ones. Existing languages update and introduce new functions, API, etc.
Many developers on this forum, I noticed, code not only in Microsoft languages. Thus, SourceSafe is useless for those who code in Delphi and VB. For PHP or C developers, it's easier to find free tools, but those may only be useful for one code alone.
My idea is to create a database of code that would allow to store code in all programming languages. We have a central database on one web site. A developer has a frontend with backend on his hard drive. If he needs to store his code in this backend, he/she will create a Code Package and store it in the backend (code package is especially important in PHP, C, etc, where Includes are used). The Code Package will consist of several code chunks. For Visual languages, it can consist of a global module, API declarations + class module part. Now, suppose the developer wants to get all functions related to the Listbox component. He enters the criteria, his frontend connects with the central database and returns results. The developer selects what he wants to download and downloads updates to his database. If a function uses a class library, includes, etc that the developer's database does not have, then the entire tree of components utilized by the function is downloaded. Among other things, the developer will use search criteria such as Developer Ranking (to restict hypothetically "bad" code), and many other things to retrieve code that he needs.
The database will unite: language functions, methods/events/properties of known common class libraries, DLLs; Windows API and API of other programs with extendable interface; developers' code. After we get around 100,000 people to use the program, we can expect that language, API and DLL developers will release documentation in the format suitable for import into this database.
The application may start out as a code library, and then grow to include a forum component and a code exchange component.
Support for notifications if a new function is introduced in a programming language. This is possible if programming language developers make their function syntax available to our database. I guess they will.
By becoming a member of the developer network, the developer will be able to upload/download code, post resumes (in the future), etc. Personal information about each user will be stored in the central database. Developer Ranking, for example, will be used in Search Options as above.
A code exchanging system like Napster might be built in, and it would be partly connected with the database. If, for example, someone on "CodeNapster" offers me code and wants something in exchange, I just look up my personal code and press the button. The entire code package is uploaded to the person, with optional libraries or classes.
Other features:
- The application will have to be ported to all major OSs.
People with knowledge of all programming languages will have to come together to supply ideas for this application.
- We can build a web site for this project. I can volunteer for this. - The application may come in 2 flavours: Network and Single Desktop editions. Programmer teams, if they choose to, can work with the app and optionally upload their code if they think it can become public domain.
I know that most people will say it's a pipe dream, but frankly there are no ideas that may not be put into effect.
Tell me what you think. I don't know, maybe someone already did this, but if it were free and worldwide chances are we would already know of something so great.
The first step is to make the database structure. It should be bullet proof and well thought out to allow for connection failures, faulty coding and class linking (such as if I link to a library but in fact the code doesn't even have a reference to any of the methods of it). It is also important to find people with experience in web software updating mechanisms.
PHP could be used to make the website and builtin forum system. PHP has a lot of useful function, even built-in zipping function, which would allow developers to download archives based on their criterias (a query from the database would be used to form a new update db and then packaged inside an archive).
Deep inside I think this database is not as complex as a Napster-like application. The main thing is to get different developers with experience in all major programming languages, and make a strong database structure that would support all these languages. I am already writing the db structure of this database, but with my limited programming experience and the scope of language I worked in I know I won't be able to pull it off alone.
You may contact me at [email protected]
Thanks in advance!
Best regards,
Stanislav
Well Here is my idea......
Well The problem with idrive and such is that we are relying on a diffrent company. We don't want to do this becuase we don't have to there have been a few ppl to voluteer a server. About the legal problems if we get enough ppl involved we can have a few ppl have a speacil version that allows to view what ppl are sharing and the administration to kick/boot a person off.......Now I know what you are thinking WHO THE HELL is gonna sit there and watch for ppl doing bad ****...well I have no good answer but if ppl are really interested in doing this and making it work there should be some ppl. Also for the idea of allowing other ppl to make this program work for them we should have some kinda of "open source" not a fully open source but more of a way for ppl to creat there own add ins such as simple thing as skins to more complicated thing as a speed controller to limit the amout of speed the program can allow ppl to download at. Those are just a few wild ideas for the add ins. Also we need to get ppl that are interested in this to START THIS I mean this post can go one for years about how it can do this why it can't do this and so on. Also we need 1 or 2 ppl to be a leader of it to listen for EVERY ONES IDEAS and make a decision for the whole group. There is no way it will work if 25 ppl with simliar but diffrent ideas can make one program without a finail decision. I would like to take on the responsiblty along with someone else that wants it.
If you would conatact me ICQ: 9639200 or Email [email protected] Or MSN [email protected]
We also need to get a meeting (chat) going so we can decide on who is doing what when how and all that stuff.
WOW kinda long post for me :) !! !
Project update and Copyright warnings
I've been off-line for a while but I'm back. Let me address the copyright issue. Copyrights are good for songs or printed material. Patents are more needed by developers than copyrights. A copyright only tells the world that you came up with this first, IT DOES NOT PREVENT SOMEONE FROM DUPLICATING YOUR WORK! Trust me this was a big issue over a lot of programs and systems that I have created. It was such an issue that I took several business law courses. So if your goal is to keep someone from duplicating your work you need a patent. If you just want to say "I came up with this first."then a patent is your route. Keep in mind that copyrighted software normally makes money for everyone else for the simple reason that you are basically giving the idea away for $20. Patent are expensive the are generally $12,000. A final word of advice DO NOT CALL ANY OF THOSE NUMBERS ON TV, most of these "I will patent your idea ..." companies are looking to rip you off. It's best to go to a patent attorny. Now the issue of file sharing. I have brought aboard 3 network specialist to help with the download and transfer issue. Where is all this headed besides a file sharing program? All persons involved in the project will recieve stock in the company. I have set up over 5 million shares of stock in this new idea/application. I'm doing everything by the book. I have enlisted the aid of a couple of bank presidents and accountants. I also have several investors ready to go. I have devloped the chat system, voice activation protocols, some of the graphical design, and 50% of the file transfer portion. I'm planning on purchasing an application server and a hosting server. This is the real deal people, the more work we put in the better the outcome. At the end of this we should have some promising results. I will begin to write the requirements and setting up a beta version. If you are serious about helping out, send me an email [email protected]
PPL WE NEED TO GET A CHAT GOING !!
This post will last for YEARS! We need to get a chat going when eveyone that will be working on this app can be there!
LETS GET THIS **** GOING !!
Haven't read through the answers but......
.... if no one has mentioned it to you, log into http://www.planetsourcecode.com they have exactly what you are after. Downloadable projects that demonstarted just about anything you would want vb to do.
Hope that helps.
Has anyone heard of wrapster
It has been done already.
The program is called wrapseter and allows all files to be available to internet users.