home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / computer / system / be / programmers
Encoding:
Internet Message Format  |  2003-09-10  |  11.7 KB

  1. Path: senator-bedfellow.mit.edu!dreaderd!not-for-mail
  2. Message-ID: <computer/system/be/programmers_1063104376@rtfm.mit.edu>
  3. Supersedes: <computer/system/be/programmers_1062493971@rtfm.mit.edu>
  4. Expires: 30 Sep 2003 10:46:16 GMT
  5. X-Last-Updated: 2003/02/26
  6. Organization: none
  7. Newsgroups: comp.sys.be.programmer,comp.answers,news.answers
  8. From: Stephen van Egmond <svanegmond@home.com>
  9. Subject: [comp.sys.be.programmer] Welcome - read this FAQ first!
  10. Followup-To: comp.sys.be.programmer
  11. Summary: This posting contains important information for newcomers to 
  12.     comp.sys.be.programmer.  It aims to answer some of the most
  13.     frequently asked questions on that newsgroup.
  14. Approved: news-answers-request@MIT.EDU
  15. Originator: faqserv@penguin-lust.MIT.EDU
  16. Date: 09 Sep 2003 10:52:20 GMT
  17. Lines: 285
  18. NNTP-Posting-Host: penguin-lust.mit.edu
  19. X-Trace: 1063104740 senator-bedfellow.mit.edu 572 18.181.0.29
  20. Xref: senator-bedfellow.mit.edu comp.sys.be.programmer:15854 comp.answers:54795 news.answers:257765
  21.  
  22. Archive-name: computer/system/be/programmers
  23. Posting-Frequency: monthly
  24. Last-Modified: December 1, 2000
  25. URL: http://bang.dhs.org/faq/
  26. Maintainer: Stephen van Egmond <svanegmond@home.com>
  27.  
  28. West of House
  29. You are standing in an open field west of a white house, with a boarded
  30. front door.
  31.  
  32. There is a small mailbox here.
  33.  
  34. > OPEN MAILBOX. READ LEAFLET
  35. Opening the small mailbox reveals a leaflet.
  36.  
  37. (Taken)
  38.  
  39.   (1.1) Welcome to comp.sys.be.programmer!
  40.   This is the Frequently Asked Questions list for the group
  41.   comp.sys.be.programmer, a Usenet newsgroup for discussion among BeOS
  42.   software developers.
  43.  
  44.   All software referred to in this FAQ can be found at BeBits,
  45.   http://www.bebits.com/, unless otherwise noted.
  46.  
  47.   It has been translated into Japanese, available at
  48.   http://www.fsinet.or.jp/~suzu-kat/beos/csbp-jp.htm
  49.  
  50.   Table of contents:
  51.   (1.1) Welcome to comp.sys.be.programmer!
  52.   (1.2) How to ask for help
  53.   (1.3) What's the development environment like?
  54.   (1.4) Recommended Books
  55.   (1.5) Where is Java?
  56.   (1.6) Where are the Visual Basic or Delphi-like development systems?
  57.   (1.7) GeekGadgets
  58.   (1.8) How to avoid getting tons of linker errors
  59.   (1.9) I'm still getting link errors with cin, cout, etc.
  60.   (1.10) Disclaimer and copyright/trademark notice
  61.  
  62.   Special thanks to Chris Herborth and Brent Newhall.
  63.  
  64. > SOUTH
  65. Enchanters' Retreat
  66. Belboz is meditating here.
  67.  
  68. > BELBOZ, HELLO
  69. "Hello." Belboz doesn't seem pleased to see you.
  70.  
  71. > ASK BELBOZ FOR A HINT
  72. Belboz looks at you suspiciously. "Only the rawest apprentice would ask
  73. for help without observing proper netiquette."
  74.  
  75.   (1.2) How to ask for help
  76.   If you are having trouble with your operating system as a user, you
  77.   should visit http://www.be.com/support/, and you should not bother
  78.   comp.sys.be.programmer about it. We're not in the business of free tech
  79.   support.
  80.  
  81.   If you having developer troubles, you should be able to demonstrate that
  82.   you have read (1) the Be Book, and (2) the Be Developer Library, at
  83.   http://www.be.com/developers/developer_library/index.html.
  84.  
  85.   How to post source code: Take your source code aside and strip it down
  86.   to the smallest possible case which does not work the way you expect to,
  87.   and post that.
  88.  
  89.   If you know that you've found a bug in the BeOS, visit
  90.   http://bebugs.be.com/.
  91.  
  92.   If you are looking for other developer resources, Be hosts several
  93.   mailing lists for developers. Read up at
  94.   http://www.be.com/world/mailinglists.html. Tim Vernum has written up a
  95.   FAQ for common developer questions on BeDevTalk, and it's at
  96.   http://www.acay.com.au/~tpv/be/devtalk/FAQ.html
  97.  
  98. Belboz looks at you expectantly.
  99.  
  100. > ASK BELBOZ ABOUT COMPILERS
  101. He lights up. "Ah, a newcomer."
  102.  
  103.   (1.3) What's the development environment like?
  104.  
  105.   Long ago, Metrowerks (the makers of the CodeWarrior development system)
  106.   were hired by Be to write the Integrated Development Environment (now
  107.   known as the BeIDE), and port their compilers to the BeOS for PowerPC.
  108.   The compilers included with the BeOS had a limited capacity, and you had
  109.   to pay money to get an unlimited environment.
  110.  
  111.   When Be first released the Intel version, the Metrowerks environment was
  112.   brought over with it. At the time, Metrowerks' compilers were not
  113.   renowned for producing great code on Intel systems. With R4, Be switched
  114.   to the EGCS/gcc compiler set.
  115.  
  116.   Here is how things stand today:
  117.     * Be owns and continues to improve the BeIDE.
  118.     * Metrowerks compilers remain in use for PowerPC.
  119.     * The EGCS/gcc compiler set is in use on Intel.
  120.     * There is a visual source debugger. It is called bdb. It is still in
  121.       a bit of rough shape, it it not yet integrated with the BeIDE, and
  122.       it is getting a lot of attention for improvement within Be. gdb has
  123.       been ported, but all the ports are a bit rough.
  124.   There are some alternative languages, though none are recommended if you
  125.   are serious about shipping an application.
  126.  
  127.   For people who want to do scripting-like things, the order of preference
  128.   for doing that on the BeOS goes like this:
  129.   
  130.   
  131.   
  132.  
  133. Belboz looks at you expectantly.
  134.  
  135. > ASK BELBOZ FOR A SPELL BOOK
  136. "Don't they sell those at Amazon.com?"
  137.  
  138.   (1.4) Recommended Books
  139.   Be maintains a nice list of applicable books, without reviews, on their
  140.   web site at http://www.be.com/store/bebookstore.html . Here's some
  141.   recommendations, with a bit more annotation:
  142.  
  143.   If you're utterly new to programming, there are two kinds of books you
  144.   need to read: those that teach you how to turn ideas into design, and
  145.   those that teach you how to turn your designs into C++ code.
  146.  
  147.   Books on design: Design Patterns" by Gamma, Helm, Vlissides, etc.
  148.  
  149.   Learning C++ if you already know some other language: "The Beginner's
  150.   Guides to C++" by Y. Yaroshenko, and "C++: How to Learn" by Deitel &
  151.   Deitel.
  152.  
  153.   Writing good code: "Code Complete" by Steve McConnell, and "Effective
  154.   C++" by Scott Meyers.
  155.  
  156.   New to programming and the BeOS: "Programming the Be Operating System"
  157.   by Dan Parks Sydow.
  158.  
  159.   Good at programming some other OS, learning the BeOS: You don't need a
  160.   book. Read the Be Book, included with your OS install or available on
  161.   Be's web site in HTML form.
  162.  
  163.   Getting even better at programming: "Structure and Interpretation of
  164.   Computer Programs" by Sussman and Abelson, and the CS342 course notes
  165.   from Waterloo's concurrent-programming course at
  166.   http://www.undergrad.math.uwaterloo.ca/~cs342 .
  167.  
  168. > ASK BELBOZ ABOUT JAVA
  169. Belboz rolls his eyes.
  170.  
  171.   (1.5) Where is Java?
  172.   There are Java compilers available at BeBits that work quite well, and
  173.   produce bytecode that runs on any interpreter on any platform.
  174.  
  175.   But there is no Java VM. There was one long ago, made by Metrowerks, but
  176.   it is gone now, for many tedious reasons. There is at least one being
  177.   developed: a port of the open-source Kaffe project. The Kaffe port works
  178.   nicely, but the AWT system is not complete.
  179.   http://bekaffe.sourceforge.net/
  180.  
  181.   Sun has certified the BeIA platform's compliance with the requirements
  182.   for PersonalJava.
  183.  
  184. > S.W.SW.W.W.
  185. Flathead Ocean
  186. Passing alongside the shore now is an old boat, reminiscent of an ancient
  187. Viking ship. Standing on the prow of the ship is an old and crusty sailor,
  188. peering out over the misty ocean.
  189.  
  190. > HELLO SAILOR
  191. The seaman looks up and maneuvers the boat toward shore. He cries out:
  192.  
  193.   (1.6) Where are the Visual Basic or Delphi-like development systems?
  194.   There are none. Some people are working on them, but none are finished
  195.   or even near alpha. Those under development are listed at BeWare.
  196.  
  197.   Many people feel Interface Elements is good enough for now. It will
  198.   generate code for you that you must fill out to get functionality.
  199.  
  200.   Another piece of software called BeXL has also been gaining favour
  201.   lately.
  202.  
  203. "Please accept this gift. You may find it useful!" He throws something
  204. which falls near you in the sand, then sails off toward the west, singing
  205. a lively, but somewhat uncouth, sailor song. The boat sails silently
  206. through the mist and out of sight.
  207.  
  208. > EXAMINE GIFT
  209.  
  210.   (1.7) GeekGadgets
  211.   GeekGadgets is a huge effort undertaken by Fred Fish (who has since been
  212.   hired by Be) to bring the huge Unix-compatible tool set to the BeOS.
  213.   This includes things like perl, text tools, nroff, man, and many many
  214.   more.
  215.  
  216.   If there is a tool that you have known and loved from the
  217.   Unix/Linux/FreeBSD world and it's not already installed in your system,
  218.   go to ftp://ftp.geekgadgets.org/. You can download pre-built executables
  219.   or source distributions.
  220.  
  221. > READ BOOK
  222. Commandment #12593
  223.  
  224.   (1.8) How to avoid getting tons of linker errors
  225.   The Short Answer: Use the "BeEverythingApp" project stationery when you
  226.   build your project.
  227.  
  228.   The Long Answer: Your C or C++ code can not run on its own. It has to
  229.   introduce itself to the operating system, know how to output to a
  230.   Terminal, and all kinds of other things. The code to do this is in glue
  231.   code and libraries which must be linked to your code.
  232.  
  233.   Glue code is the bare minimum to get your program up off the ground. It
  234.   well set up the basics for you, call your main() function, and clean up
  235.   when your program exits.
  236.  
  237.   Libraries contain the functionality of the BeOS. They are named
  238.   libsomething.so, where something is supposed to be descriptive.
  239.   libroot.so has most of the C library. libbe.so has the basics of the
  240.   Application Kit. libmedia.so contains the Media Kit. And so on.
  241.   Libraries are stored in the BeOS under the /boot/develop/lib/ directory.
  242.  
  243.   It is generally easier to rebuild your project using the right
  244.   stationery than to go hunting around on your disk for the necessary
  245.   files. You should use either the BeApp or the BeEverythingApp stationery
  246.   for applications and command-line tools.
  247.  
  248.   BeApp stationery has glue code, libbe.so and libroot.so. These are the
  249.   basics for getting an application off the ground and putting windows up.
  250.   You will have to add other libraries as you use other kits.
  251.  
  252.   BeEverythingApp has all the system libraries already included. It might
  253.   slow down the link process, but if your system is decent you won't
  254.   notice.
  255.  
  256. > TURN THE PAGE
  257. Commandment #12594
  258.  
  259.   (1.9) I'm still getting link errors with cin, cout, etc.
  260.   Add /boot/develop/lib/x86/libstdc++.r4.so to your project. PowerPC users
  261.   should use /boot/develop/lib/ppc/libmslcpp_4_0.a.
  262.  
  263. A seedy-looking individual with a large bag just wandered through the
  264. room. On the way through, he quietly abstracted some valuables from your
  265. possession, mumbling something about:
  266.  
  267.   (1.10) Disclaimer and copyright/trademark notice
  268.   This FAQ Copyright 1999 by Stephen van Egmond. Reproduction of this
  269.   document and inclusion in any off-Net compilation without permission is
  270.   not OK. Ask first.
  271.  
  272.   Do me a favour, and only link to the page at
  273.   http://bang.dhs.org/faq/csbp.html; do not copy it onto your web pages,
  274.   because it will be out of date very quickly.
  275.  
  276.   All trademarks remain the property of their respective companies.
  277.  
  278. Someone carrying a large bag is casually leaning against one of the walls
  279. here. He does not speak, but it is clear from his aspect that the bag will
  280. be taken only over his dead body.
  281.  
  282. > KILL THIEF WITH SWORD
  283. A good slash, but it misses the thief by a mile. The thief comes in from
  284. the side, feints, and inserts the blade into your ribs.
  285.  
  286. It appears that that last blow was too much for you. I'm afraid you are
  287. dead.
  288.  
  289.   **** You have died ****
  290.  
  291. Press any key to continue
  292.  
  293.   ----------------------------------------------------------------------
  294.  
  295.                                                         Stephen van Egmond
  296.                              Reader Comments
  297.  
  298.   Hi, just wanted to see if you have the time to edit and update the links
  299.   on this page. Thanks for keeping the BeOS 'alive' and programming
  300.   information available. There are still some of us out here that use BeOS
  301.   exclusively, and love it.
  302.  
  303.   Todd Nathan Dev #4296 Owner of BeBoxen #6 :o)
  304.   --Bubba Jones on January 5, 2002
  305.  
  306.                               Add a comment
  307.