So You Want to Be a Programmer?
There are many levels of programming, and just as many programming languages and skills to consider when starting down that path:
- Is programming just a curiosity that you want to try out?
- Do you want to approach programming as a hobby, for personal use, or to develop a career?
- Is your intention to develop smartphone apps, create public shared functions and websites, or develop commercial business systems?
Identifying your level of interest is the first step in determining the language and your general approach toward learning to develop applications. Different programming languages have various learning curves for beginners.
Getting Started – Making Choices
If your intention is to develop marketable skills for career employment, you will want to focus on a language commonly in high demand by business:
- SQL (pronounced ‘sequel’)
- Java
- Python
- JavaScript
Hobbyists and application developers will want to start out with languages that are relatively easy to learn and have many resources available such as online forums, available training, and even books.
Some of the most popular selections are:
- PHP – popular for web sites (including running Facebook and WordPress)
- HTML/CSS – HTML and CSS work together in building web pages and creating the layouts you see on websites.
- JavaScript – JavaScript is not Java, so don’t confuse the two from their similar names. This is a great choice for a language that is reasonably easy to learn, has an enormous worldwide following, and is growing in use and popularity.
- Python – a frequent choice for a first programming language, Python is easy to read and comprehend. It is a general-purpose language used for everything from web apps to data analytics.
There are many other languages worth considering, but these are some of the most commonly-used and selected by new programmers. Many websites are available to help you make the decision that’s best for your programming goals, such as Treehouse.
Learning How to Do Programming
Once you’ve made that critical choice of programming language, how do you start the learning process? That may actually be easier than your language choice. There are many online courses available for nearly every language and style of programming you can imagine:
- Online texts and courses – many are free or available at low cost
- Public forums – once you get started, there are practically unlimited websites and forums where you can ask for help with programming problems.
- Videos – yes, there are great educational videos available that discuss programming topics, including examples – starting with the basics and moving up to advanced topics.
- Local and community colleges – many schools offer multi-tiered curriculums that introduce students to programming, with continuing courses for more advanced functions and applications.
- On-the-job training – getting a background in basic programming and developing websites can get your foot in the door for many businesses, where you can grow your skills while earning a respectable wage.
Start with the basics – data structures, concepts of file handling, basic math functions, and input-output operations. Those are essential building blocks of programming, in any language. Once you have the basics down, you’re ready for more complex challenges.
Algorithms in Programming
Algorithms are utilized in applications to perform specific functions such as:
- Sorting data
- Data searches
- Graphic generation
Such functions are essentially procedures that programs execute step-by-step to accomplish the desired results. Algorithms can be standardized functions that programmers simply access by supplying inputs and then processing the output of the procedure.
An excellent example is a Google search, which we can all identify with. Google incorporates a sophisticated search algorithm to accept your search criteria, analyze web pages for matches, then return a set of results to you, with the highest-ranking matches listed first.
Programmers can write algorithms to perform functions, or may incorporate already-written code to perform more complex procedures. Searching the web, there are thousands of coded algorithms available for reuse by developers. As the saying goes – ‘why re-invent the wheel?’
How Do You Hone Your Skills?
There is an amazing proliferation of exercises available on the web providing programming challenges, recommending solutions to coding problems, or simply chatting about alternative ways of solving problems when you get ‘stuck.’
With the growth in popularity of JavaScript, there are numerous resources on the web that provide not only JavaScript practice problems, but complete solutions to validate your own code.
Do you want a real challenge? There are competition sites where programmers submit solutions to programming problems, with entrants being rated on their solutions.
As you acquire proficiency in one aspect of software development, you’ll find the sky is the limit. No one programmer knows everything about a language or its capabilities, which is one of the attractions of the occupation, after all. You keep learning, refining, and sharing your creations.
Programming can be a rewarding and challenging activity, as well as a lucrative career.