Time to wrap up another semester. Personally, I thoroughly enjoyed this class, It really helped me as a programmer quite a bit. I had adopted Ubuntu about a year before this class started, but I never let it live up to it’s potential. I had never used the terminal, and I didn’t know any Unix commands. This class changed all that.
Almost every aspect of my day to day life involves my laptop, and Linux makes that time even more productive and useful. Looking back to when I primarily used windows, I had no qualms with it, but I don’t think I could ever shift back. I am permanently changed for the better with the introduction of Linux, as well as several other topics covered in this class.
I find myself commonly using the terminal, almost daily. The command $ find / -name <insert target here> has become my best friend, as has $ nautilus ., which opens a file browser in your current directory from the terminal. While it may seem counter-intuitive there are times when a GUI for a directory is just more helpful personally.
I had never actually used python prior to this class, but love it now. This summer I will become even better with it, as I plan on converting many of my scripts to it from java. I do love how almost every programming language is so well documented on the internet. It allows me to teach myself any of them with relative ease. I taught myself java over Thanksgiving break last year, and it has been an indispensable tool. It is a good thing to know, and quite easy to get the hang of. My final project (project obelisk) was written in it, and it has been a massive help with my internship.
I do admit though that the code itself for project obelisk is not elegant. Quite the opposite actually, I would have loved to spend a day or two and optimized it. Being developed by two different people simultaneously lead to lots of repeated code and no set style. But the deadline came up too fast, and we rushed to get it working and bug free instead. Of course then other classes demanded our attention and we haven’t had time to go back and make the code more elegant.
I was reading an article a few days ago about how several companies now look for a well rounded github profile alongside a resume. It makes total sense, as an active and used github profile means that the owner is actively contributing to open source projects and software on his own time. Not to mention the fact that he would be already familiar with git and software development as a whole. I will maintain my profile and probably put up several scripts I’ve written and been actively using and expanding. They were initially created for my internship, and are used to handle large scale Html and Xml parsing/editing/downloading.
I feel like knowing python, java, and C/C++ is a good well rounded basis, as you can do almost anything between all three languages. I do like the fact that knowing the languages themselves is only the start of my job, writing elegant and effective code seems to be an art. The more languages and libraries I’m familiar with, the better art I can come up with. My favorite part though is that I’m just getting started.