Index
- General
- Script languages
- UNIX shell programming
- AWK
- Rexx
- NetRexx
- SED
- TCL
- Perl (Practical Extraction and Report Language)
- Python
- PHP
- JavaScript
- Java
- Eiffel
- Postscript
- C
- C++
- C# (C sharp)
- Ada
- Basic
- Assembler (X86)
- Pascal
- Lisp
- ML
- Structured Query Language (SQL)
- PC low level programming
- Games programming
- Windows programming
- Linux programming
- Networking
- Multimedia
- Other useful links
PC programming information page
- Handling memory fragmentation - Fragmentation can be a sticky problem. How memory allocation occurs determines whether, when, and how memory fragmentation becomes an issue. Rate this link
- All Users Are Not Idiots - Ethan's Top Ten List of Stupid Programmer Tricks You Should Avoid Rate this link
- Chris's Chamber - articles, graphics programming, links Rate this link
- Coronado Enterprises Tutorials - online shareware tutorials on Ada, C, C++ and Pascal Rate this link
- Cygwin tools - ports of the popular GNU development tools and utilities for Windows 95, 98, and NT Rate this link
- Extreme Programming: A gentle introduction - check also Rate this link
- Flowcharts - a computer road map - Flowcharts allow you to visualize the computer program operation when you design computer programs. Rate this link
- Freebyte's Guide to Free Programming Rate this link
- How To Write Unmaintainable Code - tips from the masters on how to write code that is so difficult to maintain, that the people who come after you will take years to make even the simplest changes Rate this link
- How To Write Unmaintainable Code - tips from the masters on how to write code that is so difficult to maintain, that the people who come after you will take years to make even the simplest changes, if you follow all these rules religiously, you will even guarantee yourself a lifetime of employment, since no one but you has a hope in hell of maintaining the code Rate this link
- Mathtools.net - Mathtools.net is the technical computing portal for all scientific and engineering needs. The portal is provided as a free service to the scientific community and contains useful links for technical computing programmers. Rate this link
- Programming book reviews Rate this link
- Netlib Repository - contains freely available software, documents, and databases of interest to the numerical, scientific computing, and other communities Rate this link
- Programmer.org - special site for programmers Rate this link
- Programmers Heaven - The Internet's most complete source of free downloadable programming files, source codes, utilities, Assembler, C/C++, JAVA, and other tools for programmers and developers. Here you will find over 10000 files and 2500 links organized in an easy-to-find format. Rate this link
- Reliable Software - special web site about programming techniques Rate this link
- Softocean - Computer problems are solved with Qbasic,Foltran,Pascal,C,C++. Turbo Pascal, Borland Pascal(OOP),QBasic,C and C++ course notes. Taylor series, matrix, trigomeric equatio are solved with five computer language. Rate this link
- Suomessa erityisesti k?ytettyj? algoritmeja FAQ - pankin viitenumero ja henkil?tunnus, sfnet.atk.ohjelmointi FAQ Rate this link
- The top five software-testing problems and how to avoid them - Some common software-testing problems are not severe, and others are more costly to correct. Real-life scenarios provide helpful guidelines that can prevent these problems in the first place. Rate this link
- TopCoder - This site runs online computer programming competitions in the Java and C++ languages. By conducting these competitions, TopCoder attracts elite software developers. The attraction of competition, and the associate rewards, tries to create a powerful community. Rate this link
- Wosit's formats - The File Format Collection Rate this link
- Basic Regular Expressions Rate this link
- Basic Regular Expressions Rate this link
- Using Regular Expressions - This document is a regex tutorial with examples. Rate this link
- Using Regular Expressions Rate this link
- Advanced Bash-Scripting Guide - An in-depth exploration of the art of shell scripting Rate this link
- A Unix Cook-Booklet: Using shells - This is a short beginner's guide to practical using of Unix. Rate this link
- BourneShell - This is a very simple totorial to Bourne Shell scripting. Rate this link
- Description of different types of shell - There are several different shells available for Unix: the most popular are described here. Rate this link
- pdksh - the Public Domain Korn Shell - PD-ksh is a clone of the AT&T Korn shell. At the moment, it has most of the ksh88 features, not much of the ksh93 features, and a number of its own features. Rate this link
- Shell Wrappers - A "wrapper" is a shell script that embeds a system command or utility, that saves a set of parameters passed to to that command. Wrapping a script around a complex command line simplifies invoking it. This is expecially useful with sed and awk. Rate this link
- Selecting a Unix shell Rate this link
- Shell Programming: Ch Shell (ch) is a C compatible shell; C Shell (csh) is a C-like shell. Rate this link
- Shells and Shell Scripts Rate this link
- The UNIX Shell Guide - This on-line book describes the basics oc Bourne shell, Korn shell, C shell, TC shell, and Z shell. Rate this link
- Unix FAQ/shell - information on different UNIX shells Rate this link
- UNIX shell differences and how to change your shell Rate this link
- Unix Shells - csh, ksh, bash, zsh Rate this link
- UNIX Shells Programming Related Sites Rate this link
- An Awk Tutorial - he Awk text-processing programming language is a useful and (in general) simple tool for manipulating text. This document provides a quick overview of Awk. Rate this link
- Built-in Functions for String Manipulation in AWK Rate this link
- Effective AWK Programming: A User's Guide for GNU Awk Rate this link
- GAWK: Effective AWK Programming - Edition 1.0.3 of Effective AWK Programming book (A User's Guide for GNU Awk) for the 3.0.3 (or later) version of the GNU implementation of AWK Rate this link
- Introduction to AWK Rate this link
- The AWK Manual - This is Edition 1.0 of The AWK Manual, derived from the original gawk manual. Rate this link
- Guide to Writing CGI Scripts in REXX and Perl - This Guide is aimed at people who wish to write their own WWW executable scripts using WWW's Common Gateway Interface (CGI). Though the main emphasis is on REXX many examples are also provided in Perl. Rate this link
- IBM REXX Family Overview - Information on IBM REXX products Rate this link
- Rexx Frequently Asked Questions (FAQ) Rate this link
- Rexx Implementations - Here's a list of platforms (hardware, operating systems, and operating environments) on which you can use Rexx. Rate this link
- Rex Swain's REXX Summary Rate this link
- Rexx Language Association - The Rexx Language Association (RexxLA) is an independent organization dedicated to promoting the use and understanding of the Rexx programming language. Rate this link
- The Rexx Language - Rexx Language page at IBM Hursley. This page links to documents relating to the Rexx, Object Rexx, and NetRexx programming languages. Rate this link
- An Introduction to Sed & Awk Rate this link
- Do-it-with-sed - This is a little document to help people using sed. The examples gives in this document are intended to show real examples of sed, and to show also the power of sed, as well its weaknesses. Rate this link
- Handy One Liners for SED (Unix stream editor) Rate this link
- SED FAQ Rate this link
- SED man page Rate this link
- SED Tutorial Rate this link
- SED - A Non-interactive Text Editor - paper on sed program Rate this link
- SED & Regilar Expressions Rate this link
- sed . . . the stream editor - This page is an attempt to collect FAQ (Frequently Asked Questions) files and some sed utilities and introductions for novices. The text files are for any sed user; the binaries are for DOS/Windows users. Rate this link
- The SED FAQ - Frequently Asked Questions about sed, the stream editor in HTML format. Rate this link
- comp.lang.tcl FAQ Rate this link
- Getting Started with Tcl Rate this link
- Object-Oriented Language: Tcl/Tk - This page contains basic information on Tcl/Tk language and very many links to objects and components Rate this link
- Tcl/Tk Rate this link
- The World-Wide Web Virtual Library: Tcl and Tk Rate this link
- ActivePerl - The industry-standard Perl distribution for Linux, Solaris, and Windows Rate this link
- CGI.pm - a Perl5 CGI Library Rate this link
- CPAN: Comprehensive Perl Archive Network - Here you will find All Things Perl. Rate this link
- How PERL Works Rate this link
- Perl.com - Perl home site Rate this link
- Perl for MS-DOS - download directory for DOS and Windows versions Rate this link
- Perl Lessons - tutorial on the Perl programming language Rate this link
- Perl - Practical Extraction and Report Language - This web document is a re-organized version of the "perl.1" man page for PERL version 4. Rate this link
- Perl Reference Page Rate this link
- Perl Regular Expressions Rate this link
- Perl Tutorials from ITworld.com Rate this link
- Quick Perl Reference Rate this link
- Regex - A Modest Proposal - Regular expressions (or regexes as they're fondly known) have long been a mainstay of the Perl world. Perl is a hotbed of regex innovation, giving reluctant (non-greedy) quantifiers and zero-width assertions to the world, to name only two. Rate this link
- Regular Expression Tutorial Part 5: Greedy and Non-Greedy Quantification Rate this link
- Ten Neat Tricks With Perl Rate this link
- www.perl.com - the source for Perl Rate this link
- An Introduction to Tkinter - An introdyction to Python GUI toolkit. Rate this link
- Python language website - the official site Rate this link
- Regular Expression HOWTO - This document is an introductory tutorial to using regular expressions in Python with the re module. Rate this link
- Python for Lisp Programmers - This is a brief introduction to Python for Lisp programmers. Basically, Python can be seen as a dialect of Lisp with "traditional" syntax (what Lisp people call "infix" or "m-lisp" syntax). Python supports all of Lisp's essential features except macros, and you don't miss macros all that much because it does have eval, and operator overloading, and regular expression parsing, so you can create custom languages that way. Rate this link
- Dive Into Python - Dive Into Python is a free Python tutorial for experienced programmers. You can read the book on-line, or download it in a variety of formats. Rate this link
- DMOZ PHP Tutorials Links Rate this link
- Learning PHP: The What's and the Why's Rate this link
- PHP3 FAQ Rate this link
- PHP Manual Rate this link
- PHP: Hypertext Processor - The PHP language home page. Rate this link
- PHP Manual Function Reference Rate this link
- PHP OpenGL Windows - this is a hack to use OpenGL graphics in Windows system with PHP language Rate this link
- DMOZ PHP Tutorials Links Rate this link
- comp.lang.javascript meta FAQ Rate this link
- JavaScript Basics Rate this link
- JavaScript Frequently Asked Questions Rate this link
- The JavaScript Weenie - JavaScript expert and clone articles Rate this link
- Webmonkey Programming JavaScript Pages - lots of JavaScript information Rate this link
- How to Steal JavaScript - "Borrowing" JavaScript code is easy. Making it work on your own pages, however, can prove difficult. Nadav reveals what you need to know to make those pirated scripts sail. Rate this link
- JavaScript-opas - JavaScript tutorial in Finnish Rate this link
- Thau's Advanced JavaScript Tutorial - Take JavaScript to the next level with if-then-else statements, cookies, string handling, browser detection, preloaded images, debugging techniques, and a lot more. Rate this link
- Thau's JavaScript Tutorial - Learn the basics including variables, if-then statements, link events, and image swaps in what's been called the best JavaScript tutorial on the Web. Rate this link
- Coolnerds Electronic JavaScript Reference - reference with most important operators described Rate this link
- JavaScript Guide - official guide from Rate this link
- Official Netscape Javascript documentation Rate this link
- Complete Idiot's Guide to JavaScript, Second Edition - full book on-line Rate this link
- DevGuru JavaScript Quick Reference - This is an extensive 214 page reference source that explains and gives comprehensive, working examples of code in a definitive manner for the JavaScript language (and hence, for the ECMAScript and JScript languages). All elements of the language are covered, including the events, functions, methods, objects, operators, properties, statements, and values. Rate this link
- Doc JavaScript - biweekly column on JavaScript, a programming language for web page's object manipulation Rate this link
- Popup Closer Rate this link
- Programming JavaScript Rate this link
- The JavaScript Source - resource with tons of "cut & paste" Rate this link
- Website Abstraction Free JavaScripts! Rate this link
- An Introduction To DHTML - JavaScript and HTML make a nice couple Rate this link
- ECMAScript - based on several originating technologies, the most well-known being JavaScript (Netscape Communications) and JScript (Microsoft Corporation) Rate this link
- Download Ruby Rate this link
- Online Ruby Cookbook - This is an effort to bring an organized and complete set of recipes to the ruby community so that beginning and advanced ruby programmers can benefit from having one. This an on-going book project. Rate this link
- Programming Ruby: The Pragmatic Programmer's Guide - On-line Ruby programming guide. Rate this link
- Ruby: Programmers' Best Friend - This is Ruby language home site. Rate this link
- Ruby page Rate this link
- Ruby QuickRef Rate this link
- REBOL home - Commercial REBOL home page Rate this link
- REBOL.org - E-zine, scipt library, mail archive, quick refernce Rate this link
- comp.lang.java FAQ - This is a Java FAQ list for the comp.lang.java newsgroups. Rate this link
- J2EETM Technologies - JavaTM 2 Platform, Enterprise Edition (J2EE), is a standard architecture to define and support a multitiered programming model where thin-client applications invoke business logic that executes on an application server. Rate this link
- Java Overview Rate this link
- Collecting the Garbage for High-Availability Real-Time Java Systems - With emerging garbage collection technologies Java can be optimized for high-availability comm systems. Rate this link
- Creating Your First Java application in Linux Using Only VI and Viewing/Debugging It with Netscape Rate this link
- Java Servlet API - provides web developers a mechanism for extending the functionality of a web server using Java programs called servlets Rate this link
- Making it happen with J2EE - Slideset of J2EE basics tutorial. Rate this link
- Silicon variety vanquishes embedded-Java taboos - Java's portability and C-like familiarity make it the linchpin of Internet communications. Today's hardware developments enable Java to break out of Unix/Windows system programming and into embedded devices. Rate this link
- The Java Tutorial Rate this link
- Mobile Information Device Profile (MIDP); JSR 37, JSR 118 - The J2ME Mobile Information Device Profile (MIDP) lets you write downloadable applications and services for network-connectable, battery-operated mobile handheld devices such as cell phones, two-way pagers, and Palm Pilots. Rate this link
- Securing Java: Getting Down to Business with Mobile Code - full book on-line Rate this link
- Java(tm): Programming for the Internet - offical Java home page Rate this link
- JavaShareware.Com - promotes Java through sharing resources and Java site with lots of Java material Rate this link
- Sun Java Technologies Page Rate this link
- elj.com - Eiffel documents and quick links Rate this link
- SmallEiffel - The GNU Eiffel Compiler Rate this link
- The Home Page for Object-Oriented Technology and Eiffel Rate this link
- A First Guide to PostScript Rate this link
- Color Postscript tutorial - Color PostScript is trivial. For black & white pictures, you specify shades of gray with the command "setgray". "0 setgray" is black and "1 setgray" is white. For color PostScript, you can specify the color with the command "setrgbcolor". You give that command 3 numbers, the red, green, and blue levels. Rate this link
- comp.lang.postscript FAQ Rate this link
- Ghostscript, Ghostview and GSview - postscript interpreter and previewer Rate this link
- Internet PostScript Resources Rate this link
- Internet Resources for PostScript and Ghostscript Rate this link
- PostScript Mini-FAQ Rate this link
- PostScript - Answers to Questions (the comp.lang.postscript FAQ) Rate this link
- PostScript Sources FAQ Rate this link
- ANSI-C/FAQ/IAQ Rate this link
- comp.lang.c Frequently Asked Questions Rate this link
- comp.lang.c FAQ Rate this link
- Enumerations with noncontiguous values - Enumerations with noncontiguous values pose some complications, especially if you want to iterate through them in a loop. Rate this link
- GCC Home Page - Currently GCC contains front-ends for C, C++, Objective C, Chill, Fortran, and Java as well as libraries for these languages. Rate this link
- Learn C/C++ Today - This is a list of a few C and C++ language tutorials available to a user. This list will include interactive tutorials, public-domain code collections, books etc. Rate this link
- learnc.com: Controlling The Real World With Computers - real-world equipment controlling using PC and C from basics to actually providing output to and getting input from the board Rate this link
- Programming in C - Lecture notes + integrated exercises, solutions and marking, some Java animation examples are also available Rate this link
- Programming in C document collection Rate this link
- Tietoa C-ohjelmointikielest? (ja C++:sta) Internetiss? Rate this link
- Viper's C/C++ Web Page - source on the Internet for C/C++ programming material. Rate this link
- C routines for handling ways, week numbers etc. Rate this link
- C source code archive at ftp.funet.fi Rate this link
- Fast Square Root in C - This application note describes a solution for a fast square root routine in C. Both the parameter and the result are 16-bit unsigned ints. Even though it is not 100% precise, the result can be used with many applications in the real world running in real time. Rate this link
- Material for C/C++ Programmers Rate this link
- The International Obfuscated C Code Contest - to write the most Obscure/Obfuscated C program under the rules Rate this link
- The SNIPPETS collection - huge collection of small C routines Rate this link
- Are there any good shareware/freeware compilers? Rate this link
- Antique Software: Turbo C version 2.01 - This software is provided to the Borland community free of charge. They may be downloaded and used "as is" for personal use only. Rate this link
- Borland C++ Builder Compiler - This is a fast 32-bit ANSI C++ optimizing compiler for Windows which you can download for free. Rate this link
- GCC - GCC (GNU Compiler Collection) GCC development is a part of the GNU Project, aiming to improve the compiler used in the GNU system including the GNU/Linux variant. Currently GCC contains front ends for C, C++, Objective C, Chill, Fortran, and Java as well as libraries for these languages (libstdc++, libgcj,...). Rate this link
- GCC Development Toolchain for x86-win32 targets Rate this link
- DJGPP - DJGPP is a complete 32-bit C/C++ development system for Intel 80386 (and higher) PCs running DOS. It includes ports of many GNU development utilities. The development tools require a 80386 or newer computer to run, as do the programs they produce. Rate this link
- OpenWatcom - Open Watcom is a joint effort between SciTech Software, Sybase?, and a select team of developers, which brings the Sybase Watcom C/C++ and Fortran compiler products to the Open Source community. Rate this link
- Pacific C MS-DOS Compiler (freeware version) - Pacific C is a freeware C compiler for DOS. Included is the HI-TECH Professional Development environment, an IDE allowing you to edit source code and manage projects with ease. Pacific C's text-based GUI makes it a good teaching package, while ANSI-compliance and tight code generation provide a powerful development tool. Rate this link
- Antique Software: Turbo C version 2.01 - This software is provided to the Borland community free of charge. They may be downloaded and used "as is" for personal use only. Rate this link
- Borland C++ Builder Compiler - This is a fast 32-bit ANSI C++ optimizing compiler for Windows which you can download for free. Rate this link
- Borland Turbo C++ Guide Pics Rate this link
- Borland FTP Rate this link
- Borland Web site Rate this link
- The Free Borland C++Builder Compiler - A fast 32-bit ANSI C++ optimizing compiler for Windows available for free. Rate this link
- Using Projects with Turbo C++ Rate this link
- DJGPP Home Page Rate this link
- DJGPP Files Found on Other Sites Rate this link
- DJGPP - FTP directory Rate this link
- DJGPP QuickStart Guide - under construction Rate this link
- DJGPP User's Guide Rate this link
- Checker - Checker is a tool which finds memory errors at runtime. Its primary function is to emit a warning when the program reads an uninitialized variable or memory area, or when the program accesses an unallocated memory area. The Malloc library of Checker is very robust, though a bit slower than the usual GNU Malloc. Rate this link
- LCLint - LCLint is a tool for statically checking C programs. With minimal effort, LCLint can be used as a better lint. Rate this link
- A Tutorial on creating DLLs with VC++ - Visual basic is very fast and easy tool for developing applications with high degree of user friendliness , but it lacks some important functionalities like direct access to hardware, multythreading(Activex servers allows some type of multythreading !). The easy and effective solution for this problem is to write a DLL. But beginners experiance problems in understanding how to write a dll. .Here is a simple tutorial on writing DLLs with Visual C++. I assume that you know a little bit Visual Basic and C programming. Rate this link
- C++ ANSI Draft Standard - 1997 C++ Public Review Document Rate this link
- comp.lang.c++ FAQ Rate this link
- C++ Annotations - This document is intended for knowledgeable users of C (or any other language using a C-like grammar, like Perl or Java) who would like to know more about, or make the transition to, C++. This document is the main textbook for Frank's C++ programming courses, which are yearly organized at the University of Groningen. The C++ Annotations do not cover all aspects of C++, though. In particular, C++'s basic grammar, which is, for all practical purposes, equal to C's grammar, is not covered. For this part of the C++ language, the reader should consult other texts, like a book covering the C programming language. Rate this link
- C++ FAQ Rate this link
- C++ Reference Rate this link
- Learn C/C++ Today - list of a few C and C++ language tutorials available Rate this link
- Olio-ohjelmointi ja C++ Rate this link
- printf - manual page Rate this link
- Viper's C/C++ Web Page - source on the Internet for C/C++ programming material. Rate this link
- C# Corner - online communitity for .NET developers Rate this link
- C# Help - Place For C# Developers Rate this link
- C# Introduction and Overview Rate this link
- C# Version 2.0 Specification - Microsoft released the design specifications document for C# 2.0 (codenamed 'Whidbey') to be released early 2004. New features of the language include generics similar to those found in Eiffel and Ada, anonymous methods similar to lambda functions in Lisp, iterators, and partial types. Rate this link
- Ada Programmer's Frequently Asked Questions (FAQ) Rate this link
- Introduction to Ada 95 - This introduction is a survey of Ada's key features, with a focus on those most useful to embedded programmers. Rate this link
- The Big Online Book of Linux Ada Programming Rate this link
- Basic archives Rate this link
- Exploring time with your computer - This set of experiments shows you how to measure and use time in your programs. You will need QBASIC in order to run these experiments. Rate this link
- GWBasic Tutor Rate this link
- Information about the QBasic command Rate this link
- Introduction to QuickBASIC (IBM-PC and Mac versions) Rate this link
- Laz's QBasic Swimming Pool - You can find here lots of different Qbasic programming examples. Rate this link
- QBASIC on 32-bit Windows - a howto page Rate this link
- QBasic on Windows 2000 Server documentation Rate this link
- Really really basic BASIC - Even if you don't have the foggiest idea how to write or even run a program, then this section is just for you. In a matter of a few minutes, you will actually be writing a program of your own. Rate this link
- Where is QBasic in Windows 2000? Rate this link
- Visual Assembler - Visual Assembler is an IDE for assembly language program that incorporates Rapid Application Development (RAD) features. Direct support is provided for win32 assembly programming on the Intel x86 processors, using the Masm, Nasm, or Tasm assemblers. Rate this link
- Gavin's Guide to 80x86 Assembly Rate this link
- Assembly Language Lists and Major Resources Rate this link
- Assembly Language Tutorial - introducing you to assembly language programming Rate this link
- Brennan's Guide to DJGPP Inline Assembly Rate this link
- Convert MASM format assembler to the standard "as" (AT&T) format used by UNIXware or SVR4 Rate this link
- Cyberpoint - some assembler sources Rate this link
- Handling noise on IRQ7 - Noise on the IRQ lines or and IRQ signal that falls too soon will generate a spurious IRQ7. This can cause strange lock up problems in your software. Rate this link
- How to optimize for the Pentium? microprocessors - manual describes everything you need to know about optimizing code for the Intel microprocessors, including Pentium, Pentium MMX, Pentium Pro, Pentium II, Pentium III, Celeron and Xeon. Rate this link
- Intel FTP - Intel official site Rate this link
- Intel processsor secrets - Intel documents, undocumented Pentium and protected mode Rate this link
- NASM (Netwide Assembler) - The Netwide Assembler, NASM, is an 80x86 assembler designed for portability and modularity. It supports a range of object file formats, including Linux a.out and ELF, NetBSD/FreeBSD, COFF, Microsoft 16-bit OBJ and Win32. It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel's but less complex. It supports Pentium, P6 and MMX opcodes, and has macro capability. Rate this link
- Paul Hsieh's x86 Assembly Language Page Rate this link
- PENTIUM/486 Optimization - article ment to be included to Rate this link
- Pentium Optimization article by Agner Fog Rate this link
- SpAsm, The Specific Assembler - Spasm is an Assembler for ReactOS / Win32 PE files production ( Win95/98/NT/2000). Rate this link
- Turbo Pascal and Assembler sources at garbo.uwasa.fi Rate this link
- Visual Assembler - Visual Assembler is an IDE for assembly language program that incorporates Rapid Application Development (RAD) features. Direct support is provided for win32 assembly programming on the Intel x86 processors, using the Masm, Nasm, or Tasm assemblers. Rate this link
- Win32 + Assembler Source Page - If you are interested in 32-bit programming for Windows 95/98/ME or NT/2000 using assembler, you will find everything you need here including an Editor, Assembler, Resource Compiler, Linker, Symbolic Debugger, Help Compiler, Information, Sample code and demos and Links. Rate this link
- DEBUG/ASSEMBLY TUTORIAL by Fran Golden - This is a debug tutorial to assist the student who needs to know the inner-workings of the Intel based computer. The objective of this material is to instruct the student in observing the contents of the microprocessor and all of the memory locations that the processor can address. After you become familiar with debug and how it looks at addresses, You will be introduced to machine level programming, using debug as an assembler. At the end of this tutorial you should have a good understanding of the IBM system board and low level programming. Debug is a small utility program that uses one letter commands followed by several p
Programming information
General
Choice of programming languages can be considered a religious issue.Discussions of programming languages often become religious wars. There are nowadays very many languages to choose for.It is possible to write terrible code in any language. And it ispossible to write perfectly useful, very readable code in any language. The quality of a particular program is less a functionof the quality of the programming language than it is of the qulaityof the programmer. Some "better" languages though can make the writing good code easier for some type of applications.
Useful general skills
Regular expressions
A regular expression is a specially formatted pattern that can be used to find instances of one string in another. Several programming languages including Visual Basic, Perl, JavaScript and PHP support regular expressions, Regular expressions are a very powerful way of matching patterns in text. Regular expressions are generally usually used as find-replace tools. Regular expressions are similar to some find-replace operation in popular text edixtors, only better. Think of a regular expression as an extremely advanced find-replace tool that saves us the pain of having to write custom data validation routines to check e-mail addresses, make sure phone numbers are in the correct format, etc. Regular expressions ("regex's" for short) itself are sets of symbols and syntactic elements used to match patterns of text. Regular expressions figure into all kinds of text-manipulation tasks. Searching and search-and-replace are among the more common uses, but regular expressions can also be used to test for certain conditions in a text file or data stream. Unfortunately regular expressions are quite hard to understand at first.Regular expressions are one of those quirky features that popup in a variety of programming languages, but because they seem to be a difficult concept to grasp, many developers push them away into the corner, forgetting that they even exist.
Script languages
Scripting languages are very useful for making small tool program.
UNIX shell programming
The UNIX shell is most people's main access to the UNIX operating system.Whenever you login to a Unix system you are placed in a program called the shell. he shell acts as a command interpreter; it takes each command and passes it to the operating system kernel to be acted upon. It then displays the results of this operation on your screen. You can make shell scripts by placing a series of shell commands to a file which you then execure with aid of the the shell. Shell programming with scripts is very useful to automate repetitive tasks such as system administration, regression test, and rapid prototyping. The language syntax of conventional Unix shells such as Bourne shell, C shell, and Korn shell are somewhat awkward.Therefore, shell scripts written in Unix shell programming languages are usually hard to read and difficult to change and maintain. There are different versions of shells used in UNIX systems,Bourne, Korn, and C presents the three shells that are typically available on a UNIX system. There are many basic things which work in quite same way in many shells, but there are lots of differences in the more advanced operations in those different shells. In the near beginning there was the Bourne shell /bin/sh (written byS. R. Bourne). It had (and still does) a very strong powerfulsyntactical language built into it, with all the features that arecommonly considered to produce structured programs; it hasparticularly strong provisions for controlling input and output and inits expression matching facilities. Along came the people from UCB and the C-shell /bin/csh was born. Intothis shell they put several concepts which were new, (the majority ofthese being job control and aliasing) and managed to produce a shellthat was much better for interactive use. The new shell input language used in C-shell was to resemble C, the language in which UNIX itself was written. C-shell had problems(like bugs etc.) so new versions were developed.In came command lineediting, TENEX-style completion and several other features. Out wentmost of the bugs, but did the various UNIX operating systemmanufacturers start shipping tcsh instead of csh. Generally people have used Bourne shell for scriptingand the C shell for interactive use. Shell compatition is still going on. The Korn shell, a commercial implementation of "improved Bourne",has long been a part of System V. POSIX specified more orless the System V Bourne shell as shell standard.bash (the Bourne again shell) by GNU was born to be a POSIX compatiblefree shell. Rc is a small, simple and in most peoples opinion a much cleaner shellthan some other counterparts.The tcsh is an enhanced version of the C shell. It allows command line editing and filename completion.The search for the perfect shell still goes on and the latest entryinto this arena is zsh. It is based roughly on the bourne shell (although thereare some minor but important differences) and has so many additionalfeatures.
AWK
Awk is a text-processing programming language designed to search for, match patterns, and perform actions on files. AWK programs are generally quite small, and are interpreted. AWK is a suitable tool for manipulating data which is in text format. Awk makes it easy to select particular records in a file and perform operations upon them.
Rexx
REXX is a programming language designed by Michael Cowlishaw of IBM UK Laboratories. Rexx is an acronym which stands for "Restructured Extended Executor Language". In Mike's own words: "REXX is a procedural language that allows programs and algorithms to be written in a clear and structured way." What makes REXX different from most other languages is that it is also designed to be used as a macro language by arbitrary application programs. The idea is that application developers don't have to design their own macro languages and interpreters. Instead they use REXX as the macro language and support the REXX programming interface. If a REXX macro comes across an expression or function call that it cannot resolve, it can ask the application to handle it instead. The application only has to support the features that are specific to it, freeing the developer from handling the mundane (and time-consuming) task of writing a language interpreter. Rexx language is standarddized.The American National Standard (ANSI Standard) for Rexx is called "Programming Language - REXX", and its number is X3.274-1996 The REXX language itself is independent of a specific operating system. But there always exists functions and services specific for a single operating system. The REXX Product family runs on host systems, such as VM/ESA, VSE/ESA, and MVS/ESA, and workstation environments, such as AIX, OS/2, Linux, and Windows.
NetRexx
NetRexx is a human-oriented programming language which makes writing and using Java classes quicker and easier than writing in Java. NetRexx is a programming and scripting language which has been designed to be a simple, effective, and complete alternative to the Java language. With NetRexx, you can create applications and applets for the Java environment faster and more easily than by programming in Java - and you can compile or interpret them, as appropriate. The new -prompt option allows very fast (usually sub-second) compilation or interpretation of most classes. Inspired by two very different programming languages, Rexx and Java, NetRexx blends the easy-to-learn syntax of Rexx with the robustness and portability of the Java environment. The result is a language which is tuned for both scripting and application development, and is therefore truly general-purpose.
SED
Sed is a stream editor than can be used to perform basic text transformations on an input stream.Sed is a non-interactive editor that works from a command line; it's not a GUI Windows app. Sed changes blocks of text on the fly, without making you open up a screen, push a cursor around, and press DELETE or INSERT or ENTER or function keys.Sed is extremely powerful, and you can do things in sed that you can't do in any standard word processor. THe operating principle of sed is simple: You feed sed a script of editing commands (like, "change every line that begins with a colon to such-and-such") and sed sends your revised text to the screen. Sed has beeb originally written and designed for Unix, sed has been ported to MS-DOS, Windows, OS/2, and other operating systems.
TCL
Tcl (Tool Command Language) is easy to learn and you can create a useful program in minutes! You are free to use it however you wish, even in commercial applications. Tcl (Tool Command Language) is used by over half a million developers worldwide and has become a critical component in thousands of corporations. It has a simple and programmable syntax and can be either used as a standalone application or embedded in application programs. Best of all, Tcl is open source so it's completely free. Tk is a graphical user interface toolkit that makes it possible to create powerful GUIs incredibly quickly. It proved so popular that it now ships with all distributions of Tcl. Tcl and Tk were created and developed by John Ousterhout. Developers all over the world followed his example and built their own Tcl extensions. Today, there are hundreds of Tcl extensions for all manner of applications.
Perl (Practical Extraction and Report Language)
Perl is short for 'Practical Extraction and Report Language'. Perl is an iterpreted high-level programming language designed for processing text. Perl has become the premier scripting language of the Web, as most CGI programs are written in Perl. However, Perl is widely used as a rapid prototyping language and a language that makes it possible for different systems to work well together. Perl is popular with system administrators who use it for an infinite number of automation tasks. Because Perl is an interpreted language, Perl programs are highly portable across systems.
Python
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems. Python is also usable as an extension language for applications that need a programmable interface. The Python implementation is portable: it runs on many brands of UNIX, Windows, DOS, OS/2, Mac, Amiga, etc. Python is copyrighted but freely usable and distributable, even for commercial use, and of course the download is FREE.
PHP
PHP is a server-side, cross-platform, HTML embedded scripting language. PHP is a simple scripting language to implement server side fuctionalityto web servers which support that scripting language.PHP, which stands for PHP Hypertext Preprocessor, is a server-side embedded scripting language. In non-technical terms: a PHP processor is run on the server (Windows, or a flavor of UNIX). When a page is requested that contains PHP, the processor translates and executes all the commands in the page, and then outputs the result to the browser as regular HTML. Because this translation occurs on the server, a page written with PHP is viewable with any browser, on any operation system.PHP can be embedded directly into HTML. PHP code is separated from HTML by Start and End entities. When a document is parsed, the PHP processor only interprets the demarked areas, and outputs the results in the same position. PHP also includes the ability to almost completely separate code from HTML.
PHP is intended for and excels at processing text, a range of math functions, and interaction with databases, with a limited amount of fuss on the part of the coder. It also is a natural for building web pages requiring the coder to do nothing special to get their output to the browser.
JavaScript
JavaScript is the Netscape-developed object scripting language used in millions of web pages and server applications worldwide.JavaScript is Netscape's cross-platform, object-based scripting language for client and server applications. JavaScript is most commonly used to add code to web page which is executed by the web browser in the client computer. In this use Netscape Navigator, Internet Explorer or some other Javascript capable web browser interprets Client-Side JavaScript statements embedded in an HTML page.Netscape's JavaScript is a superset of the ECMA-262 Revision 3 (ECMAScript) standard scripting language, with only mild differences from the published standard. Microsoft's implementation is somewhat different subset of that standard. Both Netscape and MSIE support JavaScript, with newer browsers supporting later versions of JavaScript (support for some other brosers exist or is coming).Client side Javascript can be used to implement menus, clocks, dynamic HTML, interactive web pages, some limited search engines, it is used in web advertising (some banners) etc.JavaScript can also be used to make server side scripts on Netscape web server.Server-Side JavaScript is compiled into platform-independent bytecode and used by Netscape Enterprise Server, enabling you to create server-based applications similar to Common Gateway Interface (CGI) programs.Even though the name is quite similar to to Sun's Java, the JavaScript iscompletely different technology than Java. Contrary to popular misconception, JavaScript is not "Interpretive Java". JavaScript and Java are similar in some ways but fundamentally different in others. In a nutshell, JavaScript is a dynamic scripting language supporting prototype based object construction. The basic syntax is intentionally similar to both Java and C++ to reduce the number of new concepts required to learn the language. JavaScript can function as both a procedural and an object oriented language.
General information
Javascript tutorials
Javascript references
Javascrit books
Example source code resources
Related technologies
ABC
ABC is an interactive programming language and environment for personal computing, originally intended as a good replacement for BASIC. ABC is easy to learn (an hour or so for someone who has already programmed), and yet easy to use. Originally intended as a language for beginners, it has evolved into a powerful tool for beginners and experts alike.
Ruby
Ruby is the interpreted scripting language for quick and easy object-oriented programming. Ruby can be considered as an object oriented scripting language.Ruby is a fairly new language out of Japan that apparently is very popular there. Ruby has full reflection mechanisms and a fairly simple syntax. Ruby combines a lot of smalltalkism and perlisms which makes it very ituitive to use.It has many features to process text files and to do system management tasks (as in Perl).
REBOL
REBOL is an advanced interpreted language that lets you access and control the resources of the Internet with such ease that you might start thinking of the Internet as your own personal operating system. You're already familiar with how web browsers let you surf the Internet. With REBOL you script the Internet.
Java
Java is Sun's cross-platform, object-based programmign languagewhich can be used for wide variety of applications. In web environmentJava is most often used as applets which are included to webpages andthen run by the client web browser Java virtual machine. Java can alsobe used to make server side web server extensions called servlets.
General
Articles and tutorials
Java books on-line
Java resources
Eiffel
Eiffer is a sophisticated object oriented language. Eiffer is available from at least three commercial vendors, as well as under GNU (SmallEiffel).
Postscript
PostScript is a page description programming language. It is perhaps the most versatile and loved language for printers, being used in printers world-wide. It is capable of drawing to computer screens and any kind of drawing device. Postscript langauge most often used as laser printer controlling laguager, but is a complete programming language. PostScript is interpreted, stack based and has latent typing. It somewhat resembles the computer language FORTH. However, PostScript programs are usually documents meant to be printed that have been generated by a program written in some compiled language.
C
The 'C' programming language was originally developed for and implemented on the UNIX operating system, on a DEC PDP-11 by Dennis Ritchie. One of the best features of C is that it is not tied to any particular hardware or system. This makes it easy for a user to write programs that will run without any changes on practically all machines. C is often called a middle-level computer language as it combines the elements of high-level languages with the functionalism of assembly language. C allows the manipulation of bits, bytes and addresses- the basic elements with which the computer functions. Another good point about C is its portability which makes it possible to adapt software written for one type of computer to another. C offers the speed of assembly language (or quite near to it) and the extensibility of FORTH, but few of the restrictions of Pascal and Modula-2. At the time that C appeared many languages were in use (many still are).There was a demand for a truly transportable language that would run on all platforms. C was in may ways "good enough" for this. Originally C was described by itsauthors as "portable assembly language" in that it was small, simple,close to the hardware, and without very much in the way of behind-the-scenes magic. C was originally designed to produce very easy conversion (translation) toPDP-11 machine code which would compete well with hand-writtenassembly. The principal reason for major OSs being written in C nowadays appears to be thatthe software manufacturers already have their own libraries of C routinesthat they want to reuse simply because they don't want to pay out to getthem in a different format. They now hold copyright over what they have,and are not going to relinquish it. Thus there is a demand for Cprogrammers.The reason that they put any time, money and effort at all intoproducing the libraries in the first place was that C was being touted as"the way to go" because of its so-called transportability betweenplatforms. This portability is not such tha tyou can just take any C program and compile it in a new system.Many programs and libraries had turned to be more or less platform specific, unless pecifically written for portability in mind in the first place. The C source is usually"mostly" compatible between compilers at best - and that is when only themost rudimentary routines are being written. Very many C programs in real life have more or less platform specific features in them, so porting takes almost always lots of time. In C programming language world there is one book more known and referenced that anything else. The name of this wondrous tome is "The C Programming Language, Second Edition", and it was written by the twopeople to whom the entire world owes a debt of gratitude for the veryexistence of the language: Brian W. Kernighan, and Dennis M. Ritchie.Practically every C book, tutorial, pamphlet, website, or college course everpublished/taught by anyone with even the slightest amount of competencewill eventually refer you back to "K&R", as this book is commonly known.Short of going to the ANSI/IEEE standard, there is no more definitivework on the language, and no more authoritative information source thanthe very creators of the language you're trying to learn.If you want to learn C well, get a copy of this book C Programming Language, Second edition by by Brian W. Kernighan and Dennis M. Ritchie. The book is published by Prentice Hall of Englewood Cliffs, NJ, it wears an ISBN number of 0-13-110362-8. The C programming language simply cannot be learned even halfway effectively without it. C is like a surgeon's scalpel: just a handle and an edge. It can cutpractically anything and in the right hands it can perform miracles.However, use it carelessly and you'll cut your own hands off.
General
Source code
C compiler links
Borland C compiler information
Borland C compilers used to be very well known and widely used compilers. Inprise has issued free versions of several Borland C and Pascal compilers.Users can download the Borland C++ Compiler 5.5. Users can also download Turbo Pascal 1.0, 3.02, and 5.5 and Turbo C 1.01 and 2.01 from the Borland Community Museum if they first register as Borland Community members.
GCC information
GCC (GNU Compiler Collection) GCC development is a part of the GNU Project, aiming to improve the compiler used in the GNU system including the GNU/Linux variant. Currently GCC contains front ends for C, C++, Objective C, Chill, Fortran, and Java as well as libraries for these languages (libstdc++, libgcj,...).
DJGPP information
GPP is an open source C compiler developed by GNU project for UNIX systems. GPP is an open source C++ compiler developed by GNU project for UNIX systems. DJGPP is a DOS/Windows port fo GCC and GPP tools.
Watcom C compiler information
Watcom C is a C compiler for Intel processors. It was one of the first good 32 bit compilers fpr PC platform.
C checkers
C++
C++ is an enhanced version of the C language. C++ includes everything that is part of C and adds support for object-oriented programming (OOP). In addition, C++ also contains many improvements and features that make it a "better C", independent of object oriented programming. C++ is actually an extendible language since we can define new types in such a way that they act just like the predefined types which are part of the standard language.
C# (C sharp)
C# is a modern, object-oriented language introduced in Microsoft .NET development environment.C# is designed to bring rapid development to the C/C++ programmer, so that the people whi know those languages shoudl be able to easily adapt to C# programming.C# is designed for architecting a wide range of components-from high-level business objects to system-level applications.C# includes built-in support to turn any component into an XML Web service that can be invoked over the Internet-from any application running on any platform.This is what Microsoft proposes as a good Internet programming tool for applications which involve XML and Web Services. C# includes versioning support in the language.
Ada
Ada is an internationally standardized object-oriented language. It was originally designed in the early '80s and updated in the mid '90s.It was designed for programming large, long-lived systems, especially those with stringent reliability requirements. Ada was specifically intended to meet the needs of embedded and real-time applications, which must be reliable as well as efficient. Typical examples are aircraft avionics, command and control, and transportation systems. Ada can be used as a procedural programming language with built-in support for multitasking and hardware control and as an object-oriented programming language.Ada is a strongly typed language with a Pascal-like syntax. Ada offers structured control statements; procedures and functions; data type-definition facilities; pointers to dynamically allocated objects, declared objects, and subprograms; block structure; exception handling; and a set of standard libraries. Ada has a traditional run-time data model comprising static storage, stack space for local variables and formal parameters, and a heap for dynamically allocated objects. Ada does not have garbage collection, but does include several mechanisms by which the programmer can prevent memory leaks. Ada's secure underpinnings (strong typing, and so on) as well as specialized functionality, such as mechanisms to promote traceability between source and object code, make the language applicable to systems that must be certified against safety standards such as DO-178B. The Ada 95 standard contains features for interfacing with native (non-Ada) code and data: An Ada program can import subprograms or global data from other languages.
Basic
BASIC, which stands for Beginner's All-purpose Symbolic Instruction Code, is an easily-learned computer language that was developed in the 1960's. It is still important because of its adoption by the influential industry giant MicroSoft as the basis for their Visual Basic language and of the macro language in version 5 of their Excel spreadsheet (VBA, Visual Basic for Applications).QBasic is a popular variant of the Basic programming language designed by Microsoft. The QBasic interpreter used to come with every version of MS-DOS and Windows 3.1 opearting system. QBasic is not installed by default when installing Windows 95 / Windows 98, however is still on the CD for support with older programs. QBasic is not included with Windows 2000 (if you need to run QBasic in Windows 2000, you can copy it from a Microsoft Windows NT 4.0-based computer).
Assembler (X86)
Assembler is an ASCII presentation of the native microprocessoroptocodes (the codes with which it operates).High-level languages offer great advantages in general by hiding many mundane and repetitive details from programmers, allowing them to concentrate on their goals. However, sometimes programmers must use a lower-level language, such as when writing code that deals directly with hardware or that is extremely performance sensitive. Assembly language is the programming language closest to the hardware, which makes it a natural last resort in such situations.








