sábado, 29 de febrero de 2020

The promises of Functional Programming


The promises of Functional Programming

I’m a computer science enthusiastic and I love the idea that a programming language can be specifically designed to fit all the needs for computer science to advance faster.

However I am still very sceptic about functional programming.

While it certainly makes some good points about the use of recursion and the extra feature of not needing the locks for parallelism and so on, I don’t think is such a great feature. Rather I would consider it a miss from part of the creators or some trick to avoid data corruption. I mean it certainly works and in practice makes it much easier to avoid data corruption.

But I would argue the next analogy to explain my point of view on the matter.

Imagine a highway, on which there will be thousands of high speed vehicles travelling at all times.
I would argue that the feature functional programming provides of not needing to worry about data corruption, because you cannot write data would be like building this hypothetical highway with multiple levels each specially designed for each vehicle.

Each thread running on their own highway uninterrupted and undisturbed because there is no way of interacting with one another.

I see this as cheating cause the whole point of having parallel programming is to execute a little part of a big task while other thread executes other little part of the task.

I believe the perfect parallel program should be able to time perfectly how much to “slow down” a thread without necessarily freezing it completely in order for it to miss another threads writing or reading or processing of data.

Instead of making a safer highway, the drivers should become better so the highway remains the same but the drivers are so smart, advanced and well trained that the same level of efficiency can be achieved while having the feature of sharing information.

sábado, 22 de febrero de 2020

Destiny of Programming Languages


For one I agree with some of the points the author states about programming languages debates and battles.
I have a friend that loves JavaScript and I hate it with all my heart because it tried to fuse together Python and Java, which I think is a terrible thing to do.

Then again, I also dislike Python because of the notation of tabs instead of the use of {}. So as a programmer that has had a taste of a lot of languages (C,Python,C#,Java, Clojure,ABAP,Dart, and so on) I can firmly state that all suck.

They don’t suck completely, but partially and here is the reason.

I believe that the perfect programming language is one that has all types of libraries so complex programs can be reused, and improved upon. It should provide an easy way to write classes (like Dart) and imperative scripts (like Python). It should also be able to compile to keep code secret and fast, and provide low level libraries so it can interact in an almost direct way with the computer so it is fast, processing and memory efficient and require little to no space to keep in the hard drive (like C). Finally it should provide a way to use {} and tabs depending of what the programmer is most used to, and also have the option to either use ; or nothing at all (like in JavaScript).

That hypothetical programming language would be the best in all aspects in my opinion. However I know that is a far cry of what we have now and probably people would still argue some of the features it provides.

The author draws a parallel of programming languages to speaking languages and that is kinda interesting because a long time ago I read an article that said that speaking languages eventually disappear, like Latin, or evolve and transform, like Spanish. Long story short the article stated that eventually all languages would disappear except for Spanish, Chinese and English. Which makes sense given that those are the most spoken languages in the world.

My hypothesis is that this will also happen to programming languages. Eventually someone will develop the most efficient Object Oriented language, and functional language, and imperative language that will all meet most of the features I stated in what I believe would be the perfect language.

miércoles, 12 de febrero de 2020

Init

I am Jesus Omar, my hobbies are programming and automation stuff y really don't want to do.

At the moment I am starting my own business, have a part time job, and study Computer Science.

I want a PhD in AI and I am also working to get there.

I expect from the course to practice my programming skills in a new way and to learn new useful algorithms to develop more useful apps or software.