Announcement

Collapse
No announcement yet.

Beat Up by 'C' Thugs

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

  • Beat Up by 'C' Thugs

    I have been working on an astronomy program and was having trouble with one of my calculations. I started emailing various people such as physicists, math profs etc. Upon seeing my source code example, I always got the same "tongue lashing" why I am using "good for nothing" BASIC instead of C.

    I tried to example to explain that PowerBasic is not your average BASIC and went into its many merits. Again I got similar responses back, if I am knowledgeable in the Win API then why not move to C. Other quotes "There's a greater future and job market in C." "What happens if PowerBasic ceases to exist?". "How will you port to LINUX? C is more portable" etc. etc...

    Their comments continue to haunt me. I've been a long time BASIC user back to the first version of TurboBasic. Is it inevitable that I move to C? (or can we just add a ";" to the of lines of code and call it PowerC???)


    ------------------
    Brent Boshart

  • #2
    Stand up for what you believe 8-)

    Seriously, though, the portability aspect is IMHO the "one" reason
    to consider using C instead of PB and in terms of job market C
    *is* better accepted than PB...

    On the other hand PB code is more or less straightforward to port
    to C apart from adapting the string handling code. Of course, if
    you're using Win32 API code in C, porting it to another platform
    will require just as much work as porting PB to C.

    When the long awaited PB for Linux comes out you'll have one less
    reason for considering C.

    I was writing C and VB (funny mixture) before I "discovered" PB and
    I must say I haven't looked back since.

    Cheers

    Florent

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

    Comment


    • #3
      "long awaited PB for Linux" Is this for real or rumour? That would make my day!!!

      ------------------
      Brent Boshart

      Comment


      • #4
        PB themselves have stated that they are developing a PB for
        Linux version - that said I don't have any concrete information
        to pass on since PB does not comment on work in development - and
        I *hope* it's in development 8-)

        Cheers

        Florent

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

        Comment


        • #5
          Brent;

          First, C is NOT portabile to all platforms !

          A C program written for Windows is dependent upon the API
          function calls it makes into Windows itself. This is NOT portable
          to Linux. Yes, there are libraries available to make C apps portable
          but you have to learn their API, instead of Windows and you are
          limited if their API doesn't support some Windows features.

          Second, code written in Basic is better than code in C,
          because it is much easier to maintain. A Basic programmer can
          debug his code much faster than a C programmer can, because of its
          more simpler nature.

          A Basic compiler (PB) that is fast allows you to port "tons" of
          available VB code as well.

          You have not made a mistake by using PowerBasic.

          IMO, PowerBasic is the best compiler on the market today.

          There is a reason why many programmers prefer Basic. If the Basic
          language was so bad, then VB would not be so popular today.


          ------------------
          Chris Boss
          Computer Workshop
          Developer of "EZGUI"
          http://cwsof.com
          http://twitter.com/EZGUIProGuy

          Comment


          • #6
            When I got that razzing from the guys in our development support group I simply showed them some apps I wrotre and asked one to write a simple loop to time and count and do various math calculations.

            He did, and sent me the code, and I sent him a .EXE back.

            It smoked his app by a few milliseconds.
            Then they saw my shareware that I wrote, gave a few utils for use here (Ie bitswap for swapping DLC destination addresses)..

            When our first PB customer called in they ALL ran to my desk to ask for help.

            Case closed.
            PowerBasic has it's respect here, not commonly used but the size and speed have been demonstrated.


            Scott Turchin
            Attachmate Technical Support.

            And as for our customer in PB, he must have resolved his issue because I was not needed after that and he apparantly did not call back..




            ------------------
            Scott
            mailto:[email protected][email protected]</A>
            Scott Turchin
            MCSE, MCP+I
            http://www.tngbbs.com
            ----------------------
            True Karate-do is this: that in daily life, one's mind and body be trained and developed in a spirit of humility; and that in critical times, one be devoted utterly to the cause of justice. -Gichin Funakoshi

            Comment


            • #7
              ATTENTION!! {smile}

              PowerBASIC for Linux is real. PowerBASIC for Linux is under development. We've said it before, but you can consider it "set in concrete".

              We'll post details, when we can, right here at www.powerbasic.com. However, at this time, no further information of any kind is available. Anything further would be "vapor-speak", and not to our taste.

              Please, please, please stay tuned... You'll be as excited as we are.

              Regards,

              Bob Zale
              PowerBASIC Inc.




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

              Comment


              • #8
                C vs BASIC?

                It's not the paintbrush, it's the artist.

                MCM


                Michael Mattias
                Tal Systems Inc. (retired)
                Racine WI USA
                [email protected]
                http://www.talsystems.com

                Comment


                • #9
                  Chris,

                  First, C is NOT portabile[sic] to all platforms !

                  A C program written for Windows is dependent upon the API
                  You are confusing C the standard (ANSI, ISO) with C the implementation (Microsoft, Borland, etc). C as defined by the standards is portable. As soon as you are tied to a vendor API all bets are off.


                  Bob,

                  Please, please, please stay tuned... You'll be as excited as we are.
                  For a while I was exicted, but I can't sit on the edge of my seat for long (I tend to fall off.)

                  John


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

                  Comment


                  • #10
                    John;

                    You are confusing C the standard (ANSI, ISO) with C the implementation (Microsoft, Borland, etc). C as defined by the standards is portable. As soon as you are tied to a vendor API all bets are off.
                    You can't write a Windows app in C without tying it to an API

                    All GUI development in either Linux or Windows "requires" calling an API.
                    This basically means that all references to C truly being portable are "mute".

                    Yeh, I could write a simpile calculation and it would be portable, but a complete GUI app (or even a text base UI) requires calling the operating system and with that portability dies !



                    ------------------
                    Chris Boss
                    Computer Workshop
                    Developer of "EZGUI"
                    http://cwsof.com
                    http://twitter.com/EZGUIProGuy

                    Comment


                    • #11
                      ATTENTION!! {smile}
                      PowerBASIC for Linux is real. PowerBASIC for Linux is under development. We've said it before, but you can consider it "set in concrete".
                      Great!!

                      Our company does a lot in the unix/linux environment and we were
                      following the kylix project very closely, because this was the
                      option for this OS. But with powerbasic also turning to linux
                      consider yourself already one buyer!!

                      Erwin

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


                      [This message has been edited by Erwin van de Wiel (edited July 14, 2000).]

                      Comment


                      • #12
                        Chriss,

                        Since you where a 'late' buyer of PB6, do you regret that?
                        (Being to long busy with PB5 i mean)


                        ------------------
                        [email protected]
                        hellobasic

                        Comment


                        • #13
                          Edwin;

                          NO !

                          Using PB 5.0 forced me to learn the API and now that I can work
                          with the API, I doubt I would switch to DDT (in PB 6.0).

                          As everyone knows, I am a firm believer in "Visual Design" since
                          coding a Dialog manually is just to "slow".

                          There are a few changes I would like to see in DDT, so I could
                          generate code for it in my upcoming Visual Designer (100% code).
                          I had to opt for SDK style code to over come some limitations
                          and the Visual Designer now generates SDK code.

                          I upgraded to PB 6.0, just so I could get a chance to play with
                          DDT and to add DDT code generation to my Visual Designer, but
                          DDT is not ready yet.

                          What DDT needs , so Visual Design can be implimented, is:

                          (1)The coordinate system needs to be able to use Single (decimal)
                          values rather Longs, for the Dialog and Control commands. Dialog
                          units don't convert exactly to pixels , since a dialog unit could
                          equal a fractional value in pixels. This one weakness caused me
                          to "temporarily" drop DDT code generation in my Visual Designer.

                          (2) DDT needs to allow more access to the DDT Message Loop. If I
                          understand it correctly DDT does have its own message pump, but
                          you can't access it like you would in an SDK style message loop.

                          (3) DDT is a Dialog Engine and loses some of the features found
                          in creating your own Window classes. DDT needs to add support for
                          creating Windows , similiar to SDK style code. Addons like
                          WinLift cannot use DDT (another reason I use SDK code generation
                          in my Visual Designer).

                          Don't get me wrong, DDT is a good beginning. It just needs some fine
                          tuning before it is ready for Visual Design.



                          ------------------
                          Chris Boss
                          Computer Workshop
                          Developer of "EZGUI"
                          http://cwsof.com
                          http://twitter.com/EZGUIProGuy

                          Comment


                          • #14
                            http://www.mainsoft.com/products/linux/linux_home.html

                            Win32 >>> Linux

                            ------------------
                            Ron

                            Comment


                            • #15
                              Originally posted by Bob Zale:
                              PowerBASIC for Linux is real. PowerBASIC for Linux is under development. We've said it before, but you can consider it "set in concrete".
                              [/B]
                              I know you can't comment on your product, BUT if I were to install
                              and learn more about Linux for purposes of using a future PowerBasic
                              product, can you at least let me know if I installed a specific
                              graphics add-on, would that be of any use? (There are several graphic add on's for Linux and
                              the jury is still out as to which one(s) will catch on and which ones
                              will become the next equivalent of the next OS2)

                              Or should future PB/Linux programmers not focus on the graphics layer at all?
                              (more like PB/CC)

                              Thanks.


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

                              Comment


                              • #16
                                Brent,

                                The usual problem with many who still write plain C is ignorance, many saw
                                a line number basic interpreter 15 to 20 years ago and did not like it but
                                as as with C, languages change over time. Basic has been around since the
                                original PC in ROM basic so it is fair to say its a stayer.

                                Its also one of the most written languages in the world and there is a very
                                large writer base of basic programmers. I grew up with assembler, basic and
                                C together and while C is currently on the decline in world terms, basic is
                                as strong as ever.

                                It is not without a reason, while a good C compiler can generate good code,
                                its development cycle time is so slow, it is rarely ever viable to work
                                with it now as other languages have a much faster output of good quality
                                binary code.

                                Portability is effectively a myth, unless you are happy with a console mode
                                interface using ANSI C, forget portable code, it is always the lowest
                                common denominator so while it may do the job for number crunching or other
                                console based applications, different operating system interface
                                requirements just don't translate from one to another.

                                This commits you to multi-port libraries and generally slower and larger
                                code that does nothing in particular well. Operating systems change over
                                time as well as hardware gets better so multiport code written some years
                                ago is often in need of a complete rewrite to get its performance up to a
                                reasonable level.

                                Operating system specific compilers will always have the advantage over
                                multiport code in terms of size and speed, if there is one thing that is
                                common across modern operating systems, its the availability of heaps of
                                system based functions. In 32 bit Windows, its the API and other related
                                functions and these do not translate to other systems.

                                I am much of the view after things like OS2 code from Microsoft years ago
                                that platform specific code is the only type worth writing. Perhaps if
                                you wanted console mode programs to run across many different versions of
                                linux, you would have a reason to write this type of code but once a
                                platform becomes popular enough, platform specific code will outperform it.

                                I have found from experience that the old C brigade have little to say
                                when the code they write is bigger and slower than the basic they wish to
                                criticise, multiport code is an excuse to justify old tech that no longer
                                performs.

                                Regards,

                                [email protected]

                                PS: You should hear what these guys say about assembler

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


                                [This message has been edited by Steve Hutchesson (edited July 15, 2000).]
                                hutch at movsd dot com
                                The MASM Forum

                                www.masm32.com

                                Comment


                                • #17
                                  I agree 100% with Hutches comments above !

                                  Very well written Stephen !

                                  To add to Stephens comments:

                                  Cross platform development is more a dream than reality today.
                                  If you plan to develop cross platform software, it is best to use
                                  higher level tools than even a programming language
                                  (ie. Macromedia Director), since the makers of such products spend
                                  a lot of time updating their "cross platform Engines".

                                  Compilers would have to regularly update runtime Libraries for
                                  multiple platforms and this would add a lot of R&D to their
                                  development. Likely this would mean higher prices for these
                                  programming languages.

                                  Java is about the only true cross platform language and it requires
                                  constantly updated runtimes. If a C programmer doesn't mention Java
                                  then he doesn't understand much about cross platform development.

                                  Specific platform development will "always" be important, since
                                  you get the most power when you write specifically for that
                                  platform. Also Windows is the most popular of platforms, so it
                                  deserves the most interest.

                                  While Linux is a strong contender for Web servers and will continue
                                  to grow, few in the industry expect Linux to ever end up on the
                                  desktop. I have read articles in magazines about Linux being great
                                  but it will be a very unlikely it will reach every desktop like
                                  Windows. Linux support will be good for CGI and Web server stuff,
                                  but will likely not be important for the "masses" of computer users.

                                  How many big commercial apps exist for Linux ?

                                  Now, if you are thinking of software for the masses, then what about
                                  the Mac ! There is some really "heavy" commercial software
                                  written for the Mac. There are a lot more Macs out there that most
                                  think. Macs are extremely popular in the multimedia/video industries.
                                  Some companies only use Macs.

                                  The Mac OS is one worth seriously looking at (I don't but my brother
                                  who has a video editing company uses 100% Macs).

                                  Now if PowerBasic could make a compiler (with DDT) for Linux and another
                                  one for the Mac, then people will definitely take notice.



                                  ------------------
                                  Chris Boss
                                  Computer Workshop
                                  Developer of "EZGUI"
                                  http://cwsof.com
                                  http://twitter.com/EZGUIProGuy

                                  Comment


                                  • #18
                                    As PB's groupies most of us have biased opinion about "C".

                                    As somebody used to say:
                                    "It is not the brush..."

                                    I found that using Petzold programming style and SDK,
                                    allows to produce code that could be easily ported from PB to C and reverse.
                                    In such a case there are very little differences between the resulting code size and speed.
                                    A good PB SDK programmer can be a good C SDK programmer,
                                    the matter here is more a question on how deep is your knowledge of the core Windows API.
                                    I know it would take me less than one month to convert my "Skin Engine" to C.



                                    ------------------
                                    Patrice Terrier
                                    mailto[email protected][email protected]</A>
                                    Patrice Terrier
                                    www.zapsolution.com
                                    www.objreader.com
                                    Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

                                    Comment


                                    • #19
                                      Saying that high-quality programs can only be written in C is like saying that high-quality poetry can only be written in Chinese.

                                      Brent, tell your "friends" that the next time they try to twist your arm into joining their gang, there's a bunch of people at powerbasic.com that are ready to rumble.

                                      Seriously, it sounds like a challenge is in order. Tell the C bigots to come up with a competition, and I'm sure that several people here will help you show them how Powerful PowerBASIC is. (If you need help, that is.)

                                      Better yet, tell 'em to come here in person and make it a public challenge! Or does C stand for Chicken?

                                      -- Eric

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



                                      [This message has been edited by Eric Pearson (edited July 15, 2000).]
                                      "Not my circus, not my monkeys."

                                      Comment


                                      • #20
                                        Originally posted by Chris Boss:
                                        agree 100% with Hutches comments above !


                                        Java is about the only true cross platform language and it requires
                                        constantly updated runtimes. If a C programmer doesn't mention Java
                                        then he doesn't understand much about cross platform development.


                                        While Linux is a strong contender for Web servers and will continue
                                        to grow, few in the industry expect Linux to ever end up on the
                                        desktop. I have read articles in magazines about Linux being great
                                        but it will be a very unlikely it will reach every desktop like
                                        Windows. Linux support will be good for CGI and Web server stuff,
                                        but will likely not be important for the "masses" of computer users.

                                        How many big commercial apps exist for Linux ?
                                        I believe Inprise/Borland are in beta now, with release this fall, of a cross
                                        platform (Win32/Linux) Delphi .

                                        James

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




                                        [This message has been edited by jcfuller (edited July 15, 2000).]

                                        Comment

                                        Working...
                                        X