domingo, 25 de febrero de 2018

Blog Entry: The Promises of Functional Programming

Traditional programming and Functional Programming work both in different ways, the programmer normally learns the traditional one, because is one of the methods that was created years ago and is the most common among the different types of programming that exist in the actual time.

The way it work the functional programming is something that I already used on semester ago, not with high detail that the traditional one like Java, C, C++ or even with Python, but before Clojure I also learned to use Mathlab and Mathematica, it definitely looks different than the other ones that I mention before, like article says this kind of programming is different to the one that we usually use, it's used on mathematical operations or even on simple programs used for statistics or create mathematical solution using recursion.

At this moment learning Clojure looks like a different point of view or in other words a good opportunity to learn a different point of view to solve mathematical problems (that does not mean that it can be used to solve any other kind of problems or create programs -like macros- all the contrary to this), because we are looking to solve problems in general, algebra or even simple operations is a good beginning to learn Clojure and then create more complex programming structure.

I can say that this is a new opportunity to learn different styles of programming, not only because it can help to solve problems that a traditional can do, but in this case, it can be used to solve it more quickly and without creating the full structure of a program because in the functional one we already have the opportunity use predefined functions to solve any mathematical problem (from what we are learning on the class).


This, as an overall answer does not replace the traditional programming but it can be used for other fields of work, I still got the idea that we are learning the basic stuff from functional programming so we are able to create more complicated programs and still get different way to use another kind of method for programming instead of still looking in one side to the traditional programming.

domingo, 18 de febrero de 2018

Blog Entry: Triumph of the Nerds

Creating something from zero nowadays is a good challenge for an entrepreneur or even for a company, normally the products or software is created from something that existed before. On modern days the updates/upgrades take some time to get new features compared with the previous one and make a big impression on the community, also that helps to get more money to get for them and more to spend on their products.

When the products were introduced, their creators did not get the idea that they were creating the future or even were marking a great event on human history, if we talk about technological stuff like the computer these machines are the exact image of the future and the creation of something that was going to be necessary on the life of every person.

Also, one thing that is really impressive as a consumer or even for one person, creating something like that requires time and effort, but most of those people spend too much time looking for ways to innovate and create new things so the consumer can be satisfied with the result, but not all the time this work, sometimes the product did not meet the requirements or even the consumer satisfaction so they can become a failed test that needs to be forgotten or modified to get again that spark and element that makes the spotlight of the product.

On the other side of the story, it's important to try everything all the time not to stay with the idea until someone else shows it and you stayed with the question (what if...), these are risky business but at the end if they are well executed they can be a complete success.

Creating Windows or even Mac shows that even if you have a computing degree you got the talent to create (or to copy with different features) new stuff. One example that I won’t forget is the PlayStation Vita, the previous device the PlayStation Portable (a.k.a. PSP) was a very successful console, but then the PS Vita was a complete failure not for the hardware it was using but for the catalog the company provided to the console, that mistake created the grave for their most recent child.


As a conclusion we can see that nothing is written some stuff could be successful, others not, the idea needs to be executed correctly in a way that nothing is the same compared with other products that already exists, but at the same time be creative so the successful rate could be higher than a product that is only an upgrade/update or even a copy from another.

domingo, 11 de febrero de 2018

Blog Entry: Rich Hickey on Clojure

Programmers are normally accustomed to OOP or even Data Structure programming, when we talk about those the most common programming languages comes to the programmer’s mind, this happens because is one of the first things you learn on the career, normally on the ITESM a student begins with Python, then it follows Java and at the half of the career you learn C too, also there are also derivates of another programming languages that a person could learn by his or her self.

Clojure for me is a different programming language compared with the traditional ones (if we can call them like that) that normally a programmer uses, Java, C, Python to say some of the most languages that companies and persons handles on. Clojure is also like Mathlab or even Wolfram Mathematica, this sounds like the knowledge or even the handling of the programming methodology seems like those two, also on the class we are using it as a Math tool too, but with the information investigated and thanks to the podcast I’m pretty sure that it can be used to a lot of implementations, because it comes from the LISP language and I remember that LISP was one of the first programming languages to create a webpage.

Now that I’m handling Clojure on the class is something different to what we use to program, this is something I like because the way you call the function by itself, then the answer could be reviewed with a test element, but also helps you to see what is wrong with the function and the content.

Something that I like from the language is that it can be handled like JavaScript, because it's asynchronous, atomic and can be received by one agent at the time, something that I like, an element to be called on any moment when you run the program.


As a conclusion for this blog I would like to say that Clojure could be handled with a different point of view from the programmer I’m pretty sure that you are able to use it for different purposes and also to solve problems that are easy or difficult, as I previously said it can be handles as JavaScript in an asynchronous way and as we already heard on the podcast we can considered as an expansion or a library for Java, that does not mean that for having Java as a base is not considered as a programming language, but this is not the case its considered a different language and is useful for a lot of stuff.

domingo, 4 de febrero de 2018

Blog Entry: Revenge of the Nerds

People thinks (and I thought the same some time ago) that one person when knows Java, even C any high-level language (that are the most common languages that you can use on a project, is like a common language and that most people can use) is able to handle or control all existing programming languages. That statement is false in some way, and I refer in that form because it’s true that when you and a team or work partners dominates one language to work it can be a great tool to achieve the objective of a project, but at the same time is false because it depends on the programming language that you can use (not all the languages could work the same way) it’s important to know that one language has a main use and some other programming languages works for another thing, as an example, if we refer to a web page the most easy way to create it is with HTML (tagging and design, and let's remember that is not a programming language) and JavaScript (for interaction and interfaces on the page) instead of a programming language like C or C++ it needs to be light and faster, instead with a high level language the system could solve too but could be more bulky and problematic for the host due the high logic process that the language can handle but maybe the host is not apt for that kind of tasks. On the other hand, if we use a high-level language we can use them to solve mathematical problems or more complex situations where is beyond the human calculations.

Now, it’s important to handle most of the programming languages that exists on the market not only because one is better that the other one, or this one is required for the job or project that you are involved, is also important in the way that not all the languages look the same or have the same structure, this is not the case is important to learn and write in different languages for your evolution as an Engineer and as a programmer.

As a conclusion, I have already the idea that programming language is important for all areas, different charges or roles are necessary and dependent from each other. I would consider to be original and leave the average behind so you can prove and have the full potential of learning different stuff and surpass expectations.