Author Archives: dcastillo360

Week 11 Choosing a programing Language

I was thinking about our recent classwork activities and our own project and thought about what goes into selecting a programming language. I always assumed it was a preference but sometimes some languages have more benefits than others that can help you in the long run instead of choosing one you prefer. In addition, you gain more knowledge not sticking to one but being able to adapt to others. That is why I decided to find an article about choosing a programming language for your specific project.

This article uses a perfect analogy of how building a house is like choosing your programming language. For example the specifications of the house, what materials will you use, and where you want to build your house. You need to ask yourself similar questions like what kind of project, the development budget, and the complexity of the project. My main takeaway was to have a main objective of your project and have a clear definition of what you intend to do so you may pinpoint the type of application you want to create. Every language has a main focused application purpose like Front End Development: JavaScript, HTML, and CSS, 2D Game Development: JavaScript or C#, and 3D Game Development: C# or C++. There is a large list but being able to envision your project will prevent mistakes from occuring. For this specific project, I believe the article makes a valid point that the development time limit is a great concern in choosing a programming language. With a deadline, you can’t just slack around or try to learn a new programming language with the time constraints so choose wisely. 

Reading this article allowed me to open my eyes to each programming language’s specific uses. I knew that some languages were best suited for different things but allowing me to see the variety was eye-opening. After reading this article I am now able to choose what programming language I will use for my project more efficiently. I know it isn’t the main focus of the project but it’s a step forward. In addition made me think about the small things like security, performance, and maintainability. You may not think about these things as soon as you start but may become big concerns later down the line without the proper planning ahead. For example, performance will only be taken into account late into the project after there has been ample time placed on the project. Maybe the specific application you making doesn’t work efficiently this will hurt meeting your deadline without proper precaution.     

From the blog cs-wsu – DCO by dcastillo360 and used with permission of the author. All other rights reserved by the author.

Week 10 choosing an Open Source license

Over the past few weeks, we have been learning about licensing and the different kinds and uses they all have. We have now even started to choose/implement our own inside our own group projects. In addition, the homework we did had to do with licenses.  With so much already learned about licensing why would I gain from learning more about this topic? Sometimes when doing work in a time-constrained environment you don’t absorb all the information and with this being at my own pace I can review and learn new things I may have missed or not seen. 

With all the information we have been learning about licenses you may think it’s hard to retain all this information but one key thing you should remember is that licenses can be split up into two categories copyleft licenses or permissive licenses. A copyleft license basically makes the modified open-source work be released under the same license. The original copyleft license is GPL (general public license) which means that any project using GPL must be open source as well. Another example of a copyleft license is LGPL (Lesser General Public License) is considered much more commercial-friendly than GPL because it has no requirements for software that only uses the license project. On the other side of the spectrum, there are permissive licenses that don’t put restrictions on people using a project. An example of a permissive license would be MIT which allows users to do whatever they want except they must contain the copyright statement and the original license. Even with all the possible choices for a license, you must ask yourself what your project needs and look at examples if ever stuck. Also, don’t forget to choose a license because this will cause much more harm you will restrict your code from being used by anyone except yourself.  

Reading this article allowed me to see licenses in a more simple and enclosed way instead of being bombarded with multiple different licenses. Being able to split up licenses into categories in a concise way allowed me to see how licenses weren’t as complicated as I thought. Now when I am shown a license I can automatically put it in a category and understand the major functions of what restrictions may it have. Also, it is easier to know the purpose of my project and be able to pinpoint the exact license I may need. I know I make it sound simple but the process in itself can be overwhelming having a foundation can make the process not as nerve-racking.

From the blog cs-wsu – DCO by dcastillo360 and used with permission of the author. All other rights reserved by the author.


Welcome into David Castillo first blog post. Currently I’ll be using this blog post mainly for CS-343 course. This will be the start to something new that I will keep updating in the future.

From the blog cs-wsu – DCO by dcastillo360 and used with permission of the author. All other rights reserved by the author.