As I wrap up my graduate software engineering class at the University of Hawaii at Manoa, I sit back and revel in the fact that the end is only the beginning. Programming is an adventure, and software engineering is a set of tools to help you along the way.
A lot has happened in the past five months; some of the concepts were things I have been using for years, others were new. A few of the concepts that stood out the most to me this term were functional programming and User Interface (UI) frameworks.
Functional programming is the use of replacing traditional programming structures with functions. For example, if you want to multiply every element in an array by 2:
Traditional:
for (i = 0; i < arr.length; i++) {
arr[i] *= 2;
}
Functional:
arr.map(x => x * 2);
Functional programming is clearly the better choice here, assuming that you understand that map
is a keyword for iterating over each element of the array. I haven’t used functional programming techniques much at this point, but after seeing the ease of using map
-reduce
for processing large data sets using distributed computing in another class, I paid close attention to the topic this term and definitely plan on using it more in the future.
I consider myself a back-end developer, and like most back-end developers, user interfaces are an afterthought. Thankfully, a lot has happened since I started programming well over a decade ago, including the release of UI frameworks. These things are a godsend for back-end developers; you don’t have to worry about making things look pretty, as the UI framework handles all of the styling for you. Want a big red button for your contact us form? If you load up Semantic UI on your website, it is as simple as giving the submit element the class ui big red button
.