Announcement

Collapse
No announcement yet.

OOP, PB and We the Programmers

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • OOP, PB and We the Programmers

    Ok here I go.

    Subject to PB's approval:

    I propose opening up some OPEN SOURCE areas on this board to
    launch PB and all of us to a new level.

    (I beleive that all PB'ers are here because we just have to
    know what's under the hood.)

    In the closed thread a comment was made that PB is an excellent
    complier product, and should remain focused as such.

    I propose that an OPEN SOURCE group start on a OOP and GUI,
    RAD that pumps out the needed MODULAR code to be included in the
    main program to support ALL the API Stuff.

    (Don't mistake this idea, some products are awsome IE: EZGUI and
    the programmers need to eat, I want to focus on tools that we
    can develop so we as a community and deliver the fastest,
    tighest code in the world to OUR customers, at the least cost
    to us. I,m 47 and I think I've spent more money on programming,
    tools and utilitys than I've earned on my products.)

    Next a group to revamp the Editor and especially allow plug-in's
    for tracer/debuggers, GUI's and other tools under one editor
    that utlimately calls the PB compilers. Again OPEN SOURCE.

    Speaking for my self, I need a PB to BIN compiler to satisify my
    screaming LINUX customers, especially CGI in BIN. (Please Bob)

    The last group will produce a GUI front end PD/DLL OPEN SOURCE
    code aimed at remote admin of Linux systems. I want to stay with M$
    and windows, but I need to support many Linux / Unix systems.
    Maybe this group can produce a link LIB for other OS's.

    I have server space and a "TARGET" Linux system.

    I'm done...

    Mike
    [email protected]

    ------------------


    [This message has been edited by Mike Comeau (edited January 31, 2001).]

  • #2
    Don't forget databases!

    We can provide a very flexible starting point later this year.

    No questioning that an open source development of expansion tools would make PB the most flexible language available.

    This could not happen though without PB blessing and support. Future updates to the compiler would have no room for code breaking after such a project is underway!

    Also, there would have to be word from PB that this project does take away from PB’s current ongoing plan for expansion of the compiler. Don’t bite the hand that feeds you!

    The final concern would be that everyone here appears to be rather busy people with lots of work already. Though I guess many people here seem to leave time for “playing”

    Colin Schmidt
    ------------------
    Colin Schmidt & James Duffy, Praxis Enterprises, Canada
    [email protected]

    [This message has been edited by Colin Schmidt (edited January 31, 2001).]

    Comment


    • #3
      > Future updates to the compiler would have no room for
      > code breaking after such a project is underway!

      Uh... You'd ask PowerBASIC to promise not to change anything that would break any of the Open Source projects? Why would that be necessary?

      -- Eric


      ------------------
      Perfect Sync: Perfect Sync Development Tools
      Email: mailto:[email protected][email protected]</A>
      "Not my circus, not my monkeys."

      Comment


      • #4
        I was just suggesting that some real and direct feedback from PB on such topics would be a good idea.

        Colin Schmidt

        ------------------
        Colin Schmidt & James Duffy, Praxis Enterprises, Canada
        [email protected]

        Comment


        • #5
          Regarding PB and future updates, an OPEN SOURCE library (P7.LIB) with group approved functions would provide PB with a valuable source of new compiler directives.

          Some frequent functions could be identified and included in future releases.

          An OPEN SOURCE editor / debugger / GUI designer with plug-in's would unload PB from the windows mess of questions.

          PB is in the compiler business, fast, tight, solid code.

          Unless PB is entering the GUI fray, I think we can all contribute to a standardized interface to make PB real solid and easy to customize.

          Products like EZGUI could simply plug in to the editor.

          Lets not forget the HELP area. Most of the questions on this forum could be complied into a single HOW TO and FAQ.

          I don't have time to do this myself either, but on the other hand, I spend the same time searching for the answers only to find the question presented many times over.

          Mike...


          Mike...

          ------------------


          [This message has been edited by Mike Comeau (edited January 31, 2001).]

          Comment


          • #6
            I have a few problems with this thread, PB are in the SOFTWARE business
            servicing their client base plus any new customers that discover the
            product range. They have continued to improve their technology with each
            version and have not been restricted in their direction by any other
            product.

            If people want to contribute to an open source project, I think fine but
            attempting to confine what PB INC will do in the future is a mistake, it
            will not happen and they will continue to do their own R & D. This is a
            good thing as they have delivered in the past and will continue to work
            at doing it again.

            Regards,

            [email protected]

            ------------------
            hutch at movsd dot com
            The MASM Forum

            www.masm32.com

            Comment


            • #7
              I aggree,

              PB has said that they won't release what's in their next version.
              So what happens when we write some OO or an editor or a GUI interface only to find out
              that it is included in the next version, all our time is wasted then as
              building OO into the compiler will be better than anything we can do.

              If you want open source, I think the Database idea was excelent. We could create PBODBC.inc or .dll
              and add great DB support to pb in a free for all module.

              A more difficult project would be activeX, maybe a dll to support that? don't know much about it though so it might not be possible (but Borland supported it)

              Maybe PB will tell us what definately will NOT be in the next compiler (in line with their vapourware policy) Tell us where they are definately NOT going with their product in the next release
              that way we know what direction to point our efforts, I'm sure they've decided whether they are having a GUI so "NO" means "No" and silence means maybe

              what do you think?


              ------------------

              Paul Dwyer
              Network Engineer
              Aussie in Tokyo
              (Paul282 at VB-World)

              Comment


              • #8
                What about having a long hard think about all of this...
                What do we all possess that we can share?
                Knowledge, Programming prowess, Programming skills in different areas.

                How can we share these valuable resources to take ourselves and PB
                to new heights?

                Well I've been having a think about it and I have this idea about an
                application for sharing our skills.

                I'd like to keep it as simple as possible to begin with but I envisage
                a kind of 'ideas browser' which will be similar to a web browser
                but used for collaborating on 'ideas' or projects across the Internet.

                To keep it simple lets imagine that we want to collaborate on creating
                a diary program. The first user opens his Ideas browser which connects
                to the main server and shows him a list of projects currently being collaborated upon.
                He chooses 'Create New Project' and names it 'Diary' whereupon his editor opens
                on a new page and he begins to write his code, he writes the main loop
                and a couple of subroutines and then he's tired so he goes to bed.
                The next day when he opens his Ideas Browser he sees that others have added
                to his project, user B in Canada has re-written his PageDisplay subroutine
                because in the notes from user B he says it's more efficient, fixes a bug
                and its faster,,, The first user can choose to incorporate this new version of the subroutine
                into his project to try it, he can step back to his old subroutine at any time or even ones before that etc.
                The Ideas Browser keeps tabs on any changes and allows rollback-forward on any changes made
                then you can compile straight from the ideas browser using CC2 or DLL6.

                Perhaps the first collaboration project might be when the shell of the Ideas Browser itself
                is made, to improve on the Ideas Browser itself????

                Any thoughts?

                Ian in Oxford, England


                ------------------




                [This message has been edited by ian mcallister (edited February 01, 2001).]

                Comment


                • #9
                  Disclaimer: My company distributes Third Party tools for PowerBASIC, so I am not unbiased.

                  Paul --

                  The first two paragraphs of your message seem to me to be in conflict. Why would database functions be exempt from being built into the compiler, and wasting your time in the same way?

                  In fact, when we were in the early stages of writing SQL Tools -- when we realized what a huge project it was going to be, and not wanting to waste our time -- we contacted PB. They were not prepared to say that database functionality would never be added to the compilers.

                  To be 100.00% clear, they did not say that they had any plans to do so. I don't want to start any rumors! In fact they would not say anything definitive, one way or the other. They explained that all avenues were open to them, and that they did not think it was a good idea to limit their options in any way.

                  When you think about it, why would they?

                  All --

                  At some point, a company like PowerBASIC has to make some hard choices. They can't do everything as well as they do compilers, so they encourage Third Party vendors to create add-ons. We then do so at our own risk. If you want to create Open Source projects you must take the same risk.

                  One final note... I can't speak for PowerBASIC -- I don't recall ever speaking to them about Open Source -- but it seems to me that actively encouraging Open Source projects would actively discourage Third Party development. Believe it or not, distributing high quality Third Party tools is hard works and not a way to "get rich quick". I'm sure you can understand that anything that threatens to undermine the usefulness of our tools reduces our motivation to create and support them. (By "our" I mean the entire Third Party community.) So by asking PowerBASIC for a statement of support you may be placing them in the awkward position of undermining their support for their Third Party vendors.

                  -- Eric Pearson, Perfect Sync Software

                  ------------------
                  Perfect Sync: Perfect Sync Development Tools
                  Email: mailto:[email protected][email protected]</A>

                  [This message has been edited by Eric Pearson (edited February 01, 2001).]
                  "Not my circus, not my monkeys."

                  Comment


                  • #10
                    A sticky problem,

                    We want to help PB and ourself in the process, We don't have the time to become third party vendors ourselves because we have other jobs, but at the same time our needs are not being met... look at the wishlists floating around.
                    If a new version had just come out then we know that it's not wasting our time as a further version would be quite a ways off, on the other hand the next version of PB might not be to 2005 so it would be wasting time WAITING for PB's next version when we could be helping our selves.
                    As you say, 3rd party vendors face the same problem except on a professional level (well, you know what I mean).

                    Know one really knows why PB won't talk, (the vapourware quote is quaint but surely a company would have partners (like third party vendors) who they would keep abreast of events as they are filling gaps in their compilers feature fall shorts)

                    As for my ODBC quote earlier, I'm not sure why but ODBC doesn't seem to be the sort of thing PB would add (could be wrong) but like you said, it relies certain parts being installed on the OS and it doesn't seem to be in line with their core business (Jesus, I sound like I work for AT&T! Funny, I Do)

                    Still, from what you say one thing is obvious, from their lack of comment, PB have balked both their customers and their third party vendors, no one knows where to go, but we'd really like to go with PB.
                    I hope that their Vapourware policy is one of those "Big Hard Decisions" that they are thinking about, We're not kids, we're not going to point the finger and say
                    "Ner ner, Vapourware Company", More likely we'll say
                    "Thank you for telling us that your next release will not support XZY, I know now the effect that this will have on MY customers who I like to keep informed"


                    ------------------

                    Paul Dwyer
                    Network Engineer
                    Aussie in Tokyo
                    (Paul282 at VB-World)

                    [This message has been edited by Paul Dwyer (edited February 01, 2001).]

                    Comment


                    • #11
                      The PB Compiler does keep getting better !

                      It is important not to try to push on PowerBasic a concept or
                      model that would conflict with their own goals for the compiler,
                      such as a large feature set and producing tight "lean and mean"
                      executables.

                      That said :

                      I do agree there needs to be some better RAD tools !

                      But how to impliment them ?

                      My suggestions :

                      (1) Add Static Libraries to the PB compiler (must have).

                      (2) Create an Open Source specification for AddOns (Wizards)
                      for use with any IDE (both PB's and others), which Kev Peel and
                      myself have already done and are working on improving.

                      see : http://ezgui.com/pbaddon.htm

                      Just the two suggestions above alone would produce a huge number
                      of Integrated RAD tools for PB (both by PB themselves and Third
                      party developers).

                      Imagine Jazzage's COM stuff put into a static Library !
                      We'd have COM support for PB in a few months !

                      Imagine WinLift as a static Library !

                      This is a little more advanced, but possible !

                      (3) The Static Library feature for PB should have some kind of
                      IDE Declaration component (a separate file from the Library itself)
                      which would define all the subs/functions in the Library for the
                      benefit of the IDE. I am not talking about an include file. A Static
                      Library should not need an include file per se. It should have its own
                      unique Declaration component, so the IDE will not only know the
                      proper syntax for the Libraries subs/functions , but the IDE will
                      treat all the subs/functions as if they were part of the language
                      and they would be highlighted by the IDEs syntax engine, just like
                      native PB commands (maybe a different color would be fine). All the
                      TYPES and Constants as well would become part of the language to
                      the IDE's editor.

                      (This may require some kind of fudge factor just in case two Libraries
                      use similiar function names.)

                      By making the IDE smarter in recognizing the Static Library as if
                      it were part of the Language, it would become easy to extended the
                      PB Language.

                      IMO, PowerBasic definitely needs to add some kind of component model
                      to their compiler. The VBX component model made VB (16 bit) successful.

                      This is all I ask for in PB 7.0 !

                      If PB 7.0 were to add these features, then by time PB 8.0 came out
                      you wouldn't recognize the product. The component model above would
                      open up so many possibilities for PB, it would be amazing.

                      This one is a bit more controversial, but I think it would make
                      a difference.

                      There should be some kind of "simple" OOP model added to the
                      Static Library feature. The OOP model need not be complex. It
                      simply needs to offer the ability to associate not only data types
                      to a TYPE but also Functions/Subs associates with a TYPE. Rather
                      than use the keyword TYPE it would be simply OBJECT.

                      Here is a simple implimentation :

                      Code:
                      ' USING requires two functions one for SET and one for GET
                      ' PRIVATE members can not be accessed outside of the 
                      '     SET,GET or METHOD Subs/functions
                      ' METHOD members are simple SUB calls
                      '
                      '
                      TYPE MyOBject as OBJECT
                         MyNum as LONG USING SetMyNum, GetMyNum
                         MyAsciiZ as ASCIIZ*32 USING SetMyAsciiz, GetMyAsciiz
                         MySingle as SINGLE USING SetMySingle, GetMySingle
                         MyNum2 as PRIVATE LONG
                         MyAsciiZ as PRIVATE ASCIIZ*128
                         MyhWnd as PRIVATE LONG
                         MyFlag as PRIVATE LONG
                         MyMethod as SUB USING UseMyMethod
                         MyGetReadOnlyProp as FUNCTION USING GetPrivateProp
                      END TYPE
                      '
                      '
                      ' The first parameter must match the Object type
                      '
                      SUB SetMyNum(Me as MyObject, BYVAL NewVal&)
                      Me.MyNum=NewVal&
                      ' do anything else since you have access to all of the Objects properties
                      END SUB
                      '
                      '
                      '
                      SUB SetMyAsciiz(Me as MyObject, BYVAL NewVal$)
                      Me.MyAsciiZ=NewVal$
                      ' do anything else since you have access to all of the Objects properties
                      END SUB
                      '
                      '
                      '
                      SUB SetMySingle(Me as MyObject, BYVAL NewVal!)
                      Me.MySingle=NewVal!
                      ' do anything else since you have access to all of the Objects properties
                      END SUB
                      '
                      '
                      '
                      FUNCTION GetMyNum(Me as MyObject) as LONG
                      FUNCTION=Me.MyNum
                      ' do anything else since you have access to all of the Objects properties
                      END FUNCTION
                      '
                      '
                      '
                      FUNCTION GetMyAsciiz(Me as MyObject) as STRING
                      FUNCTION=Me.MyAsciiZ
                      ' do anything else since you have access to all of the Objects properties
                      END FUNCTION
                      '
                      '
                      '
                      FUNCTION GetMySingle(Me as MyObject) as SINGLE
                      FUNCTION=Me.MySingle
                      ' do anything else since you have access to all of the Objects properties
                      END FUNCTION
                      '
                      '
                      '
                      SUB UseMyMethod(Me as MyObject, BYVAL MyParam1&, BYVAL MyParam2&)
                      LOCAL hWnd&
                      ' do something like Create a Control and get hWnd back
                      Me.MyhWnd=hWnd&
                      Me.MyFlag=1
                      END SUB
                      '
                      '
                      '
                      FUNCTION GetPrivateProp(Me as MyObject) as LONG
                      FUNCTION=Me.MyhWnd
                      END FUNCTION
                      '
                      '
                      '   Later on in actual code the use of the OBJECT
                      '
                      '
                      DIM  Test as MyObject
                      '
                      ' Set Properties
                      '
                      Test.MyNum=250
                      Test.MyAsciiz="Hello There"
                      Test.MySingle=100.32
                      '
                      '
                      ' Use a Method
                      '
                      '
                      Test.MyMethod 10, 20
                      '
                      '
                      ' Get Properties including Read Only if you desire
                      '
                      '
                      hWnd&=Test.MyGetReadOnlyProp
                      Num1&=Test.MyNum
                      D$=Test.MyAsciiz
                      X!=Test.MySingle
                      The example above (which PB can use if they like it) demonstrates
                      a simple OBJECT model that uses common Basic like constructs and yet
                      it adds the ability to get and Set properties, use Methods and to
                      have private data unique to each Object instance.

                      I don't think it would be awful hard to add the above OBJECT model.

                      It is simple, to the point and has all the features necessary to
                      impliment OBJECT with little change to the language.

                      Now if you combine the OBJECT model above to STATIC Libraries,
                      then you have a real winner !

                      ------------------


                      [This message has been edited by Chris Boss (edited February 01, 2001).]
                      Chris Boss
                      Computer Workshop
                      Developer of "EZGUI"
                      http://cwsof.com
                      http://twitter.com/EZGUIProGuy

                      Comment


                      • #12
                        I think PB's "No Pre-announcement Policy" is based entirely on the need to preserve operating cash flow.

                        Any announcement about features in a forthcoming release can have the effect of causing potential buyers of the current release to wait for the new. For a company that derives nearly all of its revenue from a small product line, such an action could cause a significant decline in sales. That could cripple the company if the release is still months away.

                        Microsoft can use "pre-announcement" as a strategic marketing weapon only because their product line and cash reserve are so vast. They can afford to see sales of a current release drop off significantly after announcement of a new release - even if the new software is still on the design board.



                        ------------------

                        Comment


                        • #13
                          Eric, Chris , ALL

                          OPEN SOURCE will promote third party developers. I suggest that the OPEN SOURCE contain Lite Versions of the third party add on's.

                          Further, any change that PB makes that will make the OPEN SOURCE obsolete, will also KILL the third party vendors ALSO!

                          I can't swing my peers over to PB due to the lack of a unified direction by anyone.

                          At least OPEN SOURCE will strive to combine our collective knowledge and help PB along by becomming more appealing to nebies.

                          Mike...
                          Notice Alarm
                          [email protected]



                          ------------------

                          Comment


                          • #14
                            Mike --

                            > OPEN SOURCE will promote third party developers.

                            How so?

                            > I suggest that the OPEN SOURCE contain
                            > Lite Versions of the third party add on's.

                            That's very generous of you. But it doesn't make sense to me. For example, why would we provide a Light version of SQL Tools (presumably free) for a package of source code that was designed to eliminate the need for SQL Tools? I'm not trying to be rude, it just doesn't make sense from a business standpoint.

                            > Further, any change that PB makes that
                            > will make the OPEN SOURCE obsolete, will
                            > also KILL the third party vendors ALSO!

                            Sorry, that is simply not true. For example, my company's tools are 100% standard Windows DLLs which can be used by any language that can call functions in standard DLLs. Changes in the compiler would not affect them at all. Unless PB were to remove support for external DLLs, which IMO is unlikely in a product called PB/DLL. There are very few changes that PB could make that would require anything more than a 10-minute editing session on the declaration files.

                            -- Eric


                            ------------------
                            Perfect Sync: Perfect Sync Development Tools
                            Email: mailto:[email protected][email protected]</A>

                            [This message has been edited by Eric Pearson (edited February 01, 2001).]
                            "Not my circus, not my monkeys."

                            Comment


                            • #15
                              Hi,

                              My wishlist about PowerBasic 32-bit DLL Compiler for Windows:

                              1. Building an new IDE with Windows Graphical IDE with components,
                              forms, properties, methods en classes like the concept Delphi.
                              I"m busy to build an new IDE in Borland Delphi Language

                              2. The language stay PowerBasic, WinAPI en build-in now OOP.

                              3. Static libraries and Units

                              4. New datatypes: CHAR, ENUM, SET, OBJECT and CLASS
                              5. New keywords from OOP :
                              CLASS...END CLASS
                              DIM <var> AS OBJECT
                              CONSTRUCTOR..END CONSTRUCTOR
                              DESTRUCTOR.. END DESTRUCTOR
                              POLYMORFISM
                              INHERATED
                              CREATE, DESTROY, FREE
                              PRIVATE, PUBLIC, PROTECTED

                              6. Creating Custom Controls with Classes

                              7. Support ActiveX en VCL libraries from Borland

                              8. Forms, Projects, Units like earlyer example PBDOS support Units
                              Build this in PBCC and PBDLL

                              9. Other name : PowerBasic for Windows instead PowerBasic 32 bit DLL Compiler

                              10. Advanced Error trapping

                              11. Build-in Debugger and External Advanced Debugger

                              I will see build-in OOP in PB

                              Greetings,
                              Steven


                              ------------------

                              Comment


                              • #16
                                "Steven" --

                                You're not fooling anybody.

                                -- Eric

                                ------------------
                                Perfect Sync: Perfect Sync Development Tools
                                Email: mailto:[email protected][email protected]</A>



                                [This message has been edited by Eric Pearson (edited February 02, 2001).]
                                "Not my circus, not my monkeys."

                                Comment


                                • #17
                                  Steven, you have already posted this list once to this BBS when you first became a member.

                                  Please refrain from posting the same requests multiple times, since your initial request is the one that matters.

                                  However, I draw your attention to the BBS rule that Alias's and Handles are not permitted to be used here. If "Steven Borghout" is not a real person, but is an alias for another member to this BBS that makes repetitive (and identical!) feature requests, then both of these members face instant BBS membership removal.

                                  Thank you.

                                  ------------------
                                  Lance
                                  PowerBASIC Support
                                  mailto:[email protected][email protected]</A>
                                  Lance
                                  mailto:[email protected]

                                  Comment


                                  • #18
                                    Steven
                                    I'm new user and Student in the University of Ghent

                                    [This message has been edited by Steven Borghout (edited February 02, 2001).]

                                    Comment


                                    • #19
                                      Originally posted by Lance Edmonds:
                                      Steven, you have already posted this list once to this BBS when you first became a member.

                                      Please refrain from posting the same requests multiple times, since your initial request is the one that matters.

                                      However, I draw your attention to the BBS rule that Alias's and Handles are not permitted to be used here. If "Steven Borghout" is not a real person, but is an alias for another member to this BBS that makes repetitive (and identical!) feature requests, then both of these members face instant BBS membership removal.

                                      Thank you.


                                      I'm sorry for repeating
                                      I'm Steven Borghout it's my realname and I'm new user and I cant' Stephane Fonteyne

                                      I see build-in OOP and Visual Programming thats all like Delphi
                                      I'm very interested for in the future buy your product.
                                      I heart that PowerBasic very great is and advanced

                                      Thanks,
                                      Steven

                                      My realname : Steven Borghout
                                      Use PCAnywhere if you don't believe it, I'm private user not an company


                                      ------------------

                                      Comment


                                      • #20
                                        Eric,

                                        I agree with you 100%.

                                        Any third party developer SHOULD have an alternate platform, that's why PB exists, we got tired of VB and moved.

                                        Obviously, we all could port to C if needed.

                                        I write 8051 series compilers in PB for embedded applications.

                                        How long will it be before a Third Party produces a compiler.

                                        Will they still be a PB Third Party or a compettor of PB?

                                        As long as this forum is provided for and paid for by PB, I feel obligated to support PB in full.

                                        I deely respect and admire the creative aspects and power of ALL Third Party developers.

                                        It's too bad we all couldn't work for PB, with our combined talent, we could certainly become an entirely new OS.

                                        I like the thought of PBOS, that includes Linux and DOS under one OS.

                                        I hate C, hate C...

                                        Does anyone know of any PB code or Third Party code to make compiled Linux, CGI code?

                                        [email protected]




                                        ------------------

                                        Comment

                                        Working...
                                        X