Thread: cboard community project

  1. #46
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Snafuist View Post
    Talking about "unintuitive as vim": that's exactly what I like about my idea. With an independant core, the user is free to choose whatever client interface he wants to use (think of blinking OpenGL GUIs and conservative ncurses-like console interfaces). AFAIK all our current editors don't separate the view/control from their respective core unit, which makes it hard to modify things, let alone porting the software to a new environment, e.g. cell phones/toasters. With an interactive core, it will be easy to come up with new clients for different platforms and different needs. My guess is that any decent Perl programmer should be able to build a full-featured client in less than a week (add another week for C).
    When I first read this I thought it was a neat idea, however, if you think about it a little more deeply you might recognize it is almost oxymoronic: the most the "independent core" might hope to be is a conceptual framework and not an actual coded interface (a back end for the user-interface front-end).

    In other words, you cannot write an integrated "text editor engine" or something that could be implimented this way. You could write a limited set of functions that could be used, but many of the "conceptual connections" between such functions would have to be just that, because they would be implemented completely in the front-end; there will be no place for them beyond the programming of the actual interface, whether it is Qt or ncurses, etc. So you could create an independent library of features as applicable, and then an abstract which describes the functioning of the front-end, but I am sure you will quickly find that is impossible or pointless to try creating a functional process that will "interact" with an independently coded GUI. "Quickly", as in the day you start actually coding.

    Not to ixnay the whole idea, just to provide some perpective.
    Last edited by MK27; 05-12-2009 at 11:26 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  2. #47
    Making mistakes
    Join Date
    Dec 2008
    Posts
    476
    What about functions like substitute(this, that) or refresh()? I agree, it would be difficult.

    We need a project that's very versatile. What about a new standard C Library? ;-p

  3. #48
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Brafil View Post
    What about functions like substitute(this, that) or refresh()? I agree, it would be difficult.
    Sure, as I said you could have a library of functions for use in text editors. My point is that some features would lend themselves to the concept (working on text independent of the interface) but many would be have to be implemented directly using an API (be it Qt or ncurses or whatever) and you will have a problem trying to create two layers where, logically, only one can have any meaningful significance.

    Also, I guarantee that Snafuist has it backward:
    Quote Originally Posted by Snafuist View Post
    My guess is that any decent Perl programmer should be able to build a full-featured client in less than a week (add another week for C).
    The time consuming complicated part will be writing a front-end user-interface (client) to work with the back-end conceptual engine (which will be orders of magnitude simpler, just as with a web server/client relationship, conceived of on a one-to-one basis, would mean the server is much, much simpler than the client). I'm sure anyone familiar with GUI programming will concur*, and console text interfaces (eg ncurses) are much the same story. So, once again, you are looking at a library (which is not at all a bad idea, but lets call a car a car).

    *if you want my longer winded technical explanation of why, you can ask...
    Last edited by MK27; 05-12-2009 at 09:59 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  4. #49
    Making mistakes
    Join Date
    Dec 2008
    Posts
    476
    No need, I believe you're right.

  5. #50
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Snafuist, your concept sounds a lot like what is in Emacs called a "buffer." A dynamic data structure whose sole purpose is to maintain line-based text and allow arbitrary operations on it. In Emacs, these operations are described in a Lisp-like language called Emacs Lisp.

    Not that reinventing the wheel is bad. It's just that I've heard this before. Everybody always wants to make a game, the world's best text editor, or a compiler. The problem is in finishing the project...

    I don't have a strong opinion what people decide they want to do. I'll just act as coordinator. Actually writing code is kind of an iffy proposition for me since I have some "interesting" employment contracts.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  6. #51
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by brewbuck View Post
    Snafuist, your concept sounds a lot like what is in Emacs called a "buffer." A dynamic data structure whose sole purpose is to maintain line-based text and allow arbitrary operations on it. In Emacs, these operations are described in a Lisp-like language called Emacs Lisp.
    In GUI programming (well, I know gtk) the text buffer is also a distinct entity from the "text view" (or presentation), but this is trivial. You can, of course, perform any operation you want on the buffer -- w/ my last project you can eg, process the buffer on view with an external command (which could be a script, etc.) but this is not to say that writing an editor independent of the interface would be a useful undertaking. You can already write scripts to process text -- that's normative.

    Quote Originally Posted by brewbuck View Post
    I don't have a strong opinion what people decide they want to do. I'll just act as coordinator. Actually writing code is kind of an iffy proposition for me since I have some "interesting" employment contracts.
    I think you & zacs7 should step up then with the "build thing" and start coordinating/organizing! Otherwise I will just play pundit 'til the cows come home
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  7. #52
    Making mistakes
    Join Date
    Dec 2008
    Posts
    476
    Yeah, agree. Maybe you could give some more proposals and/or work the given ones out. We should make a poll. Really. Explaining what needs to be done for what.

  8. #53
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by Brafil View Post
    Yeah, agree. Maybe you could give some more proposals and/or work the given ones out. We should make a poll. Really. Explaining what needs to be done for what.
    I'll post a poll a bit later today. Snafuist is working on getting a server set up for source code hosting. I'll keep you folks updated.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  9. #54
    Making mistakes
    Join Date
    Dec 2008
    Posts
    476
    Great Idea! What will we use? SVN? CVS? git? Bazaar? Maybe poll again

  10. #55
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by Brafil View Post
    Great Idea! What will we use? SVN? CVS? git? Bazaar? Maybe poll again
    At this point it looks like SVN, but I wouldn't mind git either. It would take a loaded gun to convince me to use CVS
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  11. #56
    Making mistakes
    Join Date
    Dec 2008
    Posts
    476
    I think many people use SVN. I'm starting to learn.

  12. #57
    Complete Beginner
    Join Date
    Feb 2009
    Posts
    312
    Snafuist is working on getting a server set up for source code hosting.
    The server (2GHz, 1GB, 20GB, ~6MB/s into the internet) is already running, but it isn't reachable from the internet yet. The guys at our computing center expressed a certain hope that it will work tomorrow, but we'll see... So far, it is running SSH, Apache and an SVN server. brewbuck, laserlight and me will take care of the administration.

    Funny story: yesterday, I called the responsible guy at the computing center and explained the situation (i.e. I have a server running WWW, SSH, SVN and need an IP reachable from the internet), and he said "write me an email". So I wrote him an email, again explaining everything which might be of interest to him. An hour later, he replied: "call me". At this point, I was a bit concerned that we're entering some kind of an infinite loop, but when I called him today, I had the impression that they're now finally starting to do their job.

    Let's see what happens tomorrow.

    Greets,
    Philip
    All things begin as source code.
    Source code begins with an empty file.
    -- Tao Te Chip

  13. #58
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    Personally, I don't think yet-another-editor is a good idea. Everyone seems to already have their preference, why would I use anything other than vim? And emacs when I'm _really_ forced to

    A native build system is rather useful, especially for small projects.

    > It would take a loaded gun to convince me to use CVS
    What about RCS?

  14. #59
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by zacs7 View Post
    > It would take a loaded gun to convince me to use CVS
    What about RCS?
    Ugggh... Talk about pain. For nine years I worked on a 1.5 million line application that was source controlled entirely with RCS. And that was by choice (not my choice). I don't even want to describe the horror of branching to do a release, the terrors of compulsory locking, the absolutely fear-inducing way that RCS stores the repository files in the same source tree with the active codebase...

    Over time I came up with a several-thousand line bash script just to lessen the pain.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  15. #60
    Making mistakes
    Join Date
    Dec 2008
    Posts
    476
    Yeah... I see how terribly some programs can be. But what about the poll? [/impatiency]

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. CBoard Community Project: Poll #1
    By brewbuck in forum Projects and Job Recruitment
    Replies: 148
    Last Post: 06-10-2009, 12:04 PM
  2. Problem Displaying a Struct
    By rockstarpirate in forum C++ Programming
    Replies: 16
    Last Post: 05-05-2008, 09:05 AM
  3. Game Independent Anti-cheat Project Needs Programmers
    By GIA Project Lea in forum Projects and Job Recruitment
    Replies: 3
    Last Post: 09-15-2005, 07:41 PM
  4. CBoard Project?
    By jverkoey in forum A Brief History of Cprogramming.com
    Replies: 40
    Last Post: 06-21-2004, 03:15 PM