[Goe-dev] Replies....
Status: Pre-Alpha
Brought to you by:
awwaiid
|
From: Jay M. <ja...@ke...> - 2001-06-19 02:12:14
|
i've had to write these ideas a couple times because my email client ate the last sent - so maybe you talk about them, but either way i'll ust get them all down, hopefully it is a readable format.... > | i checked out the new browser, looks more organized and seemed to load faster. > | i didnt get much of an opportunity to inspect it deeply but ill have a lot of > | time this weekend to dig into the code and play with it. > > Excellent. It probably didn't really load faster, its just an illusion. I > am still trying to think out a clean organization for it, and so far I > like how its going. The event passing mechanism is the part I've been > contemplating the most lately, I think what I have will work. i probably just seemed to load faster because is it less to load and all. about the event passing - i havent really looked at the code , just the debug messages - and what it appears to me it does is.... in base packages you've defined handlers for certain events, these events are called by actions in the UI. i think this is really cool because it does a few things - A) simple, ui independant feature base. a gtk ui and a curses ui can call the same event just as easily - that will be really cool for having it run in different environments B) it also allows some sort of "server" which recieves events from the client UI programs - either throughout a local machine or on a network - this would all stuff like - file locking and multi site live developement and maybe other cool ideas like that C) preferably events will be easy to define, so by just writing a new event handler you can add functionality to the program - and since the backend handles all events the same GOE could be expanded to the stars and it wouldn't care. D) users could redefine which events get called by various UI operations - from things like redefining what key Copies to redefining how the open file button works - or rather adding a new menu/button item and defining the event that gets called I dont know if this is how events work, but if it isnt maybe their current implementation can be expanded to fit that idea in somehow. > I didn't change anything, really. Merely uploaded the html for display at > goe.sf.net - it wasn't there at all before - and set up the CVS. alright, thats what i figured - i have a cvs repository on my machine now but i havent really dug into any code yet. i'd rather get a feel for the current source and solidify some ideas that i have - i like have a solid base of ideas before starting to write spagetti code. > Yes, I'm getting increasingly agitated at the cable company. The only > reason I'm putting up with it is that the apartment complex is going to > pay for it, so in the end its free for me. supposedly ill be getting cable soo too - that'll be sooo much better than a modem! > | 13~[7069765033060]! > | -|[UMDUOOUPKVQVT]|- > | }~[7P3M0669T7360}~[ > > What, dare I ask, does this mean? this is just my sig which is a perl script which generates some randoms letters and numbers and displays them in an interesting way - i think it looks cool. it doesnt really mean anything, aside from the fact that the 13 is always there and there are 13 numbers, 13 letters, and a mixture of 13 of them - because 13 is soo lucky. i used to have a quote as a sig but i got tired of it. > > There are quite a few companies that use it in-house, but I can't think of > any end user commercial programs at all. Mostly it is used for prototyping > a project, and once the concept is sold they move to a different platform. it seems like it would be really good for fast prototyping of gui applications, i dont know but it gives me that impression. > That quote was in quite a bit of context, but yes in ways they are proud > of being closed. Or rather some of them are. The more extreme perspective > among them is that squeak is the perfect world and tainting it is bad. But > there are others that share my sentiment, that if they ever want people to > use it they'll have to play nice with others. speaking of playing nice - i think we should design GOE with the ideals of expandabilty and user freedom built into everything - i'd like to think of GOE more as a developement/organization environment/platform and our perl-ish stuff is just one way to implement it and utilize the structure it defines. everything should be easy to replace or extend in anyway. although i dont aspire to be a webbrowser/mail/news/coffee maker like EMACS - they still have the right idea of putting the power in the user with internal programing and what not > I think that when browsing with the package tree being primary the > inheritence tree will be mostly for adding / removing parent classes. It > would also be able to browse the parent packages, on a double click or a > right-click menu option for instance. it may also be good to be able to have fast access to method lists and internal data of a parent class that you may need to get information on. that makes a lot of sense, the previous thing i said would be confusing for a user and also rather pointless.... > | > Hey, did you look at / think about the Inline thing? > | ...... > | developement and integration - is that where you want to go? > > XS is terrible, you could almost think of this as an intelligent > replacement for XS in some situations. But you're right, the more > important thing I was thinking about is in regards to Goe. the intelligence i think is the most vital part - we can offer quick 'skeleton functions' for interacting with other languages, but it may also be useful to make some sort of "wizard"-ish thing that will guide a long a user and either let them select a function/object to call/instantiate or browser a library and pick something out and also allow to write the function right there - then once the user input part is finished you just click generate code and you get some quick wrapper code - i think that would be cool and useful in lots of situations - and if it were done right it would be easy to add new supported languages and what not.... > The main thing that I am thinking is along the multilingual development > and integration path. The only thing I see differently than you write > above is about non-OO languages. The way I'm trying to write Goe is along > with Perl's More Than One Way approach. There is nothing enforcing the > object orientedness that I'm currently using, I just choose to write the > system that way. Just parsing those languages down to the file / function > level would be good enough, I think. Just like in perl I can pretend, > simply by calling functions without using magical -> sytax, that I am not > Object Oriented at all (though I think I'm really pretending the other way > around). Make sense? i agree that multilingual dev/imp is a great way to go. i'd like to rephrase my thoughts on the OO stuff - what i was really getting at was that there would supplied (and a way to write) parsers for any given language which would look at the structure of the code and organize it in anyway that the user/parser_writer saw fit - examples are inheritance tracking, break down of functions, collapsable if/while/for/case blocks (like a lot of windows editors have, but i haven't seen a *nix editor with), or maybe a way to build a tree/map/graph of all the functions a function calls so that you can visually see how a program will interact with the rest of it. i want goe to help those who are lazy or just unorganzied understand their programs better and perhaps have a more efficient way to write them with the "big picture" in mind - without having to do all that breakup/visualization by hand or symbolically. > | other things that would be interesting.... > > See, this project is just a generator of ideas! My theory is that since we > are using the project to work on itself a lot of needs, wants, and > problems will become obvious to us while we build it all up. i agree, it really gives you a chance to think of everything you could possible want done for you when you were organizing a software project. one thing i think might be cool as "module" would be associating email addresses with objects/files/projects/functions so that an email address of the maintainer of a class (stored in some sort of metadata) can be emailed simply with right click->email maintainer - maybe even have the program/test run on the aspect of the project and send off a bug report formatted in some special wayu - i think that would be really neat. and if you wanted to expand on that idea, you could have some sort of database/messageboard associated with a project so that people/users/developers could comment on parts of the program right as they were writing code/debugging it/running it - right from the same window - that may be a cool thing to play with > One thing that I thought of while reading this stuff is how well Goe will > interface with other programs / systems. I don't want to be sucked in to > the same trap that so many of the SmallTalk people have. And I want to use > vim (embedded, preferably) as a plug-in editor :) i definately think it would be important to draw from other people as much as possible and allow hooks for others to intergrate GOE into their own projects - if not only because it would take to long to reimplement some stuff but also because it would be an easy feat if the intergration system was designed in the best way possible. (i support fully the vim idea, btw - Vi rucks) > I talk a bit about my vision for Goe in my webpage. The thing is that the > project can shoot off in so many different directions. I want it to be a > very pleasant programming environment, meaning well organized and easy to > use and things like that. And I think that is where I'll start. > > I mention GUI wrappers. I want that so that I am liberated from having to > use one GUI kit (gtk, win32, tk, qt,...). Inline will liberate me from > having to use one language. The very customizable browser, along with any > other tools we add, will liberate me from having to use inneficient > programming environments. So... I guess overall I seek liberation. Perl > itself has been a great starting point. Hm... liberation and cleanness. organization, freedom, and cleannes are also my key concerns - i had a big long thing about this in the first version of the mail but it has degraded and the ideas dispersed in previous paragraphs. but yes - i agree. On Mon, 18 Jun 2001 11:32:04 -0700 (MST), <rb...@ce...> said: > I couldn't find a floppy disk this morning, so my update won't come till > tomorrow. The new browser is almost complete, and I might even have it > done by tomorrow. The framework I've set up is allready being effective, > each piece I add is working right away and is easier to code. i can't wait to see it once it's in the cvs repository on the event chaining scheme you talked about..... A) i agree that is is really good because objects that dont need an event dont hear about them - however, does this imply that an event is only sent to one object at any level in the heirarchy? obviously it goes to multiple as it travels down the chain but can it go to more than one from a given point? B) i dont know how this would support the idea that i mentioned earlier about events... this is more like a functions says what it wants to look for an those events are generated up the chain - and then something else starts the event - while this is good it makes it harder to probe and find out what all the events that are being handled are, you would have to query every object in the system - but maybe thats what we want? you say you dont like a global list, but i think maybe a global list would be useful because it would be a single place to look, a single place to modify, and you could have it echo the event to any situation where it is sent to. the global list could be implemented as some sort of "lookup" table where you have on one side the event and on the other side... events that it triggers and functions that should get called when the event happens, ie.... open_button_push -> file selection dialog() , new code editor() save -> write_to_fs() , update_cvs(), structure_changed! structure_changed -> reparse_project() make sense? do you think that that is unneccessary and able to be down with the event scheme you have currently? i'll have to look at the code and experiment with how it can be played with - i dont know the specifics so ill have to check it out. hopefully this mail will actually get sent.! out, je' -- Jay McCarthy <ja...@ke...> aim / aim \ irc rasarasda / emontapartimejob / feelicks www.brunswickrecords.org/~jay/ 13~[8354774074444]! -|[RFYDSCPJPZNUM]|- }~[Z74N74FM4J348}~[ |