List O'Free Windows Software
by Michael Dipperstein
Welcome to my list o'free software. Lately Linux has become my operating system of choice. My home PC has a Windows partition, but I can't remember the last time that I booted to it. How ever, I still use Windows at work, and still interact with Windows users, so I found some utility in maintaining this list.
This page contains links to sites which contain all kinds of free stuff that I've found useful. Most of the stuff is for Win32 (Windows 95/98/NT/XP), though some of the stuff may be used on several different platforms. Some of the free stuff comes in for fee versions too, but all of it may be used for free, for an unlimited time in at least one form.
This is by no means an exhaustive list of all the free stuff that I have tried or know of. If you know of any free software packages that I should add to my list, e-mail me at email@example.com and tell me what you know about it. If you happen to be the creator of the free software package, odds are especially good that I will include your software on my list.
- AnyEdit - AnyEdit is a well designed program editor written by an open team of developers lead by M. Deepak and licensed under the GPL. AnyEdit is very well suited for editing of multi-file C/C++, Java, and PERL projects, with features such as code completion and syntax highlighting. If you are looking for programmers editor/IDE, AnyEdit is worth a try. However, AnyEdit's complexity makes it ill-suited as a Notepad replacement.
- Arachnophilia - Arachnophilia is another cool editor. As the name suggests, it supports web page design (not spider lovers). In addition it has templates for several programming languages and allows you to view your file in an external web browser or a viewer that is part of the editor. If, you're the patient type, or have a really fast PC, you might find the keyword highlighting to be a great feature, but on my PC it's unbearable. Arachnophilia has been rewritten in Java. And works on any machine running Java 2 release 1.5. I haven't tried the Java version, so I don't know if it's better or worse.
- ConTEXT - ConTEXT is an AEdit derivative developed originally by Eden Kirin. It was once my program editor of choice. ConTEXT has all the features that I expect from an IDE and the simplicity of Notepad. It includes syntax highlighting for several languages, rectangular text blocks, book marks, and support for projects. It was an easy editor to get used to, it's keyboard commands are intuitive. ConTEXT would be a perfect general purpose editor if it included a spell checker.
- Crimson Editor - Crimson Editor is a compact and powerful program editor with most of the features found in commercial program editors, including: syntax highlighting, it's own macro language, and a spell checker (though it does not correct spelling). I have used this editor for creating HTML files, and it does an excellent job of syntax highlighting, but lacks the menu of HTML keywords that I have grown accustomed to.
- HTML-Kit - Some time ago I tried playing with HTML-Kit. It's yet another full featured editor. HTML-Kit isn't nearly as easy to use as NoteTab, and it's not as quick loading either. It used to be 100% free, but now it looks like there's a version that they charge for. When I last looked at it, it came with several features that the free version of NoteTab was missing, like keyword highlighting, spell checking, and a previewer. There was also supposed to be a Linux version of HTML-Kit in the works.
- JFE - Jens' File Editor is a full featured editor text written by Jens Altmann. It that includes some functions which allow it to be used as an IDE. When I'm working in windows, I use it as a Notepad replacement as well as an editor for some of my programming. JFE is very stable and has most of the features found in the for fee program editors, including column blocking and syntax highlighting. The only thing it lacks is a spell checker.
- NoteTab Light - NoteTab Light is a text editor designed with additional customizable templates. The templates that come with the editor support HTML, and are fairly robust. It's the editor that I originally used to create this and other web pages. There are actually three editors in the NoteTab family: NoteTab Light, NoteTab, and NoteTab Pro. Out of all of these NoteTab Light is the only free editor. The cost for either of the other editors is minimal (My ex-wife actually owned a copy of NoteTab Pro, I've been too cheap to by a copy for myself PC). The full-featured editors support keyword highlighting and spell checking, as well as a few more powerful macros.
- PFE - Programmer's File Editor is a full featured editor written by Alan Phillips. I used to use it for most of my coding. It was the editor that Microchip used in their MPLAB development package for PIC microcontrollers. It's very stable and has most of the features found in the for fee program editors. The only things it lacks are the ability to do column blocking, and a spell checker.
- PSPad - PSPad is one of the editors that I find myself using from time to time. PSPad is developed by Jan Fiala and it's apparently written in Borland's Delphi. The common editing functions like cut and paste work as expected and it has block selections too, though selecting a block is a bit awkward. PSPad is another one of those editors with the features of an IDE. It includes syntax highlighting for several languages, rectangular text blocks, book marks, and support for projects. PSPad also includes a spell checker, html checker, and a hex editor. Those last three items are what keep drawing me back to it.
- Geany - Geany has become my editor of choice lately. It functions equally well on Linux as it does on Windows and the keyboard shortcuts are the same on both versions. Geany has all the features I'm looking for in an editor and most of what I want in an IDE. It does spell checking, column blocking, syntax highlighting, syntax call tips, code navigation, and a whole lot more. It's support for project building leaves a little to be desired, but that's about its ony weak point. Oh, did I mention that Geany is released under the GPL!
- Mingw GCC - Mingw GCC is a Win32 porting of the GNU Project's GCC developed by Mumit Kahn. The resulting compiler and tools may be used by anyone under the GNU public license. There are two versions of this compiler, one which requires MSVCRT.DLL and the other which requires CRTL32.DLL. Each version has it's limits, so read about them before you choose one. Unless you're targeting old (pre OSR 2) Windows 95 machines I recommend using the MSVCRT.DLL version.
- Cygnus's GCC for Cygwin - CygWin32 is actually a porting of GCC and much of the GNU environment to a Win32 platforms. The porting was done by Cygnus Software and is free to be used by anyone under the GNU public license. Redhat has acquired Cygnus and continues to support their projects. I used this compiler when I did work for my school projects. Unlike the mingw version of GCC, this version emulates much of the Unix environment and may use many of the more common Unix libraries. It let's me get pretty far with my assignments using my PC before I have to log on to real Unix machines where my project finally has to run. The only real downside to Cygwin GCC is that all code compiled under it requires a special DLL, cygwin1.dll, to run. The DLL does all the translating of Unix system calls to the Win32 environment.
- lcc-win32 - lcc is free Win32 C compiler written by Jacob Navia. It supports all the Win32 libraries, and has intrinsic Pentium MMX operations. In my benchmarks of lcc, I found that it generated smaller code than the Borland and Microsoft compilers, but the speed of the code was slightly less. Considering that lcc comes with a hefty price tag of free, I think it lives up to its expectations. I've used using it on and off for a while did not encounter a compiler bug. I thought I had found when I used it to compile crypt(3), but it turned out to be a bug in the crypt(3) source.
- Digital Mars - Walter Bright, one of the main developers of Zortech C/C++, has developed a series of compilers for DOS, Win16, and Win32. The compilers support C, C++, and D. To the best of my knowledge there are no other compilers for the D language. I have tried the D compiler and it worked, but ANSI C has always been the quickest way for me to get something done, so I found that I wasn't using any of D or even C++ the features.
Free Scripting Languages
I really don't want to lecture about the pros and cons of any scripting languages. Aside from shell scripts and batch files, almost all of the scripts I write are in Python, however a lot of programmers seem to prefer Java. Both of these languages have ports to a wide variety of platforms including Windows, and vast legion of supporters who are more than happy to lend their assistance. The links below include the home pages for each of the languages and a few others.
Integrated Development Environments (IDEs)
- Dev-C++ - Lately I have been using this IDE in combination with mingw for most of my windows development. The editor that comes with Dev-C++ is a little weak, but its tight integration with the compiler, the gdb debugger (including the insight version), and a make utility make up for the weak editor. Mike Serrano maintains a site describing the ide, its use, and integration with the insight debugger.
- VIDE - VIDE is the V Integrated Development Environment developed by Bruce Wampler. VIDE supports both the gcc and Borland C compilers under Win32. For debugging, VIDE will integrate with gdb or turbo debugger. VIDE also supports a Sun's Java SDK.
Free Compression Utilities
- InfoZIP's ZIP utilities - One of the most common compressed file formats for PC is .ZIP. Though the format has been made public domain, most of the ZIPers and UNZIPers are not. InfoZIP has ported ZIP and UNZIP to several platforms and made both the source and executable available. They've also developed Wiz, a ZIP GUI for win32. Zip, Unzip, and Wiz may all be found InfoZIP FTP site.
- gzip - gzip is a single file compression format developed as part of the GNU project. It is responsible for all of the files with a .gz extension. A major reason for gzip's popularity is that it has been ported to several Unix-like platforms.
- bzip2 - Like gzip, bzip2 is a single file compression utility. It's not quite as popular as gzip, but is gaining in popularity because it usually has better compression ratios.
- 7-Zip - 7-Zip is a Windows GUI based file archiver capable of using the 7z algorithm to achieve high compression ratios. 7-zip also packs and unpacks: ZIP, GZIP, BZIP2, and TAR formats. There are several more formats that it can unpack but not pack. 7-Zip is licensed under the GPL, so source is available. I don't use 7-Zip all that often, so every time I come back to it I have to relearn its interface, but other than that it has a quality archiver.
Misc. Useful Stuff
- Sysinternals Suite - The Sysinternals Suite is a package that bundles a huge collection of windows system troubleshooting programs. This is a must for system monitoring and troubleshooting.
- MiTeX - MiTex is a complete LaTeX package for Windows. It contains fonts, dvi generators and viewers. It's just one of many free TeX packages available, but it's the only one that I've ever used. My TeX needs are few and far between, and MiTeX has done the job just fine.
- Aladdin's GSView and GhostScript - These utilities are a must for viewing and printing PostScript (PS) and Acrobat (PDF) files. In addition, they allow PostScript files to be printed without a PostScript printer. I believe GhostScript is strongly related to the GNU package of the same name. However, I don't know which package derives itself from the other.
- Adobe Acrobat Reader - Acrobat Reader is Adobe's utility that allows viewing and printing of Acrobat (PDF) files. In addition to the basic feature set, a few plug-ins are available for searching for text, linking to other forms, and similar operations. For viewing PDF files, I prefer Acrobat Reader over GSview, however Acrobat Reader does not support PostScript.
- FastCode32 - FastCode32 is a 32 bit program encoding and decoding mime, uuencoded, and xxencode files. It comes in an easy to use package, and like everything else on this page FastCode32 is freeware.
- TeraTerm Pro Web - TeraTerm Pro Web is a terminal which I use for all my telnet and SSH sessions. It supports all of the basic features of Windows telnet, with a few additions like better terminal support, and key commands for cut and paste.
- WinMerge - To quote straight from the WinMerge home page "WinMerge is an Open Source visual text file differencing and merging tool for Win32 platforms. It is highly useful for determining what has changed between project versions, and then merging changes between versions". In other words it's a graphical diff program. I use it heavily when verifying changes that I've made to my software.
- gnuwin32 - gnuwin32 is a collection of GNU utilities to ported native Win32. Many of the utilities that come with Cygwin are also here. The big difference is that these utilities don't require an emulation layer. This package is a must have for any *nix user required to use Windows.
- unxutils - unxutils is yet another a collection of GNU utilities to ported native Win32. unxutils and gnuwin32 have several utilities in common, but neither package is a superset of the other.