Source string Read only

(itstool) path: sect1/title
Context English State
Source for files in <filename>/usr/share</filename>
Kernel source files
The FreeBSD test suite
Tools used for maintenance and testing of FreeBSD
Source for files in <filename>/usr/bin</filename>
Source for files in <filename>/usr/sbin</filename>
Programming Tools
<personname> <firstname>James</firstname> <surname>Raynard</surname> </personname> <contrib>Contributed by </contrib>
<personname> <firstname>Murray</firstname> <surname>Stokely</surname> </personname>
This chapter is an introduction to using some of the programming tools supplied with FreeBSD, although much of it will be applicable to many other versions of <trademark class="registered">UNIX</trademark>. It does <emphasis>not</emphasis> attempt to describe coding in any detail. Most of the chapter assumes little or no previous programming knowledge, although it is hoped that most programmers will find something of value in it.
FreeBSD offers an excellent development environment. Compilers for C and C++ and an assembler come with the basic system, not to mention classic <trademark class="registered">UNIX</trademark> tools such as <command>sed</command> and <command>awk</command>. If that is not enough, there are many more compilers and interpreters in the Ports collection. The following section, <link linkend="tools-programming">Introduction to Programming</link>, lists some of the available options. FreeBSD is very compatible with standards such as <acronym><trademark class="registered">POSIX</trademark></acronym> and <acronym>ANSI</acronym> C, as well with its own BSD heritage, so it is possible to write applications that will compile and run with little or no modification on a wide range of platforms.
However, all this power can be rather overwhelming at first if you have never written programs on a <trademark class="registered">UNIX</trademark> platform before. This document aims to help you get up and running, without getting too deeply into more advanced topics. The intention is that this document should give you enough of the basics to be able to make some sense of the documentation.
Most of the document requires little or no knowledge of programming, although it does assume a basic competence with using <trademark class="registered">UNIX</trademark> and a willingness to learn!
Introduction to Programming
A program is a set of instructions that tell the computer to do various things; sometimes the instruction it has to perform depends on what happened when it performed a previous instruction. This section gives an overview of the two main ways in which you can give these instructions, or <quote>commands</quote> as they are usually called. One way uses an <firstterm>interpreter</firstterm>, the other a <firstterm>compiler</firstterm>. As human languages are too difficult for a computer to understand in an unambiguous way, commands are usually written in one or other languages specially designed for the purpose.
With an interpreter, the language comes as an environment, where you type in commands at a prompt and the environment executes them for you. For more complicated programs, you can type the commands into a file and get the interpreter to load the file and execute the commands in it. If anything goes wrong, many interpreters will drop you into a debugger to help you track down the problem.
The advantage of this is that you can see the results of your commands immediately, and mistakes can be corrected readily. The biggest disadvantage comes when you want to share your programs with someone. They must have the same interpreter, or you must have some way of giving it to them, and they need to understand how to use it. Also users may not appreciate being thrown into a debugger if they press the wrong key! From a performance point of view, interpreters can use up a lot of memory, and generally do not generate code as efficiently as compilers.
In my opinion, interpreted languages are the best way to start if you have not done any programming before. This kind of environment is typically found with languages like Lisp, Smalltalk, Perl and Basic. It could also be argued that the <trademark class="registered">UNIX</trademark> shell (<command>sh</command>, <command>csh</command>) is itself an interpreter, and many people do in fact write shell <quote>scripts</quote> to help with various <quote>housekeeping</quote> tasks on their machine. Indeed, part of the original <trademark class="registered">UNIX</trademark> philosophy was to provide lots of small utility programs that could be linked together in shell scripts to perform useful tasks.
Interpreters Available with FreeBSD
Here is a list of interpreters that are available from the FreeBSD Ports Collection, with a brief discussion of some of the more popular interpreted languages.
Instructions on how to get and install applications from the Ports Collection can be found in the <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/ports-using.html">Ports section</link> of the handbook.
Short for Beginner's All-purpose Symbolic Instruction Code. Developed in the 1950s for teaching University students to program and provided with every self-respecting personal computer in the 1980s, <acronym>BASIC</acronym> has been the first programming language for many programmers. It is also the foundation for Visual Basic.
This translation Translated FreeBSD Doc/books_developers-handbook Synopsis
The following strings have the same context and source.
Translated FreeBSD Doc/articles_vinum Synopsis
Translated FreeBSD Doc/books_arch-handbook Synopsis
Translated FreeBSD Doc/books_handbook Synopsis


No matching activity found.

Browse all component changes


English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: sect1/title
Source string location
book.translate.xml:418 book.translate.xml:3003 book.translate.xml:4926 book.translate.xml:9459
String age
a year ago
Source string age
a year ago
Translation file
books/developers-handbook.pot, string 89