As part of my latest project, I decided to try out WampServer, the Windows development environment for developing web applications with Apache web server, MySQL database and PHP scripting (Windows, Apache, MySQL, PHP – WAMP). Packages like WampServer and EasyPHP are simplified ways to create a testing environment on your PC without spending a lot of time downloading, installing and configuring the individual components. The package also includes utilities such as PHPMyAdmin and SQLBuddy for managing your MySQL databases and writing SQL queries. The software is available in 32- and 64-bit versions and the installation is pretty straightforward.
The College of Central Florida Simulation & Automation Program is holding an Open House on Thursday, February 19, 2015 from 10 a.m. to 2 p.m. in the Klein Center at 3001 S.W. College Road in Ocala. See the poster below and call (352)873-5855 or e-mail XCEL-IT@cf.edu for more information.
When writing programs, it’s often necessary to perform repeating operations on collections of items such as customer orders or invoices. Often, you can just iterate through the collection or count the items to determine how many times to perform the operation. When working with a hierarchy of items such as a directory structure where you have an unknown and varying number of levels under each branch, it’s a different story. For this, the typical method is to use recursive programming, often just called recursion. This is a method in which one routine is designed to analyze the items on one level of the hierarchy, look for any sublevels and then call itself to analyze each sublevel. Each time the routine calls itself, it creates another instance of itself that works independently until it’s finished and then returns to the instance that called it.
(Originally published on AndrewComeau.com. Republished here by popular demand.)
Moving Beyond Microsoft Access
I’ve written a lot about Microsoft Access over the years and still believe it’s a great training ground for people who want to learn to design database applications. Its user-friendly interface provides an easy learning curve and introduction to the basics of relational databases, data entry forms and report design. It’s only the beginning, however, and if you want to get serious about programming, it’s important to expand your skillset with tools that are in demand by potential employers and customers.
One of these tools is Microsoft Visual Studio, the development suite that provides access to the .NET family of languages including C# and VB.NET. With Visual Studio, you can create a variety of professional applications from Windows executables to websites powered by ASP.NET programming. While Microsoft Access provides some impressive tools for the office power user and even some full-time programmers, Visual Studio is the next step up the development ladder. It enables professional programmers to design any type of solution without being tied to a Microsoft Office installation and without the limitations of the Windows desktop. A couple quick searches of sites like CareerBuilder.com will show you the kind of jobs and salaries that knowledge of Visual Studio can lead to as opposed to Microsoft Access.
In the last chapter, I talked about some of the current options when it comes to getting started in the programming field. I mentioned several development tools that you can get familiar with to decide what path you want to take as a software developer but getting started is only half the battle. As I said, the field is constantly changing and with so much evolving technology, it can be hard to keep up even if you’re working with it every day. When planning a career, there’s also a desire to have some idea of what things will look like five years down the road and where you should be in relation to them. That’s harder to do in the I.T. world but there are some things that you can plan on and overall strategies that you can use to develop a solid foundation of knowledge.
So far, I’ve given you some general ideas of what it takes to start and maintain a career in software development but you’re probably still wanting some direction as to the actual first steps of learning how to program. In this chapter, I’ll give you a sampling of the options available. Pay close attention to the links sprinkled throughout for additional information.
There are a lot of options out there because there are a lot of different computer languages and types of devices to program. The type of device for which you’re creating an application and the operating system it uses is sometimes called the platform. For example, if you’re programming Windows applications for the PC, then you’d be writing for the Windows platform. The Android OS that powers smartphones and tablets would be a separate platform and would require different programming tools. Some people might get confused by the term platform so it’s easiest just to say “I write Windows programs.” or “I create websites.”. You’ll find that one of the challenges of a programming career is communicating ideas to non-programmers.
You’ve probably heard people talk about how we’re living in the Information Age with an emphasis on how much information there is to process from all different directions. This is certainly true and it can be a challenge for the average person, especially if they were born even a few decades ago before there was a personal computer in almost every home and when most people were happy with a few local channels on their TV.
The flip side of living in the information cloud is that it’s never been easier for you to find information and learn virtually any subject. Universities no longer have a monopoly on education and people are no longer dependent on their local library, bookstore or media outlets for materials. Conversely, I never imagined when I was growing up in a small town in the 1970s that, one day, I could be a published author without going through the trials of manuscript submissions, editorial reviews and multiple rejections … but here we are.
Ask a lot of people about the requirements to be a computer programmer or software developer and they’ll probably start talking about computer science degrees and years of formal training. Those things don’t hurt but they’re not strictly necessary, either. I personally do not have a degree aside from the accounting diploma I earned from a local college many years ago. I am certified by Microsoft in Windows application development, a certification I earned through self-directed and cooperative study with a few co-workers. Most of what I know about programming is through self-teaching and experience. Nevertheless, with my current experience, all I have to do is post my resume and send copies to a couple of recruiters and my phone starts ringing. It’s about the demonstrated skills, not the paper.
So, I was glancing at Reddit first thing this morning and saw the following question …
I’m exploring the possibility of being a programmer, wondering what there is to it, and why you enjoy your job.
A very articulate high-school student was thinking about career choices and wanted to know what being a computer programmer was about and if he should explore it. Always wanting to encourage potential programmers, I offered my answer …