home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!dreaderd!not-for-mail
- Message-ID: <computer/system/be/programmers_1063104376@rtfm.mit.edu>
- Supersedes: <computer/system/be/programmers_1062493971@rtfm.mit.edu>
- Expires: 30 Sep 2003 10:46:16 GMT
- X-Last-Updated: 2003/02/26
- Organization: none
- Newsgroups: comp.sys.be.programmer,comp.answers,news.answers
- From: Stephen van Egmond <svanegmond@home.com>
- Subject: [comp.sys.be.programmer] Welcome - read this FAQ first!
- Followup-To: comp.sys.be.programmer
- Summary: This posting contains important information for newcomers to
- comp.sys.be.programmer. It aims to answer some of the most
- frequently asked questions on that newsgroup.
- Approved: news-answers-request@MIT.EDU
- Originator: faqserv@penguin-lust.MIT.EDU
- Date: 09 Sep 2003 10:52:20 GMT
- Lines: 285
- NNTP-Posting-Host: penguin-lust.mit.edu
- X-Trace: 1063104740 senator-bedfellow.mit.edu 572 18.181.0.29
- Xref: senator-bedfellow.mit.edu comp.sys.be.programmer:15854 comp.answers:54795 news.answers:257765
-
- Archive-name: computer/system/be/programmers
- Posting-Frequency: monthly
- Last-Modified: December 1, 2000
- URL: http://bang.dhs.org/faq/
- Maintainer: Stephen van Egmond <svanegmond@home.com>
-
- West of House
- You are standing in an open field west of a white house, with a boarded
- front door.
-
- There is a small mailbox here.
-
- > OPEN MAILBOX. READ LEAFLET
- Opening the small mailbox reveals a leaflet.
-
- (Taken)
-
- (1.1) Welcome to comp.sys.be.programmer!
- This is the Frequently Asked Questions list for the group
- comp.sys.be.programmer, a Usenet newsgroup for discussion among BeOS
- software developers.
-
- All software referred to in this FAQ can be found at BeBits,
- http://www.bebits.com/, unless otherwise noted.
-
- It has been translated into Japanese, available at
- http://www.fsinet.or.jp/~suzu-kat/beos/csbp-jp.htm
-
- Table of contents:
- (1.1) Welcome to comp.sys.be.programmer!
- (1.2) How to ask for help
- (1.3) What's the development environment like?
- (1.4) Recommended Books
- (1.5) Where is Java?
- (1.6) Where are the Visual Basic or Delphi-like development systems?
- (1.7) GeekGadgets
- (1.8) How to avoid getting tons of linker errors
- (1.9) I'm still getting link errors with cin, cout, etc.
- (1.10) Disclaimer and copyright/trademark notice
-
- Special thanks to Chris Herborth and Brent Newhall.
-
- > SOUTH
- Enchanters' Retreat
- Belboz is meditating here.
-
- > BELBOZ, HELLO
- "Hello." Belboz doesn't seem pleased to see you.
-
- > ASK BELBOZ FOR A HINT
- Belboz looks at you suspiciously. "Only the rawest apprentice would ask
- for help without observing proper netiquette."
-
- (1.2) How to ask for help
- If you are having trouble with your operating system as a user, you
- should visit http://www.be.com/support/, and you should not bother
- comp.sys.be.programmer about it. We're not in the business of free tech
- support.
-
- If you having developer troubles, you should be able to demonstrate that
- you have read (1) the Be Book, and (2) the Be Developer Library, at
- http://www.be.com/developers/developer_library/index.html.
-
- How to post source code: Take your source code aside and strip it down
- to the smallest possible case which does not work the way you expect to,
- and post that.
-
- If you know that you've found a bug in the BeOS, visit
- http://bebugs.be.com/.
-
- If you are looking for other developer resources, Be hosts several
- mailing lists for developers. Read up at
- http://www.be.com/world/mailinglists.html. Tim Vernum has written up a
- FAQ for common developer questions on BeDevTalk, and it's at
- http://www.acay.com.au/~tpv/be/devtalk/FAQ.html
-
- Belboz looks at you expectantly.
-
- > ASK BELBOZ ABOUT COMPILERS
- He lights up. "Ah, a newcomer."
-
- (1.3) What's the development environment like?
-
- Long ago, Metrowerks (the makers of the CodeWarrior development system)
- were hired by Be to write the Integrated Development Environment (now
- known as the BeIDE), and port their compilers to the BeOS for PowerPC.
- The compilers included with the BeOS had a limited capacity, and you had
- to pay money to get an unlimited environment.
-
- When Be first released the Intel version, the Metrowerks environment was
- brought over with it. At the time, Metrowerks' compilers were not
- renowned for producing great code on Intel systems. With R4, Be switched
- to the EGCS/gcc compiler set.
-
- Here is how things stand today:
- * Be owns and continues to improve the BeIDE.
- * Metrowerks compilers remain in use for PowerPC.
- * The EGCS/gcc compiler set is in use on Intel.
- * There is a visual source debugger. It is called bdb. It is still in
- a bit of rough shape, it it not yet integrated with the BeIDE, and
- it is getting a lot of attention for improvement within Be. gdb has
- been ported, but all the ports are a bit rough.
- There are some alternative languages, though none are recommended if you
- are serious about shipping an application.
-
- For people who want to do scripting-like things, the order of preference
- for doing that on the BeOS goes like this:
-
-
-
-
- Belboz looks at you expectantly.
-
- > ASK BELBOZ FOR A SPELL BOOK
- "Don't they sell those at Amazon.com?"
-
- (1.4) Recommended Books
- Be maintains a nice list of applicable books, without reviews, on their
- web site at http://www.be.com/store/bebookstore.html . Here's some
- recommendations, with a bit more annotation:
-
- If you're utterly new to programming, there are two kinds of books you
- need to read: those that teach you how to turn ideas into design, and
- those that teach you how to turn your designs into C++ code.
-
- Books on design: Design Patterns" by Gamma, Helm, Vlissides, etc.
-
- Learning C++ if you already know some other language: "The Beginner's
- Guides to C++" by Y. Yaroshenko, and "C++: How to Learn" by Deitel &
- Deitel.
-
- Writing good code: "Code Complete" by Steve McConnell, and "Effective
- C++" by Scott Meyers.
-
- New to programming and the BeOS: "Programming the Be Operating System"
- by Dan Parks Sydow.
-
- Good at programming some other OS, learning the BeOS: You don't need a
- book. Read the Be Book, included with your OS install or available on
- Be's web site in HTML form.
-
- Getting even better at programming: "Structure and Interpretation of
- Computer Programs" by Sussman and Abelson, and the CS342 course notes
- from Waterloo's concurrent-programming course at
- http://www.undergrad.math.uwaterloo.ca/~cs342 .
-
- > ASK BELBOZ ABOUT JAVA
- Belboz rolls his eyes.
-
- (1.5) Where is Java?
- There are Java compilers available at BeBits that work quite well, and
- produce bytecode that runs on any interpreter on any platform.
-
- But there is no Java VM. There was one long ago, made by Metrowerks, but
- it is gone now, for many tedious reasons. There is at least one being
- developed: a port of the open-source Kaffe project. The Kaffe port works
- nicely, but the AWT system is not complete.
- http://bekaffe.sourceforge.net/
-
- Sun has certified the BeIA platform's compliance with the requirements
- for PersonalJava.
-
- > S.W.SW.W.W.
- Flathead Ocean
- Passing alongside the shore now is an old boat, reminiscent of an ancient
- Viking ship. Standing on the prow of the ship is an old and crusty sailor,
- peering out over the misty ocean.
-
- > HELLO SAILOR
- The seaman looks up and maneuvers the boat toward shore. He cries out:
-
- (1.6) Where are the Visual Basic or Delphi-like development systems?
- There are none. Some people are working on them, but none are finished
- or even near alpha. Those under development are listed at BeWare.
-
- Many people feel Interface Elements is good enough for now. It will
- generate code for you that you must fill out to get functionality.
-
- Another piece of software called BeXL has also been gaining favour
- lately.
-
- "Please accept this gift. You may find it useful!" He throws something
- which falls near you in the sand, then sails off toward the west, singing
- a lively, but somewhat uncouth, sailor song. The boat sails silently
- through the mist and out of sight.
-
- > EXAMINE GIFT
-
- (1.7) GeekGadgets
- GeekGadgets is a huge effort undertaken by Fred Fish (who has since been
- hired by Be) to bring the huge Unix-compatible tool set to the BeOS.
- This includes things like perl, text tools, nroff, man, and many many
- more.
-
- If there is a tool that you have known and loved from the
- Unix/Linux/FreeBSD world and it's not already installed in your system,
- go to ftp://ftp.geekgadgets.org/. You can download pre-built executables
- or source distributions.
-
- > READ BOOK
- Commandment #12593
-
- (1.8) How to avoid getting tons of linker errors
- The Short Answer: Use the "BeEverythingApp" project stationery when you
- build your project.
-
- The Long Answer: Your C or C++ code can not run on its own. It has to
- introduce itself to the operating system, know how to output to a
- Terminal, and all kinds of other things. The code to do this is in glue
- code and libraries which must be linked to your code.
-
- Glue code is the bare minimum to get your program up off the ground. It
- well set up the basics for you, call your main() function, and clean up
- when your program exits.
-
- Libraries contain the functionality of the BeOS. They are named
- libsomething.so, where something is supposed to be descriptive.
- libroot.so has most of the C library. libbe.so has the basics of the
- Application Kit. libmedia.so contains the Media Kit. And so on.
- Libraries are stored in the BeOS under the /boot/develop/lib/ directory.
-
- It is generally easier to rebuild your project using the right
- stationery than to go hunting around on your disk for the necessary
- files. You should use either the BeApp or the BeEverythingApp stationery
- for applications and command-line tools.
-
- BeApp stationery has glue code, libbe.so and libroot.so. These are the
- basics for getting an application off the ground and putting windows up.
- You will have to add other libraries as you use other kits.
-
- BeEverythingApp has all the system libraries already included. It might
- slow down the link process, but if your system is decent you won't
- notice.
-
- > TURN THE PAGE
- Commandment #12594
-
- (1.9) I'm still getting link errors with cin, cout, etc.
- Add /boot/develop/lib/x86/libstdc++.r4.so to your project. PowerPC users
- should use /boot/develop/lib/ppc/libmslcpp_4_0.a.
-
- A seedy-looking individual with a large bag just wandered through the
- room. On the way through, he quietly abstracted some valuables from your
- possession, mumbling something about:
-
- (1.10) Disclaimer and copyright/trademark notice
- This FAQ Copyright 1999 by Stephen van Egmond. Reproduction of this
- document and inclusion in any off-Net compilation without permission is
- not OK. Ask first.
-
- Do me a favour, and only link to the page at
- http://bang.dhs.org/faq/csbp.html; do not copy it onto your web pages,
- because it will be out of date very quickly.
-
- All trademarks remain the property of their respective companies.
-
- Someone carrying a large bag is casually leaning against one of the walls
- here. He does not speak, but it is clear from his aspect that the bag will
- be taken only over his dead body.
-
- > KILL THIEF WITH SWORD
- A good slash, but it misses the thief by a mile. The thief comes in from
- the side, feints, and inserts the blade into your ribs.
-
- It appears that that last blow was too much for you. I'm afraid you are
- dead.
-
- **** You have died ****
-
- Press any key to continue
-
- ----------------------------------------------------------------------
-
- Stephen van Egmond
- Reader Comments
-
- Hi, just wanted to see if you have the time to edit and update the links
- on this page. Thanks for keeping the BeOS 'alive' and programming
- information available. There are still some of us out here that use BeOS
- exclusively, and love it.
-
- Todd Nathan Dev #4296 Owner of BeBoxen #6 :o)
- --Bubba Jones on January 5, 2002
-
- Add a comment
-