View Poll Results: Choice of project

Voters
24. You may not vote on this poll
  • A small scripting language, possible using bytecode.

    11 45.83%
  • A C compiler.

    6 25.00%
  • An internationalization (i18n) library.

    4 16.67%
  • An implementation of the C++ STL for C.

    5 20.83%
  • An operating system.

    7 29.17%
  • A portable build system.

    9 37.50%
  • A "modern" editor (MVC pattern).

    4 16.67%
  • A game maker.

    2 8.33%
  • An RPG.

    2 8.33%
  • An IDE with integrated SVN support.

    4 16.67%
Multiple Choice Poll.

Thread: CBoard Community Project: Poll #1

  1. #76
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by phantomotap View Post
    How would you parse and apply all of them without implicitly parsing what is arguably a free function?

    Soma
    Hence, syntactical sugar. Yes, it is exactly the same thing as a free function. There is no "arguably". So why bother with a syntax for functions and a syntax for methods?

    Understand, I am approaching this in a completely one sided way -- it will not matter to the person using the language whether you call it a function or a method or a subroutine (at least, it should not). I have *absolutely* no knowledge of how all this is going to be implemented. I'm a complete ignoramus there.

    So, if you think it will be just as much work in the implementation to have functions and methods as it would be to just use methods, fine. But if it is going to be *more*, then I think you will have to justify the apparent redundancy -- and style is not a valid excuse.

    Using a purified OO model (all method) will undeniably reduce the syntax. That too is "just style" UNLESS it will also reduce the whole code base of the project, which was my original motive for the suggestion. But I admit my naivete; I have no real evidence that that would be the case.
    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. #77
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    "There is no "arguably"."

    Tell that to a "hard core" Java programmer. o_O

    "So why bother with a syntax for functions and a syntax for methods?"

    You seem to be misunderstanding what I'm saying. (Or maybe I've misunderstood your motivating example.) Even as purely syntactical sugar, the additional syntax--the sugar--must be parsed/examined. Or was your reference to Ruby simply an aside? Do you intend something like this for free functions?

    Code:
    all_mighty_universal_object.puts "Hello, World!"
    With whatever name may be chosen? O_o

    "style is not a valid excuse"

    Well, at least we agree there.

    "Using a purified OO model (all method) will undeniably reduce the syntax."

    This is undeniably true, but do you really want such a verbose language? As a potential user--not a developer--of this language? 'Cause me, I like syntactical sugar for things like closures, operators, constructors, destructors, and generics.

    Soma

  3. #78
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    brewbuck (and whoever cares):

    You've brought up "boost.jam". Now, that is a hugely complex system which, nearest I can remember, is heavily associated with the environment. (If I recall, it "knows" if the given environment supports "unistd.h" for example.) Do you envision handling this automatically? Or maybe just use scripts for that? I know you said you didn't intend dictation, but I'm sure everyone wants your thoughts just the same.

    Anyway, the various have referenced configuration files. Are these envisioned as scripts dealing with all manor of languages/platforms as well? In other words, is this targeted to the C/C++ model or are we starting with a larger canvas?

    Soma

  4. #79
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by phantomotap View Post
    Do you intend something like this for free functions?
    There was an example in my discussion with laserlight, if you want to look back thru the thread, since I am beginning to believe you have the same concern she did.* Here's another example:
    Code:
    def verifydir (name)
            return false if File.ftype(name) != "directory"
            list = [".", "..", "lists", "xtra"]
            short = File.basename(name)
            list.each { |comp| return false if short == comp }
            return true
    end
    Looks like a function, but it's a method. Only one syntax. An example call would be
    Code:
     
    if verifydir(pathsub)
             list[artist].dirpath = pathsub if list.has_key?(artist)
    This being the case -- I hate to seem a simpleton -- I just don't see the point of making functions distinct from methods.

    Code:
    but do you really want such a verbose language?
    I presume you meant "unverbose". Yeah I'm verbose, but I like unverbose. Which is to say, not making it "multi-paradigm" just to suit different preferences, but only in so far as additional/redundant syntax serves a clearly defined purpose.


    *which raises another issue, that we will need to come up with a method of discussion not based on someone logging in, reading one or two of the last posts, and then starting a loop. Probably this would involve creating a set of "issues" or "concepts" which everyone could deal with on their own time, and nobody will have to feel that they contributed a bunch of well thought out stuff that's just gonna get buried in a thread. Presuming Snafuist got us server space, we could set something up there, or else ask for own own forum w/ multiple threads. I'd rather do the former, although that will involve more work and might take some days.
    Last edited by MK27; 05-20-2009 at 05:01 PM.
    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

  5. #80
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    "There was an example [...] the same concern she did."

    LMAO! ^_^

    No wonder, LL gets angry with me...

    "Looks like a function, but it's a method. Only one syntax."

    O_o

    Okay, before I rant and ramble on, be very, very clear for me. Pretend I'm a baseless and arrogant monkey with a severe learning disorder. Can you post an example of a "function" call and a "method" call in the same example? I have a "function"/"method" that dumps exactly one integer value to a screen, how do I call it? I have an integer object and I want to convert it to a string with a "function"/"method", how do I call it?

    "I presume you meant "unverbose". Yeah I'm verbose, but I like unverbose."

    No. I mean verbose. With a few intentionally horrid exceptions, the less expressive the syntax, the more verbose the language.

    Soma

  6. #81
    Complete Beginner
    Join Date
    Feb 2009
    Posts
    312
    Quote Originally Posted by MK27 View Post
    Presuming Snafuist got us server space, we could set something up there, or else ask for own own forum w/ multiple threads.
    We have our own server, it's up and running smoothly. Currently, it's running a wiki as part of Retrospectiva, a web based ticket system / SVN code browser. It's of course no problem to additionally set up some kind of forum software. I like the wiki approach as I see some advantages over ordinary forums, but we will have to decide that in a more democratic way.

    I'm currently waiting for a response from laserlight and brewbuck (the other admins) whether we should switch to the new server or stick with the cboard forum for a while. In the long run, I'd prefer to have everything in one place (and I think it's best to do the transition as soon as possible), but I don't want to invite you to use the new server until laserlight and brewbuck both agree.

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

  7. #82
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by Snafuist View Post
    I'm currently waiting for a response from laserlight and brewbuck (the other admins) whether we should switch to the new server or stick with the cboard forum for a while. In the long run, I'd prefer to have everything in one place (and I think it's best to do the transition as soon as possible), but I don't want to invite you to use the new server until laserlight and brewbuck both agree.
    I'm fine with moving discussions to the server if everybody else is. We should continue posting status updates on CBoard from time to time.

    I'll chime in on the current discussion a little bit later.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  8. #83
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by MK27
    Looks like a function, but it's a method. Only one syntax.
    In what context is this method being called? If it is being called from outside of a method of the class (i.e., in a context where we would expect the appearance of the name of the class or object that it is bound to), then I'd say that the duck typing principle applies: if it walks like a duck and quacks like a duck, it is a duck. Therefore, despite your assertions to the contrary, it is a function. You can call it a method too if you like, but that is just a matter of jargon.

    Quote Originally Posted by Snafuist
    I'm currently waiting for a response from laserlight and brewbuck (the other admins) whether we should switch to the new server or stick with the cboard forum for a while.
    I'm procrastinating, but I think my procrastination means that I am unwittingly voting for sticking with cboard for the time being. So okay, I'll formally vote that we move to the server. Officially we were not supposed to use this forum as a "staging ground" anyway.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  9. #84
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    "I like the wiki approach as I see [...] a more democratic way."

    Not an administrator... once some firm ground is established I can see a wiki being very useful, but I don't see how a wiki could ever be a replacement for these "off the cuff" discussions. (I avoid "wiki" so maybe I'm just being silly.)

    "Therefore, despite your [...] just a matter of jargon."

    *grumble*

    I was trying to get to that without banging him over the head with the "duck typing" thing.

    "Officially we were not supposed to use this forum as a "staging ground" anyway."

    Really?! O_o

    Soma

  10. #85
    Complete Beginner
    Join Date
    Feb 2009
    Posts
    312
    The problem is that we haven't decided on a "collaboration platform" (wiki, forum, whatever) yet, so if we start using the new server right now and eventually decide to switch to another "collaboration platform", it will take some effort to import our previously established work, if it's possible at all.

    As I said, ATM the server is running Retrospectiva, which has been characterized by brewbuck as being "neat", which is exactly what it is. It fits our current needs, but it doesn't scale at all. Maybe it would be better to use a full-featured wiki/forum software and a full-featured ticket system (Bugzilla?). I actually prefer the latter.

    Suggestions/ideas/opinions anyone?

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

  11. #86
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by phantomotap
    Really?! O_o
    Yeah, it says so in the specific rules for this forum, but obviously we are not enforcing them

    Quote Originally Posted by Snafuist
    It fits our current needs, but it doesn't scale at all.
    In what way does it not scale?

    Quote Originally Posted by Snafuist
    Maybe it would be better to use a full-featured wiki/forum software and a full-featured ticket system (Bugzilla?). I actually prefer the latter.
    We could do both, but it is important to retain the cboard identity, methinks. (Incidentally, I would prefer trac over Bugzilla, but that's because I have more experience with trac than Bugzilla. Familiar is friendly.)
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  12. #87
    Complete Beginner
    Join Date
    Feb 2009
    Posts
    312
    Quote Originally Posted by laserlight View Post
    In what way does it not scale?
    Retrospectiva's ability to adapt to upcoming needs is non-existent. It's a lightweight all-in-one wonder, actually very similar to Trac, but much easier to administrate.

    By using stand-alone solutions independent of each other for different tasks (communication, ticketing, repository browsing), we're free to replace them if it turns out that we need something different. To this respect, it's probably better to have a forum on its own, a ticket system on its own, an SVN browser on its own and so on.

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

  13. #88
    Registered User
    Join Date
    May 2006
    Posts
    903
    Quote Originally Posted by phantomotap View Post
    "There is no "arguably"."

    Tell that to a "hard core" Java programmer. o_O

    "So why bother with a syntax for functions and a syntax for methods?"

    You seem to be misunderstanding what I'm saying. (Or maybe I've misunderstood your motivating example.) Even as purely syntactical sugar, the additional syntax--the sugar--must be parsed/examined. Or was your reference to Ruby simply an aside? Do you intend something like this for free functions?

    Code:
    all_mighty_universal_object.puts "Hello, World!"
    With whatever name may be chosen? O_o

    "style is not a valid excuse"

    Well, at least we agree there.

    "Using a purified OO model (all method) will undeniably reduce the syntax."

    This is undeniably true, but do you really want such a verbose language? As a potential user--not a developer--of this language? 'Cause me, I like syntactical sugar for things like closures, operators, constructors, destructors, and generics.

    Soma
    I'd definitely try System.Console.Write() as a name.

  14. #89
    Complete Beginner
    Join Date
    Feb 2009
    Posts
    312
    I set up a forum (phpBB3) which we can use to discuss which forum to use:

    http://hal9000.physik.uni-saarland.de/phpBB3/

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

  15. #90
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by laserlight View Post
    in a context where we would expect the appearance of the name of the class or object that it is bound to), then I'd say that the duck typing principle applies: if it walks like a duck and quacks like a duck, it is a duck. Therefore, despite your assertions to the contrary, it is a function. You can call it a method too if you like, but that is just a matter of jargon.
    ARRRGGHHHH! Are you two just trying to pull my chain or are you really that dense? Yes, from the perspective of the programmer, it is just a matter of jargon.
    We agree 100%.

    However, it also a matter of syntax. In perl, and I believe C++, the syntax for a method and a function are not quite the same. That means if you are parsing the language, you must provide a mechanism for doing both. Or, you could just use methods. Which should easily be possible because 1) the essential form of a function call and a method call is the same: you have parameters, you have a block of code, you have a return value. Please do not start saying silly things about the differences. 2) this has already been done in ruby.

    After all, as a C programmer, I could turn this "duck typing" around and say of the object/method concept: looks like a function, works like a function, it is a function. Because I live in a cave, before I'd ever heard of OOP I used to write perl functions that would do something like this: the first parameter is either "new", "change", or "add". If it is new, a hash is created with certain details and a hash reference is returned. If it is something else, the remaining parameters should contain a hash reference (the one returned earlier) and possibly some data. You can see what is going on here. Sounds exactly like OOP, right? Except I'd never heard of that -- but I did implement the concept intuitively (right down to the name of the "new" method) using the tools I did have (references are key to this). Since you can do something similar in C (pointer=reference), I am sure this is how Mr. Stroupstuf also hit upon the idea.

    Of course, when I found out what OOP was about in perl, I had to admit the syntax for that is much cleaner and simpler than the complex "multi-function" functions I was building, but they still look remarkably similar. And I presume C++ is cleaner and simpler than C in this sense as well -- but there is really nothing about classes, objects, and methods which makes them that distinct from a nice set of complex C functions. It's just easier. Jargon. Perl and ruby are both written in C.

    Anyway, now I've had the last word it is time to move the discussion to the new board. And don't think I'm gonna let this drop til I make you dunderheads understand...
    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

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. cboard community project
    By zacs7 in forum Projects and Job Recruitment
    Replies: 76
    Last Post: 05-16-2009, 08:30 PM
  2. Problem Displaying a Struct
    By rockstarpirate in forum C++ Programming
    Replies: 16
    Last Post: 05-05-2008, 09:05 AM
  3. CBoard Project?
    By jverkoey in forum A Brief History of Cprogramming.com
    Replies: 40
    Last Post: 06-21-2004, 03:15 PM
  4. POLL! What was your first C project?
    By webguy899 in forum C Programming
    Replies: 8
    Last Post: 05-02-2002, 11:15 PM