In today’s Nerd Talk, I’ll broaden the format a little. In addition to the nerd attacks I started with in the first article, I’ll also include something like those bar conversations where, after a few drinks, everyone tries to out-philosophize everyone else :) . More specifically, in this post I’ll share conversations about the general day-to-day of a web developer, held over instant messaging.
This virtual nerd conversation was about programming languages, and more specifically Python and Ruby. I was chatting with my friend Macelo. Here’s the conversation:
Macelo says: What do you think of Python? It’s Ruby’s competitor.
Valério says: Not necessarily a competitor. Its philosophy is a little different from Ruby’s, but it’s also a dynamic language, almost entirely object-oriented, similar characteristics to Ruby.
Macelo says: Sure, but it is still a competitor.
Valério says: The philosophy of Python is to provide ONE elegant solution for every problem. It’s about being simple and direct.
The philosophy of Ruby is to give programmers productivity and fun. To prioritize the programmer over the computer (human language). Both have their advantages and disadvantages.
Macelo says: Like everything in life. But the way you put it makes Ruby sound much more advantageous.
Valério says: Not necessarily. Python has Django as a web application framework, and it’s very widely used. It’s the equivalent of Rails, but was built with its own principles and needs. Each tool is better suited to particular moments and contexts.
The question of whether they’re competitors is closely tied to the way we see certain things in life as binary: either 0 or 1, right or wrong, win or lose. My point is that there are other ways to look at the world around us and its resources. For you to win, someone else doesn’t necessarily have to lose. Both can win! With programming languages, if I see them merely as competitors (which is best?), I’ll be missing out on a universe of possibilities. The more viewpoints and programming languages a programmer tries and masters, the better! At this moment, I chose Ruby because its community is explosive and open-minded. Many Ruby programmers talk about or know other languages too, and of course, there’s the elegant code.
Macelo says: Haaaaa. That makes it sound like both sides are better off.
Valério says: Ultimately, my choice to study Ruby is personal. Whenever we get into the technical side, we end up at the same point: “it depends on the situation.”
Macelo says: Uh-huh. I noticed that. A friend of mine programs in Python and uses Notepad ..
Valério says: You can use Python, but don’t use Notepad. Download an application that’s more suitable for programming:
- Notepad++ is a great option for Windows.
- On Linux, I use gedit.
- On a Mac, you can use TextMate.
If you want to go further with Python, visit Elcio’s blog. He has a company whose work is based on Python.
Marcelo says: All right, talk to you later!
Valério says: See you!