[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

Subject: [comp.sys.be.programmer] Welcome - read this FAQ first!

This article was archived around: 09 Sep 2003 10:52:20 GMT

All FAQs in Directory: computer/system/be
All FAQs posted in: comp.sys.be.programmer
Source: Usenet Version

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