what the f*Lib.so?

:C language libraries, part 2, dynamic libraries compiler: gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 environment: vagrant virtual machine with linux 14.04.5 LTS for Ubuntu language: C language For background information on the subject, it’s helpful to understand what happens when C language files are compiled; for more information  on that, check out my other blog post: Computer Compilers: brief introduction, which helps to explain how the gcc compiler works. As this is a continuation of another blog post that I wrote, please refer to my post on libraries: what the f*Lib.a? for more on static libraries.  Here is a short summary from that blog: why use libraries and how they work Library files typically contain the code for functions that are most commonly used by an application or programmer, or that belong to a unique set of functions that together work to meet a larger end goal that can be used in a variety of different applications. Thus, libraries in […]

read more

can’t see the forest through the trees

:on the kernel | linux vs. unix | operating system vs. ubuntu vs. virtual machine | shell vs. bash | command line vs. terminal As daunting as I imagined the task of writing this article would be, it wasn’t worse than the feeling I continually face of having to learn to program software without a solid grasp of the meaning of the aforementioned components and applications. In my Software Engineering training at Holberton School, when we utilize the above listed applications, I often feel confused as to the differences between each of the different components and systems. My main problem is that I miss the big picture of how my computer software that I utilize is structured and connected to the rest of my computer. This also creates problems for how I communicate about what I’ve coded on my computer, especially for people that use different software and different machines. Not being able […]

read more

computer compilers: brief introduction

:on how a compiler works, using the GNU Compiler Collection gcc as an example compiler: gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 environment: vagrant virtual machine with linux 14.04.5 LTS for Ubuntu language: C language If you have begun to experiment with and learn about computer code and software languages, after the early 1980’s, it is very likely that you began using higher level languages, and much later learned about compilers. At least this is how I have begun to learn to code computer languages. I have been touching the surface of html, css, javascript, and PHP for almost 2 years, and I never knew what a compiler was. This is because these languages are interpreted by a browser or another lower-level environment instead of being compiled. The browser or other environment reads the instructions and uses its own logic and mechanisms to interpret and respond to the input codes. Did you ever wonder how […]

read more