The Little Coders
Ressourcen für Programmierer
letzte Änderung: 12.02.2000 von Michael Neumann
Seiten-Übersicht || Was ist Neu || Suchen
Für Programmierer | Algorithmen und Quellcodes
Informationen über die Programmiersprache Ruby
Programmbeispiele in über 80 Sprachen. alte Seite ==> Hello World in 65 verschiedenen Sprachen
Bitte schauen Sie auch unter Algorithmen und Quellcodes und Links.
Von mir gesammelte Links zu sehr vielen Programmiersprachen
Eiffel-Ecke Informationen über die Programmiersprache Eiffel
Ein Vergleich zwischen BETA, C++, Eiffel, Java, Object Pascal, Ruby und Smalltalk
GNU-C Erweiterungen Erweiterungen des ANSI-C Standards des GNU-C Compilers
Programmbeispiele in verschiedenen Sprachen
Einführungen und Tutorials:
E - eine Sprache für (kryptographisch) sicheres, verteiltes Programmieren
Comparing and introducing Ruby (englisch)
Ruby's Benutzerhandbuch (noch nicht ganz fertige Übersetzung)
WATCOM-Dokument: In diesem von mir geschriebenem Word-Dokument geht es über das Programmieren in Watcom C++ und Watcom Assembler im Protected-Mode. DOS-Extender Funktionen werden aufgelistet, es wird beschrieben, wie Assembler-Funktionen von C++ aus aufgerufen werden (Parameterübergabe), es werden die Möglichkeiten von Inline-Pragmas aufgezeigt und vieles mehr... (als gepacktes Word-Document runterladen; HTML-Dokument für ältere Browser)
Forth-Interpreter:
Ein, von mir geschriebener Forth-Interpreter, der die grundlegensten Funktionen beinhaltet. Bald kommt eine neue, verbesserte Version dieses Interpreters heraus. Beide Versionen sind noch nicht voll funktionsfähig, d.h. es fehlen noch einige grundlegenden Funktionen. Ebenfalls fehlt eine Dokumentation. Version 1.1 ist bedeutend schneller!
Version 1.0: forth1_0.zip 51.637 Bytes
Version 1.1: forth1_1.zip 63.892 Bytes
PL0/E - Pascal-ähnliche Programmiersprache:
PL/0 ist eine Pascal-ähnliche Programmiersprache, die einst von Dr. Dr. h. c. Niklaus Wirth als Modell-Sprache entworfen wurde. PL0/E ist eine nicht vollständige Implementation von mir. Das Programmier-System besteht aus drei Komponenten. PL0.EXE ist der Compiler, der Assembler-Code für NASM.EXE (Netwide-Assembler) erzeugt, und EDITOR.EXE ist die IDE (Integrierte Entwicklungs Umgebung). NASM.EXE wurde nicht von mir geschrieben, Sie können es aber für nicht-kommerzielle Zwecke nutzen. Wenn Sie etwas programmieren wollen, dann starten Sie einfach EDITOR.EXE.
pl0.zip 340.877 Bytes
Mathematischer Parser:
Mit diesem Programm können Sie mathematische Berechnungen durchführen. Es stehen zahlreiche Funktionen zur Verfügung. Die Syntax ist stark an BASIC angelehnt.
mathparse.zip 60.114 Bytes
COLOR_Java
Mit diesem Programm können Sie Ihre Java-Quelltexte in farbige HTML-Seiten umwandeln um sie im Internet zu präsentieren.
color_java.zip 64.125 Bytes
COLOR_C++
Mit diesem Programm können Sie Ihre C/C++ Quelltexte in farbige HTML-Seiten umwandeln um sie im Internet zu präsentieren.
color_c++.zip 62.427 Bytes
Disassembler für 8086 und 80186:
Mit diesem Programm können Sie eine COM-Datei oder eine ein-segmentige EXE-Datei in Assembler-Quellcode umwandeln.
diass86.zip 61.573 Bytes
für Quellcode siehe Quellcodes
Datei-Konvertierungs Utilities für Programmierer:
Es sind sechs verschiedene Utilities enthalten.DAT2HEXA wandelt eine beliebige Datei in ein Assembler- Listing mit 'DB'-Deklarationen um. Das Programm DAT2HEXC ist das Pendant für C/C++-Programmierer. EXE2BIN wandelt eine ein-segmentige EXE-Datei in eine Binärdatei, was einer COM-Datei entspricht (außer dem unterschiedlichen Startoffset). EXE2HEXA tut nicht anderes als EXE2BIN gefolgt von DAT2HEXA machen würde, nämlich eine EXE-Datei in ein Assembler-Listing zu verwandeln. DAT2HEXC ist wiederum das Pendant für C/C++-Programmierer. FILECMP vergleicht zwei Dateien miteinander und gibt in einer dritten Datei alle unterschiedlichen Stellen der beiden Dateien aus.
FileUtils.zip 88.394 Bytes
PProcess:
Mit diesem Programm können Sie beliebige Dateien in Ihr selbstgeschriebenes Programm einkopieren. Wenn Sie z.B. ein RAW-Bild (im folgenden Beispiel ein 320x200 Bild) in Ihr Programm kopieren wollen, so daß Sie es nicht jedesmal laden müßen, dann können Sie in Ihrem Quelltext (C/C++ in dem folgenden Beispiel) folgendes schreiben: static char raw_picture[64000] = "#INCLUDE_FILE#C:\FLUGZEUG.RAW#"; Der angegebene Pfad und der Dateiname muß natürlich angepaßt werden. Sie können jetzt so tun als ob im Array raw_picture die Daten des Bildes stehen. Wenn Sie das Bild anzeigen wollen, so können Sie z.B. das Array in den Bildschirmspeicher kopieren. Dem Programm liegt auch der Sourcecode bei (Watcom C++).
pprocess.zip 33.609 Bytes
Algorithmen und Quellcodes [zurück]
Algorithmen-Page sehr viele Algorithmen mit Sourcecodes
Kryptologie-Page z.B. DES, IDEA, LOKI91, GOST, SHA, MD5, RC4...
Programmbeispiele in
verschiedenen Sprachen ![]()
Bekannte Standard-Algorithmen:
Boyer-Moore Suchalgorithmus C++, benötigt Standard Template Library (STL)
Standard Hash-Algorithmus C/C++
Hash-Algorithmus von P.J.Weinberg C/C++
Quicksort von C.A.R. Hoare C++, benötigt Standard Template Library (STL)
Bucketsort:
Dieser Sortier-Algorithmus war bei meinen Tests, im Vergleich zu dem Quicksort-Algorithmus der Standard-Bibliothek von C/C++ um den Faktor 10 schneller. Dazu kommt, daß dieser Algorithmus eine lineare Laufzeit O(N) hat. Quicksort dagegen hat eine Laufzeit von bestenfalls O(N log N), was aber im schlechtesten Falle auf O(N²) anwächst. Ein Nachteil von Bucketsort ist, daß er ein zweites Array derselben Größe benötigt. Meine Implementation von Bucketsort ist in 32-Bit Assembler (WASM) geschrieben, und wurde getestet mit Watcom C++ Version 11.0 im DOS4GW- oder PMODE/W-Modell. Borland-, Microsoft- und DOS(16-Bit)-Programmierer werden diese Implementation nicht benutzen können, es sei denn sie schreiben den Assembler-Code ein wenig um. Das zu sortierende Array muß einen speziellen Aufbau haben. Es muß aus 8 Byte großen Strukturen bestehen, dessen erste 4 Byte den zu sortierenden Wert angeben (Schlüssel) und die zweiten 4 Byte kann der Benutzer frei wählen, d.h. hier werden die Daten angegeben.
bucket.asm bucket.hpp WASM, Watcom C/C++, PMODE/W oder DOS4GW
Hash-Table Klasse:
Mit der Klasse HashTable<datatype> können Sie sehr schnell Strings in einem Array wiederfinden ohne jeden String in dem Array auf Übereinstimmung zu prüfen. Jedem String wird ein Datenelement zugeordnet, welches Informationen beliebiger Art enthalten kann. Da die Klasse als Template definiert wurde, kann man als Datenelement eine beliebige Struktur oder einen beliebigen Typ benutzen. Mit der Methode insert(string,data) wird der HashTable ein neues Element hinzugefügt, welches als Suchschlüssel den string enthält und als Datenelement data. Der Typ von data wird bei der der Definition der HashTable zwischen <> angegeben. Die Methode remove(string) löscht das Element mit dem Suchschlüssel string. find(string) sucht nach dem Suchschlüssel string in der HashTable, und gibt bei Erfolg einen Zeiger auf das entsprechende Datenelement zurück. Wenn string nicht gefunden wird, gibt die Methode NULL zurück.
C++, benötigt Standard Template Library (STL)
Implementierung: HashTable.hpp (html) oder HashTable.hpp
Beispielprogramm: Main.cpp (html) oder Main.cpp
BN - Fast Big Numbers:
Hiermit lassen sich Berechnungen mit Ganzzahlen von beliebiger Länge durchführen, wie z.B. mit Zahlen die eine Länge von 5000 Ziffern haben. Für die Verwendung dieser Quellcodes brauchen Sie Watcom C++ (ich benutze Version 11.0) sowie TASM32 (Turbo Assembler von Borland). Die Länger der Zahlen muß vor dem Compilieren angegeben werden, und zwar muß im Assembler-Module (_bn.asm) BN_LEN auf die Anzahl der zu verwendenden DWORDs gesetzt werden, ebenso wie im Header-Module (bn.hpp). Dann müßen Sie das Assembler-Module mit TASM32 assemblieren und am besten die resultierende OBJ-Datei (_bn.obj) in das Watcom-Projekt einfügen. Es liegen zwei Testprogramme bei, mit denen alle Möglichkeiten der Engine getestet werden können, eine 32-DWORD und eine 512-DWORD Version. Programm funktioniert nur unter Windows 95. Mit Windows 98 gibt es auf meinem Rechner Probleme.
benötigt Watcom C/C++ und TASM32.EXE
BN.zip 71.697 Bytes
Bei Angabe von Zip-Files ist in diesen die Ausführbare Datei u.ä. enthalten!!!
C++
Tastatur-Programmierung: Keyboard.cpp (DOS)
Maus-Programmierung: Mouse.cpp (DOS)
Grafikprogrammierung im Mode 13h: Mode13h.cpp (DOS)
Quellcode von Packit (siehe oben), Packverfahren: Packit.cpp, Packit.zip
Quellcode von DIASS86 (siehe oben), Disassembler: Diass86.cpp, diass86.zip (WATCOM, DOS4GW)
Turbo Assembler (TASM) unter DOS:
Hardware Maus-Programmierung (nicht unter Windows ausführbar!): msmaus.asm
"Hello World" im Protected-Mode (nicht unter Windows ausführbar!): pm.asm, pm.zip
Starfield Demo: Stars.asm, Stars.com
Screen-Saver: Scrsaver.asm, Scrsaver.zip
Quellcode vom Text-Betrachter (siehe oben): Show.asm, Show2com.asm, Txt2com.cpp, textshow.zip
Sonstiges:
Boot-Loader (Bootsektor-Programm): Boot.zip
FileOK:
Mit diesem Programm können Sie einen CRC-Wert berechnen. Ein CRC-Wert ist ein Zahl, die für nahezu jede Datei unterschiedlich ist. Wenn Sie einen CRC-Wert für eine Datei haben, können Sie durch Berechnen des CRC-Wertes einer zweiten Datei exakt bestimmen, ob die beiden Dateien identisch sind. Dies kann insbesondere bei Netzwerkübertragungen oder bei einem Internet-Download nützlich sein, vorausgesetzt der Vertreiber einer Datei gibt den CRC-Wert an, um festzustellen ob beim Download ein Fehler aufgetreten ist.
FileOK.zip 6.410 Bytes
cryptIT:
Mit diesem Programm können Sie Ihre Daten schnell und sicher Ver- und Entschlüsseln. Es stehen sechs verschiedene kryptologische Algorithmen zur Wahl. Die Algorithmen sind: Blowfish, DES, GOST, IDEA, Loki91 und RC4. Wenn Sie dieses Produkt kommerziell verwenden, müssen einige der Algorithmen lizensiert werden. Dies ist bei einer nicht-kommerziellen Anwendung nicht der Fall. Bitte setzten Sie sich mit uns in Verbindung, wenn Sie näheres wissen wollen.
cryptIT.zip 20.243 Bytes
cryptIDEA:
Dieses Programm ist eine abgespeckte Version von cryptIT, die nur den IDEA-Algorithmus enthält. Wenn Sie dieses Programm kommerziell nutzen, müssen Sie sich den IDEA-Algorithmus lizensieren lassen. Nähere Informationen sind bei uns erhältlich.
cryptIDEA.zip 7.437 Bytes
Kommandozeilen Ver- und Entschlüsselungs-Programme:
Diese Programme verwenden diesselben Algorithmen, wie z.B. cryptIT, außer das noch TripleDES hinzugefügt wurde. Einige der Algorithmen sind patentrechlich geschützt. Wenn Sie eines dieser Programme kommerziell nutzen wollen, müssen Sie diese lizensieren lassen. Nähere Informationen können Sie bei uns erfragen.
blowfish.zip 44.869 Bytes
des.zip 51.350 Bytes
3des.zip 45.037 Bytes
gost.zip 25.609 Bytes
idea.zip 26.228 Bytes
loki91.zip 30.396 Bytes
rc4.zip 35.996 Bytes
für Quellcode siehe Kryptologie-Page
FTP_UPDATE Version 1.1
Mit diesem Programm können Sie ganz einfach Ihre komplette Homepage uploaden. Sie definieren ein Verzeichnis in dem die komplette Homepage auf Ihrem Rechner liegt und können in diesem Verzeichnis Dateien verändern, löschen, neue hinzufügen und Verzeichnisse erstellen bzw. löschen. FTP_UPDATE merkt bei einem Aufruf, was sich geändert hat und aktualisiert den FTP-Server, auf dem Ihre Homepage liegen soll. Das Programm liegt leider nur als Python-Quellcode vor, so daß Sie den Python-Interpreter erst von http://www.python.org downloaden müssen, um das Programm benutzen zu können.
ftp_update.py 12.633 Bytes
FileSplitter
Mit diesem Programm können Sie eine Datei in mehrere Dateien zerlegen, und diese später wieder zu einer zusammenzufügen. Dies ist vorallem sinnvoll, wenn eine Datei nicht vollständig auf eine Diskette passt.
FileSplitter.zip 6.013 Bytes
MD5 (Message Digest 5) Einweg-Hashfunktion
Mit diesem Programm können Sie die MD5-Prüfsumme einer Datei erstellen. Da jede unterschiedliche Datei eine andere MD5-Prüfsumme, läßt sich einwandfrei feststellen, ob die Datei verändert wurde.
md5.zip 26.041 Bytes
für Quellcode siehe Kryptologie-Page (Einweg-Hashfunktionen)
Caotical-Worms:
Caotical-Worms ist ein Nibbles ähnliches Spiel, indem man versuchen muß 9 Zahlen auf dem Bildschirm zu bekommen. Dabei darf man jedoch keine Wände oder Hindernisse berühren, sonst verliert man ein Leben und darf von vorne anfangen. Während dem Spiel, kann man eine MOD-Datei anhören. Caotical-Worms läuft im Textmodus. Dem Spiel liegt dazu noch ein Editor bei, mit dem man sich seine eigenen Levels erstellen kann.
kaozworm.zip 67.055 Bytes
mods.zip 228.872 Bytes
KNibbles:
Der Klassiker Nibbles neu aufgelegt! Für alle, die kein Grafikwunder erwarten, sondern das simple Vergnügen suchen. Reichlich Optionen sowie Levelerweiterungen, die unter der im Hauptmenü angegebenen Adresse zu erhalten sind.
Von Marin Rumpf.
knibbles.zip 32.701 Bytes
Game-Edit Professional 1.0:
Ein Programm für Windows, mit dem Sie einzelne Sprites oder Tiles entwerfen können. Aus den Tiles kann man wiederum eine Karte, bestehend aus mehreren Tiles, erstellen.
GameEdit.zip 349.024 Bytes
Text-Betrachter und TXT2COM:
Das Programm SHOW.COM ist ein sehr kleiner Text-Betrachter unter DOS, der Text-Dateien bis max 64k anzeigen kann. Er hat eine Größe von ca. 1200 Bytes. TXT2COM.COM dagegen wandelt eine Text-Datei in eine ausführbare COM-Datei, die dann den Text-Betrachter und den Text enthält. Gerade für Readme-Dateien kann dies sehr geschickt sein, da man nun nicht mehr einen Editor laden muß um die Datei zu betrachten.
textshow.zip 14.790 Bytes
für Quellcode siehe Quellcodes
Periodensystem:
Dieses Windows-Programm stellt ein einfaches Periodensystem dar, mit dem man per Mausklick die wichtigsten Informationen über ein chemisches Element erhält. Der Sourcecode des Programms liegt bei (Turbo C++ für Windows).
Period.zip 116.605 Bytes
FLIC-Player (Autodesk FLI u. FLC):
Sehr schneller FLIC-Player, der mit Watcom C++ und Assembler unter PMODE/W (DOS4GW) geschrieben wurde. Unterstützt auch hochauflösende Modis bis zu 1280x1024. Um eine FLI/FLC-Datei anzusehen, übergeben Sie dem Programm FLIC.EXE einfach die FLI/FLC-Datei als Parameter. Der Quellcode ist auf Anfrage erhältlich .
flic.zip 37.387 Bytes
Um den FLIC-Player auszuprobieren können Sie zwei FLI-Dateien herunterladen. Beide wurden von Hype, Mitglied bei Zero Or One Productions (ZORO) während der Mekka '98 erstellt.
explosion.zip FLI - 69.501 Bytes
PCX-Betrachter und PCX-Diashow:
Mit dem Betrachter können PCX-Dateien, die in der Auflösung 640x480 und 256 Farben abgespeichert wurden, betrachtet werden. Es wird einfach das Bild als Parameter an das Programm PCX.EXE übergeben Das Programm PCXSHOW.EXE, stellt die Diashow dar. Ihm wird als Parameter der Name der Skript-Datei übergeben. Die Datei SHOW1.SHO ist ein Beispiel-Skript das als Erklärung dienen soll.
pcx.zip 86.538 Bytes
Packit:
Ein Packprogramm, welches zwei verschiedene Algorithmen verwendet, und zwar RLE (Run Length Encoding) und das Bittable-Verfahren. Es erzielt relativ gute Packraten, manchmal bis zu 50%.
Packit.zip 13.505 Bytes
für Quellcode siehe Quellcodes
3D-Engine:
Diese Demo-Engine zeigt ZOF-3D-Files an. Es sind einige ZOF-Files beigelegt. Die 3D-Engine wurde von Sven Lepiorz und mir (Michael Neumann) in Watcom C++ und Assembler geschrieben. Bitte starten Sie start.bat oder übergeben sie dem Programm 3dengine.exe als Parameter ein ZOF-File.
3dengine.zip 297.907 Bytes
Bump-Mapping Demo:
Ein Effekt als ob auf ein Bild oder auf eine Oberfläche ein Scheinwerfer straht. Schauen Sie sich es am besten selbst an. Starten Sie dazu start.bat.
bumpmap.zip 182.863 Bytes
Feuer-Sinus-Textscroller-Demo:
Ein Feuer, vor dem ein Text sinusförmig vorbeiscrollt. Bei dem einen Demo wurde der Soundplayer MIDAS für die Musikausgabe benutzt. Er wurde nicht von mir geschrieben. Mit ihm können sehr einfach MOD-, XM- und S3M-Files abgespielt werden. Um die Demo anzusehen, führen Sie am besten start.bat und start2.bat aus.
feuer.zip 192.739 Bytes
Swabble-Zoom Demo:
Es wird ein Bild sehr stark auseinander gezogen und verformt. Des weiteren wird ein Bild gezoomt und mehrmals dargestellt. Am Schluß wird während dem swabbeln gezoomt.
swabble.zip 180.420 Bytes
Demo meines GUI's Mind-Vision:
Eine Demo meines Textmode-GUI's, welches an Turbo-Vision von Borland angelehnt ist.
mindvision.zip 157.941 Bytes
Programmiersprache Ruby:
Programmiersprache Eiffel:
ISE - Interactive Software Engineering ISE Eiffel (die Entwickler von Eiffel - Bertrand Meyer)
Halstenbach ACT iss-base
Object Tools Visual Eiffel und Display Machine (gut)
SmallEiffel Ein kostenloser Eiffel-Compiler
Eiffel - Application and Library Announcements-Links
Eiffel Liberty - An Online Magazine about the Eiffel Method and Language (sehr gut)
Eiffel's Design by Contract Predecessors and Original Contributions (Bertrand Meyer-12 Mar 97)
Eiffel Ecke noch mehr Informationen über Eiffel
Programmiersprache Smalltalk:
Programmiersprache Python:
Kryptographie:
Anti-Viren-Programme:
Datafellows (F-PROT) sehr gut (schneller Datei-Download!!!)
Sound-Programmierung (MOD / XM / S3M):
MIDAS Digital Audio System - Download page
3D / 2D-Programmierung und vieles mehr:
Programmierung allgemein:
Assembler, Hardware, DOS und Betriebssysteme:
Bücherkauf im Internet:
Buecher.de Lieferung kostenlos, garantiert am günstigsten! (sehr gut)
Bundeswettbewerb für Informatik:
eMail: neumann@s-direktnet.de
letzte Änderung: 12.02.2000 von Michael Neumann