Posts

Creating Lisp with ... Lisp?

Hey everyone,  today we'll be adressing the contents of the article The Roots of Lisp by Paul Graham. In such article Graham explains with great detail the process that went behind the creation of such a complex and timeless language. He talks about quite a unique and complex concept which is Lisp's ability to wrtie in itself. There are some key elements in understanding this.  First of all he mentions the elemental operators in the Lisp environment: quote, eq, car, atom, cdr, cons and cond. It's interesting to see how you can constrcut complex fucntions with these operators and using them within each other to create other type of functions. If you come to think of it, when programming in any other language, the essence of each of these operators is what you use on a consisten basis to create any complex program, so to think that these same operators can be used to write a programming language as a whole is rahter impressive and to be honest, difficult to fully grasp.  All

Clojure's creator himself

 This week we heard he podcast Rich Hickey on Clojure. A very valuable podacst and where we learn a lot of insights from its own creator. He explained why he saw the need to create a dialect for Lisp which is Clojure. The ins and outs of it, how it works and his vision for it going forward. It was quite interesting to hear what he had to say in such a personal way which is a podcast.  He stated that Clojure was born with the idea that there should be a simpler way to use Lisp, one which felt more natural like language. This is something interesting because before I ever engaged with this programming paradigm I never really thought about that until now, I was so used to programming in imperative and object oriented environments that I never realized how unorthodox and complex it can get when you think about it as if you were reading something in your own language. Approaching Clojure having this mindset and taking into account that the intention of all the syntax is simplicity really ma

Genderless programming

 This week we'll be discussing how important women has contributed in the software engineering industry since the very beginning. And how this role and their participation has changed and diminished throughout the years. The article The secret history of women in coding tells us more about these women and specially one of the pioneers of computer science, Mary Allen Wilkins. After being rejected and disencouraged from pursuing a career in law, Mary remembered what a teacher once told her when in highschool. She should pursue a career in computer programming, at the time she didn't fully grasp what this meant exactly. Eventually she would go on and be a vital piece in the puzzle for what we now know as a computer.  Mary is just an example of how women have impacted in our field of study, at the time, men weren't even that interested in this science and saw higher value in the hardware rather than the software. To be honest, once I read this article I was rather disappointed

Dick Gabriel on Lisp

Welcome back  everybody. In this week's blog we'll dive right into one of the most known figures in the functional programming world, Dick Gabriel. He is known for his work in the Lisp programming language and in this podcast he tells us more about this language and why now more than ever it could be of great usage in the software engineering industry.  There are a few things that we know at first glance when talking about Lisp, it's been around for some time now, it has evolved from what it once was and we now see it in different variations such as Clojure. To be honest, before listening to this podcast I still could not fully understand the extent of  the functionality and power Lisp has. Firstly, I was able to understand the process of builiding a program or system with an analogy that he used during the podcast. It can be viewed kind of like live programming, building a city, incremental and when it first started there was the task at hand to write programs that were ne

Why do we need functional programming?

 Up until this semester I had no clue about what the functional programming pardagim consisted of and from what others had told me, I've got to admit I had my reservations about it. A paradigm in which variables aren't a thing and no for loops or whiles and also no side effects seemed too abstract for me, I wasn't sure what I could do with it to create useful code. To be honest until this day I'm not quite certain of the full potential of functional programming and how could I use it moving on in my professional career, but after reading this article and learning more about languages such as Clojure, I begin to understand more of what I could possibly do.  What the article states early on is that not only is this paradigm one that has been in use since the beginning of computing, but also the different applications it can have are countless, it just needs a little bit more support and studying.  The features to take away are how straightforward it is, how easy it is to

So many languages, is it worth it?

 The Semicolon Wars leaves one thing straight, and I think that is that throughout the entire programming comunity agreeing to disagreeing is something that happens quite often. Everyone has their own way of doing things and of course, everyone thinks that their way is the right way. The diversity of programming languages seems to keep growing instead of centralizing, this isn't necessarily a bad thing, its always nice to know you have all these options for you to work with, up to a certain point. Sometimes having too much options can lead to no options at all.  A constant discussion for which programming language is best shouldn't be necessary, the way I see it, the best language for someone is the one that fits you best, the one in which your skills are used to its full potential. For some people that may be Python, for others C, and for others Java. Of course the purpose of the established project and its requirements should be taken into consideration for the choosing of th

Getting to know me

 Hi my name's Irving and I'm very excited and somewhat nervous to take this course. I'm not very familiar with the topics that are addressed in this class but from what I've heard from some of my friends who have already taken it, I've got the impression that it will change my logic and how I address different programming problems I have to encounter. So I'm expecting of it to really help me grow and learn a lot of new things as a programmer. I've also heard that parenthesis are a big thing in Clojure, so I'm really interested in seeing how that works haha.  Some few things I'd like you to know about me are that I'm really passionate about music, I know a lot of people say this but I really find myself being the happiest while listening to music, I also love going to concerts, which sadly is not possible right now. Since confinement started, I used some of my time to start to learn the guitar and I think I've been getting better at it, but st