Are you new to programming and overwhelmed with the wealth of knowledge that’s out there? With over 500 different programming languages to choose from, where do you start? Is one language more preferable over another? Should you blindly pick a language and go from there? Or are there some languages that are better for the new programmer to begin with?
Programming is not limited to just software development. There are many different avenues that you can choose from and which avenue you want to follow will require a different type of programming language knowledge. You wouldn’t necessarily use the same programming languages for game or app development as you would for software development or website development. Although some languages in these areas may overlap to a point, there are differences that make each area truly unique. So, what do you do and more importantly, where do you start?
Episode 31 discusses all these questions and more. So, if you are new to the IT field or looking into how to get your start, listen in as Arsalan and his panel of experts consider the best beginner languages. Episode 31 experts include Fernando Paredes, David Gatti, Sara Ines Calderon, and David Silva, bringing you the best variety of expert opinions to discuss which programming languages are best suited for beginners and why.
David Gatti began his career in IT as a Systems Administrator. He learned how to code in PHP out of boredom, and made some simple internal tools to help him while managing the company network.
He then became a blogger and wrote about mobile technologies before the iPhone came into existence and PDAs had cellular modems. He also wrote the CMS for the website itself when WordPress was first starting. Then he began working as a web developer for a company that did simple Facebook games.
After this initial experience, he imported a Windows Mobile app to Android 2.3. He later became a Brand Manager for a mobile game company and a Marketing Director for another company, and at that company – he transitioned to Developer Relations Manager and worked for two companies with this title. It was a job that he fell in love with.
But, while hunting for his next opportunity, he struggled to find the right company. Out of frustration, he created Simpe.li (simply) so he could keep doing what he does best – Development Relations Management done right.
David is currently a front-end developer at Doctor on Demand, a telemedicine company in San Francisco. Originally from Colombia, he has been in love with computers and programming from an early age and has worked as a programmer for the past 8 years.
Sara Ines Calderon
Sara Inés Calderón is a journalist and writer who lives in Texas and California. Follow her on Twitter @SaraChicaD.
Episode Highlights and Show Notes:
Arsalan: Today I’m bringing to you a panel discussion with some amazing developers. They are embedded developers, app developers, and web developers, both seniors, and juniors. Today were going to talk about an interesting topic that is on your mind. We are going to figure out which is the best programming language for you to attack or focus on. Or, what are the different sets of programming languages that you should focus on when you’re starting out? Even if you haven’t established yourself in a programming language and a framework and you have a chance to choose where you go. This is a very important decision and was going to see if we can tackle that.
Arsalan: In today’s panel. My guests are David Gatti, Fernando Paredes, Sara Ines Calderon, and David Silva. We’re going to go around and introduce ourselves. Let’s start with David Gatti.
David G: Hello everyone. I’m David and right now I’m a backend developer for a company called Simpe.li. I also do hardware work with Arduino and Portico. I also did a year of Java with android when it was version 2.1, which was fun.
Fernando: I work for a company called Shift Board. I am a mobile developer. I’ve been doing Swift, Android, and Objective-C for about nine years now. I’m also part of Operation Code where we try to introduce more veterans into tech.
Sara: I am Sara Ines Calderon, a journalist, blogger, and now software developer. I’ve been working for just under a year professionally. I went to a code school called Sabio in Los Angeles and I am Co-director of Women Who Code in Austin.
David S: Hi, my name is David Silva and I’m a front-end developer at a healthcare company in San Francisco. I’m also one of the cofounders of the Latinos in Tech in the Bay area.
Arsalan: The question that we have is what programming language should I choose as a new developer? Maybe I have one year of experience. Maybe I have two years of experience. Maybe I just graduated from college. Maybe I’m going through code school and they’re making me go through, Ruby on rails and angular and I am wondering if I should be doing this. Or, maybe I’m in high school and I want to do coding but I’m not sure what to choose. It’s not all about web development. That’s what you hear, but that’s not all there is to software development.
Arsalan: I want to pose this question to David Gatti because you have some different experiences. Your experiences are unique and it’s going to put you in a different place where you can really tell us about which programming languages are most satisfying from an intellectual point of view and which are the most lucrative.
David G: I don’t know about the last part, but I can for sure talk about the languages. That is an interesting topic and I’ve been thinking about it for the last few weeks when I started doing some articles. I think the most important thing when you’re a new person deciding on which language to choose is that you need to understand that there isn’t just one best language out there. You cannot choose just one language. When it comes to languages you have to choose the right language for the problem that you’re trying to solve.
Arsalan: I think that’s a very good point. There is no silver bullet. There is no you learned this one language and now you can do everything. The key point is to know what you want to do with it. You talked about embedded systems. Tell us about this. What are they and why would you use it?
David G: Embedded systems are anything that is small. For example, a watch is an embedded system because you don’t have the parts or the systems available to you that you would find on a regular computer. So instead of 3 GHz of CPU, you have 16 MHz or 8 MHz. Or, instead of having gigabytes of RAM you may have kilobytes of RAM. So, it is a very narrow specific hardware with one specific task. Embedded systems are designed to perform one specific task as well as possible.
David G: yes, that’s why you use C, for example. Or, in the best case scenario, C++ because you have to manage memory very efficiently because you’re only using a few pages of text of memory available for you.
Arsalan: There are subtle differences between C and C++. C++ is more evolved. It allows you to do object-oriented programming, but they both allow you to determine, monitor, free and capture memory as you please. So, it gives you power, but you can also shoot yourself in the foot if you don’t know what you’re doing. These are not very forgiving languages.
David G: Correct. I would also say to not be discouraged by people who say that C is very complicated or hard. I would say that it is time-consuming because you have to write all the things for that specific hardware from scratch. With Arduino, you get the framework where other people have done all that stuff. But in essence, it’s more time-consuming than any other language.
Arsalan: So, you can do see that you have to be careful with the memory. You could remove memory that you allocate. That’s an option too. But in other languages, memory is managed for you. So, that’s a difference. Now, Fernando you build mobile apps, is that correct?
Arsalan: What are the choices and technologies or languages that people can use?
Thanks for Listening!
If you found this episode useful, please go ahead and share it with your friends and family. You can do that easily using the social media buttons at the bottom of this page.