Skip to main content

Java Keywords (Part XXIV): native

Java keyword list abstract continue for new switch assert default goto * package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char final interface static void class finally long strictfp volatile const * float native super while Keyword marked with an asterisk (*) are keywords that, although valid, are not used by programmers. This is the last chapter of the Java Keyword series. This is probably the keyword I have used the least. In my 20 year career as a software developer, I have used this keyword once, and that was to make some addition to legacy code. The keyword native is a method modifier . Basically, it is a keyword that can only be applied to methods. According to the Java Language Specification (JLS), A method that is native is implemented i...

Welcome to The Programming Corner

I am not a professional blogger; far from it. What I am is a man who was fortunate enough to find something he was REALLY passionate about and was able to do it for a living. It sounds really, really corny. But, that is the truth. My journey wasn't without obstacles. Along the way, I lost sight of that passion and my dream of doing something I love for a living was delay. And, many years later, here I am. Better late than never.

I discovered the field of Software Engineering and Computer Science in the early 90's while serving in the United States Army. One of my soldiers was given a directive to work on fixing the software on a prototype system my unit just gotten. As a supervisor, I felt it was important to gain factual knowledge of what this soldier was doing so I could evaluate his performance fairly. I starting sitting down with him to obtain this knowledge and I was blown away by the world of software. It was then when I decided I wanted to do that for a living.

I let many things getting in the way of my goals, it wasn't until 12 years later before I graduated with a Bachelor Degree in Computer Engineering. Then a Masters in Software Engineering. Now, doctoral studies are in a hiatus. Teaching and working takes too much of my time (Am I letting things get in the way again?).  Even if I never finish my PhD, I have another passion: teaching. I currently teach part-time at Texas Wesleyan University. I have been doing this since 2008. But, just recently, I thought I need to do more.

I just started a YouTube channel (https://goo.gl/UtA0Ml), and decided to give blogging another chance (I have written about 3 more blogs under my personal Blogger account). I would like to reach kids that might have a curiosity about Computer Science. I want the younger generation to know how really cool and "kick-ass" this field really is. I think Computer Science in general often get a bad reputation for being "boring" mostly because some of us tend to be a bit socially-challenged.

What I hope to accomplish with this blog is to write about my experiences as an educator and professional software developer in order to educate other in proper software development techniques. Since I am not perfect, I hope that you leave me constructive feedback, positive or negative, so that I could get better at blogging and also so that I could provide a better service to those who might decide to stop by my blog hoping to learn and improve themselves in this ever-changing world of software.

Comments

Popular posts from this blog

Implementing Interfaces with Java Records

If you have not read my article on Java records and do not know about this topic, please read my blog titled " Customizing Java Records " first and then come back to this one. Now that you know how to customize Java records, implementing an interface using Java records should be very easy to understand. If you don't know about interfaces in Java, you can read more on my article about interfaces. The recipe for implementing an interface is simply an expansion of what you learned in my previous blog on how to customize a Java record. Following our Rectangle example, let's create an interface with the same two methods we used before. public interface Shape { double area(); double perimeter(); } Now, let's further customize the previous example by doing two things: Add implements Shape at the end of the record declaration (after the record constructor), and Add @Override to the existing methods to ensure these methods com...

Customizing Java Records

If you have not read my article on Java records and do not know about this topic, please read my blog titled " Java Keywords Addendum: The Java Record " first and then come back to this one. What is a customization of a record? A customization of a record is simply the addition of code inside the body of the class. Before proceeding further, let's recap important aspects of a Java Record: Java records are immutable Because of item 1 above, you cannot add new fields unless defined in the record constructor Java records already override: Object#equals(Object) and Object#hashCode() , and then override Object#toString() You could redefine overridden methods as part of your customization if you would like. For example, if you want a fancier implementation of the Object#toString() method, you could do so. Let's look at our first customization example. Using the example from my previous blog, public record Student(...

Object-Oriented Programming Basics: What is in a Class?

EDITORIAL NOTE : This article was published briefly back in 2016 and quickly set back to draft because I wasn't happy with its contents. It is a shame that it was taking me three years to revisit this topic and work on a new and improved version. At least, I'm hoping it will be to the liking you the reader. Keep in mind that the opening paragraph will still read as if I just wrote it for my (former) students at Texas Wesleyan. I started working on lecture on the topic of Object-Oriented (OO) Programming by gathering some material, old and new, when I realized this might be good and simple post for my second attempt at blogging. To be completely honest, in the 8 hours I spent collecting information and preparing material for this week's lecture, I realized I still made some of the mistakes I am about to blog about. I am actually hoping I can write a series of postings regarding Object-Oriented Programming (OOP). But to do so, I must start from the very beginning. ...