Programming

This page is about the programming languages I use and the software I have written.

 

Languages

I started writing software when I was 7 years old. The first two programming languages I learned concurrently: Commodore 64 6502 Machine Language (Assembly Code) and Commodore 64 Basic. When I was 9 years old I wrote my first program used by other people: a database management system for tracking an insurance broker's clients. I wrote the software for an IBM PC in DOS.

 

Since then, I have written software for Windows using C++, C#, and Delphi/Free Pascal, and for the web using PHP and a variety of database systems. A lot of my software has been for my personal use - for personal productivity or research - or for my colleagues/department. For example, I wrote an online course management system for tracking the undergraduate program at Rutgers in 2008, and I wrote software that allowed our department to use our photocopier as a high-capacity scanner.

 

Most visibly, I wrote the software for the Rutgers Optimality Archive from 2000-2011 and the Cambridge Handbook of Phonology website. I also wrote an online newsletter system for the linguistics department's newsletter.

 

Programming languages I have used : C++, C#, Delphi (2 onwards), Visual Basic (3 onwards), PHP, Java, AJAX, Perl, HTML, DHTML, XML (1.1 onwards).

Database systems I have used in software: BDE, ADO, MySQL, Paradox, PostgreSQL, DBase, Access.

Platforms I have written software for: C64, DOS, Windows, Linux.

I have written software using the Direct X (5 onwards) and MS Speech (4, 5) APIs.

 

 

Programming and Research

Modern phonological theories make predictions that cannot be tested by hand. Software is now necessary to be able to fully determine the predictions of theories and subtheories. Phonetic analysis also requires software-based analysis. I believe it is becoming essential for phonologists to know an effective, fast programming language. I encourage my students to learn an appropriate programming language (e.g. C++, C#, Delphi, Java).

 

I write software for my research as I need it. However, there are some packages for Optimality Theory that are very useful. You can read about them here: http://camba.ucsd.edu/blog/phonoloblog/category/software/.