Developer, Bowler, Media Guru

My Evolution of Programming Knowledge

Transitioning from programming language to programming language is no easy feat, even for those who have been doing it for quite some time.  It's no secret that a versatile programmer should know at least a half dozen or so programming languages to be efficient (I will count HTML and CSS as separate languages for this discussion).  As a web developer, I started out by learning HTML and CSS through the use of Microsoft Frontpage (now Microsoft Expressions).  I would use pre-built templates and took full advantage of the WYSIWYG (What You See Is What You Get) functionality of the tool.  At the time I had no idea of the true strength of what I was building.  For about three years, I kept to this mantra of developing sites via an easy to use interface without thinking or worrying about the behind the scenes functionality.  Of course, that would change when I wanted to really see what was going on.

By the time I reached middle school I explored the world of HTML and CSS through reverse engineering the code that was made available to me through Microsoft Frontpage.  Eventually, I reached the limits of this tool and discovered a well known tool named Dreamweaver.  I was able to take flight with the plethora of options available to me.  I was able to craft web sites with great detail through use of the Code View and Design View.  I was relying less on what the tool could do for me and placing more emphasis on what I could do by hand.  Within about three years I was able to build a detailed, customized website from scratch using my own code without anyone's (or anything's) help.  It was at this point that I wanted something more dynamic, it was time to learn JavaScript and PHP MySQL.

HTML and CSS are very straightforward to understand once you grasp the basics of opening and closing tags, naming elements and using proper formatting.  The language is quite simple and is now even though to those in middle school (grades 6-8).  After completing this milestone, it's time to move on to a new world of true programming, JavaScript.  JavaScript is an object oriented, browser interpreted based programming language that does not require any tools to be developed upon.  Of course, this language is much more complicated that HTML and CSS.  It has a well-formed required structure, rigid syntax and requires logic to run successfully.  JavaScript does not require compilation and can be run directly through the browser.  One of the biggest challenges for new developers is understanding the concept of object oriented programming (See Wikipedia), which takes some time to comprehend.  This concept allows developers to create abstract objects which represent an entity.  This entity can have many parts which can be uniquely identified.  Personally, it took roughly two full semesters to fully grasp the power of this language and to understand the object oriented programming concept.  JavaScript is within the heart of almost every modern web application to date.  JavaScript comes within the heart of jQuery, AJAX and many scripts that allow for interactivity and responsiveness.  Although, you can't dynamically query databases and drive back-end logic through it.  This is where PHP MySQL comes into play.

While attending Joliet Junior College I was able to grasp the power of dynamic web technologies, which include PHP MySQL.  These languages rely on a web application server interpreting the code prior to returning the results back to the browser.  This process occurs within the Client-Server model of technology (See Wikipedia for a quick lesson).  The server will receive a request, send the information to the web server (typically Apache or IIS), process the request, and finally return the data back to the user.  The information contained therein has gone through numerous lines of logical processing to reach your browser.  The logic includes numerous functions and procedures (See Wikipedia) which rely on a database connection to make the magic happen.  PHP MySQL allows for dynamic applications to function such as Drupal and WordPress.  MySQL returns information from the database pertaining to a specific request.  PHP handles session information and logic to display the information within HTML.  The CSS and JavaScript help round out the end user experience.  PHP allows for functional and object oriented programming to happen.  The language is quite powerful and can be used within any number of applications, not just for the web.  My first run in with PHP MySQL occurred at Joliet Junior College during a high level class.  I was able to grasp a number of concepts quite quickly due to my familiarly with JavaScript.  It can be said that once you learn the concepts, you are able to more easily transition from language to language.  During my first position at Anttix, we programmed heavily in PHP MySQL.  I was able to learn a large number of tips and tricks that have been extremely beneficial.  To this day (some five years later), I still use PHP MySQL quite frequently.  In fact this very website is based in PHP MySQL.

Upon being hired with Presence Health, I had to transition to a new territory, Microsoft .Net.  My familiarly with VB and C# is quite minimal, though I have the background to understand what is going on and how to accomplish the task at hand.  Remember, concepts stay the same while syntax changes between programming languages.  Of course, there are also additional built in functions and providers which help distinguish a given language's capabilities.  Within the realm of .Net the learning curve is about the comprehension of object oriented functional programming.  I have elected to use C# for it's recent growth in popularity and general acceptance over VB.Net.  The challenges in learning ASP.Net with TSQL vs PHP MySQL can be quite staggering even with similarities.  Each language has it's own nuances that help make it more powerful than the competition (ie: C# vs PHP or MySQL vs TSQL).  Thus far, I have enjoyed my time with ASP.Net and look forward to the future, even with the large number of challenges up ahead.

Simply put, it's important to have a diversified skill set as a programmer.  Having a large number of programming languages under your belt with help put you above the competition.  Regardless of your current knowledge or experience, it is important to know the fundamentals prior to getting into the fine details.  My only suggestion is that you start with a simple language (HTML/CSS) and work your way up towards the more complex (JavaScript, PHP, ASP). 

Entry Type: 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.