Tuesday, January 10, 2017

Java!

This semester, I am reunited with Java and the Eclipse IDE after a year-long break.  At Foothill College, I attended a three-part course series that covered object-oriented programming methodologies through advanced data structures and algorithms.  Everyone I spoke to seemed to agree that it was a rigorous, challenging and enjoyable series.

This time around, while at CSUMB, I will focus on picking up points that I missed the first time around, solidifying my understanding of the language and object-oriented programming in general, writing more elegant, neater code, better committing to memory the syntactical and semantic details of the language, so as to permit writing/programming without having to frequently refer to notes or a text, as well as more freely and correctly articulating what I've been learning.  Furthermore, I'd like to learn to code for Android.

Reviewing the text and notes of module 1, I am reminded of a lot, remarkably, for some examples, that strings are non-primitive data types/objects with a variety of useful methods like .length(), .toLowerCase or .indexOf().  I was also reminded of type coercion for ints defined as floats, but that the opposite is illegal, and of truncation that occurs when casting floats to int.  Thinking further about some of the code I've written in the past in terms of its being part of a library, for example, System or Scanner, with, for example, .out and .print as the formers' methods, my understanding had been a little more shallow with my simply using the code and not realizing where it fits in object-oriented programming in a broader way.  Lastly, public/private and static membership, and where to place variable's definitions, are all concepts I am reviewing.

There is a lot more to think about and review, and I am glad to be studying Java again because it's interesting and informative for programming, over all.  Since I am studying to become a software engineer, the structural precision and detail that Java requires is really conducive to learning object-oriented coding concepts and structure.  I've studied several high-level languages at this point, including JavaScript, Python and PHP, and am becoming more and more proficient.  How much so?  I must laugh and shake my head in disbelief every time someone asks me, 'you know that Java and JavaScript are unrelated, right?'  For God's sake, I should hope so!  Still, I am invariably humble, so would rank myself as intermediate in my skills, rightly or wrongly.  I mean, compared to whom.  Furthermore, I am slow, even if I can produce debugged, working programs.  As mentioned in the syllabus, some students will take two hours to complete an assignment, while, others, ten.  To this end, a good goal will be for me to increase my speed, too, during this semester.

No comments:

Post a Comment