Standards Is What Differereniates Us From The Animal World

24 Jan 2021

Standards Are The Peoples Code

     You may not realize this, but we live in a world full of standards. It's just a matter of interpretation and how that person views it as a standard. Standard is defined as “: something established by authority, custom, or general consent as a model for example" according to Merriam-Webster dictionary. With that being said let's take a little trip down history. At the birth of the United States our founding fathers wanted to differentiate themselves from the United Kingdom when drafting the law of the land of our young nation. The birth of the Constitution was created as the standard of our young Nation and sets up a law that every citizens of the United States will always have freedoms in place that the government cannot touch. Such freedoms consist of the usual suspects such as freedom of speech, freedom to own property, freedom to openly practice religion of the citizens choosing, and so forth which surely will differentiate itself from The United Kingdom. As new nations developed around the world, the constitution became and/or is perceived as the standard of how their new country will be. For example, Myanmar who until 2011 was ruled by the military and finally adopted a democratic government which was loosely based on the United States Constitution.

     A standard will always be needed even if some people will not agree to it. Just like our government we all adopt a majority rules mentality and fair is fair. Having placed a standard in our day-to-day life keeps us from chaos and helps restraint our possible animalistic tendances. For example, having a standard such as our constitution differentiates of from the animal kingdom, even the holy bible is a form of code of conduct which is also a standard in a spiritual sense. We as people in some form acknowledge that our actions need to be guided and restrained because if we can't govern ourselves or compose ourselves properly, we will be no different from the animals. For example, a sea turtle who once she lays her eggs will go back to the ocean and will never see her children or even recognize them once they give birth or like a shark who is not ashamed of eating its own kind. For us seeing things, like how a sea turtle will treat her young or seeing a shark eating its own kind as barbaric and cruel to them it’s just a matter of nature. Without the standards we place on our society we would not be where we are today.

     There are many other examples, of how standards are our societies unwritten code, be it a code of law, code of conduct, or a personal standard that you placed on yourself. For example, just with school you may have set a standard that you will not get any B's this semester. Again, to reiterate what I mentioned above, there are many more examples of how standards is the unwritten code our society which is only proper to also have a standard when coding. I maybe too young to remember this but when coding started to become mainstream many companies wanted to cash in on programming and with each company, they set their own standards. However, they did not realize there was one to many cooks in the kitchen, and of course programmers would eventually prefer one company over the other and as time passes a standard started forming. I for one prefer to have a coding standard, reason being is that when I look at another person’s code the structure of the code will be similar to mines and I will not have to ask that person too many questions. Also, when coding having standards in placed makes a programmer’s code look more crisp, clean, and organized. Knowing what I know that we live in a society of standards adding a coding standard is no problem for me, I live it every day and having a coding standard is just another one to add to that list and will allow me to be a civilized human being.

Coding Done Right

     I have been lucky enough to be exposed to many different programming languages such languages include c#, c, c++, java, JavaScript but my first real exposure to programming languages was c# and the one thing I wish my professor should have warned us his students about is that there are many many more different languages out there and that c# is but one in that many. Having and setting an expectation like that would have setup standards for my own personal standards, however, I left that class thinking that c# was the only programming language and that the IDE that we used was the only IDE there was. I guess what I’m trying to say is to do coding the right way, the expectations need to be set and an open mind needs to be set as well. After taking that class the next programming language, I was exposed to was c/c++ and this is where I got my rude awakening that c# wasn't the only language out there. During the time I was taking the class I was so lost I had no idea what I was doing, sure there were some parts that I understood, but what really blew me away and I had a hard time grasping is that the way to compile, link, and execute a program was done a completely different way. I had no idea that there was no one button that will do all that let alone having to work in a terminal screen and use a completely different code editor. I was a walking Greek tragedy, nonetheless, I prevailed, granted I failed that class the first time around and really left a bad taste in my mouth regarding programming for the next two years but in the end, it made me a much better programmer because I know that I can code even if the direction I’m given isn't all too clear.

    The next programming language I was exposed to was Java, with that class our professor had us working within JGrasp and I’m back to the one button IDE where the IDE will compile, link, and execute my program from me which was really nice but knowing what I know now was never really gonna be like that for the rest of my career, which to me was fine. I welcomed the challenge. However, after going through c#, c, and c++, the Java language to me wasn't as bad, I took the class for two semester and both times walked away with an A. After my two semesters of Java, I felt like I was finally ready to take on c and c++ again. With my new gained experience in Java and new gained experience with loops, classes, and such, I truly felt I was in a better situation. Boy was I wrong, see when I first initially took my c/c++ programming language it was a class under the engineering umbrella and the professor had a completely different way of teaching the class. When I re-took the c/c++ programming language this time around it was under the ICS umbrella and with that being said, my expectations about the class were not properly placed. At this point I started to give up, I told myself maybe I’m not meant to be a programmer, but after some convincing and self-talking, I tried again but this time I completely throughout all the expectations I ever had with any programming languages and went in with an open mind and a willingness to learn and so far, it's working great for me. Each failure for me only strengthened my experience.

     The last programming language I’ve been exposed to is JavaScript, as with learning any new languages there are some nuances to each language. However, with JavaScript it helped solidify for me and make things much more clearly on certain things. One example I can think of is ESlint, I knew from previous classes I have taken there was some form of standards not none of my professors really took the time to explain it. They always just mentioned "The Standard", they skipped the walking and went straight to the running. However, with taking JavaScript, my professor was nice enough to explain it, he made us crawl before we walked, and then we ran. Other professors just told us here is a code run it on your terminal to check for coding standard error and that was that. I didn't even realize till I took JavaScript that each language had its own version of lint, let alone what a lint was. It’s nice that taking JavaScript but things together for me.

     In the end the one thing that is constant in the world of programming and if doesn't matter what language you use, there will always be some form of a standard. You may explicitly be told of those standard or implicitly told in passing but the standard in coding will always be constant. As I begin my journey in computer programming learning the standards and being told and taught a week on coding standards will set me up to a bright career in software engineering. The coding standard is but one standard that is done to do coding right.

