An interesting article at SitePoint.com on programming languages caught my eye while trolling through various sites. (I’ve been on a Python kick lately as it’s a language I’ve always wanted to learn but haven’t had time.) It occurred to me in reading Craig Butler’s article that there may be times where ChurchMag readers might be interested in building decent web applications for their churches and ministries. But if you’re a newb or maybe a computer science student still in your first year, perhaps a volunteer with a limited budget, this can be a daunting task.
Programming Languages Overview
The trouble is, you’d be hard pressed to mix and match technologies for the applications within your churches and organizations, particularly when it comes to the web-based stuff. So which way to go? While I’d love to say you should dabble with all of them and make your own decision, I realize that’s unrealistic. So I’ll highlight those on the list in the referenced article from top to bottom that, in my opinion, are the best choices for churches and other non-profit organizations.
This is a server-side, fully object-oriented programming language and arguably the most used across the WWW today. It’s relatively easy to learn for those of a mind for it, but it’s a lot of work to implement in custom programs, and it can suffer from “spaghetti-code” syndrome. It’s able to talk to a wide range of databases (e.g., MySQL, NoSQL, SQL Server, PostgreSQL), however, and the support community out there is tremendous. It’s also free to download and use, and when you get the bundled packages like XAMPP or WampServer that makes it much easier to test and learn before you try to publish to a web server. It’s also the platform of many different blogging engines, including the ubiquitous WordPress.
Python or Ruby (on Rails)
Let me begin with the caveat that I know just enough about these two languages at this stage of my career to be dangerous. Nonetheless, I have tinkered with them enough over the years I believe I can speak sensibly about them. I rank them together because in very many ways they seem to be about equal in their features, sustainability and ease of use. Python is a programming language written by Guido van Rossum and one of the strongest arguments for using it is the excellent community support. On March 23, 2013, Python 2.7.4, was released for community testing but the most current stable versions are 2.7.3 and 3.3, respectively. Ruby on Rails seems like one of those web platform frameworks that bodes a love-hate relationship with developers; that is, some developers hate it and others love it and wouldn’t think of using anything else. Like Python, it has a great community that’s friendly and receptive to newcomers. I didn’t find it as easy to learn as other languages but here’s a pretty good site to get you started.
ASP.NET (C# or Visual Basic)
I found it difficult to rank ASP.NET at the bottom, being that’s been my home turf for the past eight years. Unfortunately, it’s not as practical for newcomers. You can use either C# or Visual Basic to program ASP.NET websites. While Microsoft has really raised the bar on encouraging widespread adoption of this technology through a combination of advertising, free licensing of tools through Webspark and Devspark, Visual Studio Express Editions, and (most recently) WebMatrix 2, I still can’t recommend it as the #1 candidate for churches and non-profits. There are two reason: learning curve and the cost of hosting plans (although the latter has improved in recent years). The complexity of integrating utilities like AJAX, PowerShell and IronPython are also considerations.
You may to play around and find what interests you or even what will suit your needs. Whatever your choices, thoroughly investigate to find out what you’re getting into. And if you can get most of your work done using a turnkey solution like a content management system (CMS) or even a WordPress blog, I’d highly recommend you go down that path first.