The Great Chaos of 2016

It has been far too long since I have updated this blog. Consistency is key.

I’ll start on the topic of school/furthering education and expertise:

My current instructor, who will be the instructor for at least 90% of the Web Application Development certificate, is nicely someone who challenges. One thing I am trying to improve is that my transition moving from procedural programming into object oriented programming is a little trickier than I expected. Previous standards and syntax, such as defining and calling a function for example, have me becoming lost even though the concepts can be broken down simply.

So far in Java, my confusion lies in how much deeper it goes into data types than other server-side languages I have worked with, such as PHP. Such as converting an integer value to a double value so it can be multiplied without throwing another error. Java’s ability to access ASCII characters and codes is another complex issue.

In the recent chapter, we are throwing decision structures such as if/else if statements into the mix. Of course, looping and decision structures are something I’m very familiar from working with JavaScript, Python and PHP. However, Java (and C++ so far as well) has me in such a new world that even concepts and structures I normally would know, have me lost.

When it comes to Java in particular (and object orientation), it has certainly driven OOP (object oriented programming) concepts such as the levels of classes, permissions within objects, methods, constructors. Of course, it certainly has its challenges, but I actually prefer its strict syntax to C languages (so far). Java, I can typically trace myself back to a solution unless I’m off in the mud somewhere.

We have been using Eclipse so far. I’ve always been more interested in Netbeans. This is mostly because Netbeans IDE has so many add-on capabilities. I’ll admit, however, that I haven’t had a chance to dive into Eclipse’s deeper capabilities. Window Builder (JFrame, JPane) is certainly a major aspect I want to master in regard to anything that would pertain to the web such as forms.

C++, though we haven’t dug terribly deep into it yet, has me clenching my jaw much more than any other language so far I think, other than maybe JavaScript in the beginning. It’s syntax is far more loose which worries me on vulnerability to errors. This is more true because C++ often doesn’t say, “hey buddy! There’s an error”. A scary example that the instructor presented was when you calculate outside a data type’s range. Rather than throwing an error, it wraps around to the beginning. So, if a range is -100 to 100, if it calculates to 101, it will actually return -100. This would be a devastating result if this occurred in an application such as calculating a user’s balance in a subscription to a web application. It appears we’ll be working far more with C# in the second class of these similarly syntaxed languages. However, I’d honestly rather get C++ out of the way and have the fun for later.

SQL and Database Design has been another favorite course as I’m finally getting pretty familiar with Microsoft SQL Server as well as the Visual Paradigm program. I suppose it is slightly geeky when I laugh and get excited when it’s realized that if you pull the same field from the wrong table, you’re often getting completely different data which thus equals incorrect data. I took Microcomputer Databases at MSCTC, however this course (at Minnesota State College – Southeast Tech) shows that it’s likely rare in this field that a developer is only dealing with five or fewer tables. In fact, it’s far more likely there will be dozens at least.

Another course, Network Management, has made even understanding permissions built into Windows 10 (such as the Security tab) have pretty cool power if desired. Learning group policies, security groups, organizational units, and so on helps me understand the vast amount of authentication troubleshooting that I (we) end up doing at my job. I personally think authentication to the cloud is only going to grow in intensity as more platforms continue to move to cloud based products. Even Adobe has halted selling standalone, physical versions of products such as Photoshop and Illustrator in exchange for Creative Cloud. A tough field for those who specialize in authentication as I have learned it can be very tricky and picky. Which, regarding security, is likely a good thing.

Now flipping to overnights at work, I am hoping more time will be available to hit these topics and more. Though I am still organizing and designing how I want the repositories to actually be set up, my GitHub account can be found here. I am playing with the idea of having a repository for each language.

That is all for the time being. Have a wonderful Monday.