ESLint And IntelliJ Idea

     After a week of working with ESLint and IntelliJ IDEA, there are definitely some differences in working with them compared to the other programs and IDE's that I've worked with before. First, let's talk about ESLint, I find it very cumbersome having to install ESLint every single time I create a project within IntelliJ IDEA. Currently I would have to download the ESLint file followed by having to move that file into my current project folder. After copying the file into my current project folder, I would then have to open up my terminal screen and change directories and do an install and only then will I be able to continue working with my project. I'm sure there must be a quicker or more efficient way to do this within IntelliJ IDEA. In contrast with working in c language, I would just download the txt file within my IDE, copy and paste the text file for example "cpplint.py" followed by the pathway to my .c file and change the name of the current project name and that would be all. It will then show me how many code standard errors it found, and I would then correct them. Although, with working with C, I would consistently have to execute the file for an updated error log. However, with learning any new computer languages each one will have their own procedures and steps on how to properly execute items. Some languages will excel in certain areas, while some other languages will not, however, being a programmer, you aren't limited, there are many options in what a software engineer can use.

     Next let’s talk about IDEs, my preferred IDE is visual studios. The only reason as to why I like VS is because I know exactly how to navigate around the IDE and I know what’s on my left side of my screen, the bottom, right, and center screen. I also can access the University of Hawaii's server from VS and can access my files from within it and navigate there also my terminal screen is built right in and i don't have to open a separate window to access it. I do remember when I first installed the program, there was a lot of settings that needed to be set, to get it to properly work. Till this day I still don't know how to code in Java using VS, although I've tried to no avail. I just got to the point I just didn't want to try anymore. With that experience I know that each IDE will have its own ups and downs, for example I will most likely continue to work with VS when programming in c/c++ because I know how to work VS when programming in that language and will most likely work with IntelliJ IDEA when working with JavaScript because I have gained the experience with working with that IDE in terms of JavaScript. With that being said, IntelliJ IDEA looks like a really good IDE to use in terms of programming in JavaScript, I like the minimal screen that it gives you and everything is neatly displayed. Just by inspection I can tell it works well with its integration with GitHub because on the top right of the screen there are options for pull, push, and updating repositories to github. I also like with the multi-colored text in the editor, it helps breaks the monochromatic display of the editor and easier to find particular things. I'm sure that IntelliJ IDEA has features and shortcuts that would make it easier for me to install ESLint after each new project, but I haven't had a chance to fully explore the offerings of IntelliJ IDEA. I am certain as I further my knowledge in working with IntelliJ IDEA I will find certain things easier and may even find a fix for my current woes with installing ESLint, which I’m sure will come through experience.

     Working with ESLint in IntelliJ IDEA has been great, I'm currently enjoying the fact that as I’m working on my current project standard coding will immediately show an error, if there is such, as I progress which will save me time having to search for the error down the road. The error messages that IntelliJ IDEA gives the user is much more detailed comparing it to other IDEs and will even underline the exact area of the error, which to me is really refreshing. The best part with using ESLint in IntelliJ IDEA is with ESLint it would have lightbulbs to help you better your code, for example, you would get a caution underline on a specific code if there is a better option such as when to use let and const or if it detects a variable should be an array. Removing error messages is much more efficient in IntelliJ IDEA and allows the user to execute their code much more quickly and efficiently.

     Overall, I'm enjoying the current environment I’m in when working with JavaScript. When down the road I need to Code in JavaScript, IntelliJ IDEA would be the first IDE I will use and having gained experience in installing ESLint into my project will make me a more efficient programmer.