Which Language Should I Start Learning?

As a new programmer, you are probably wondering what language you should start learning. Most people either start with Java (if they took a computer science class in high school) or C++ (if they started learning programming in college). The truth is, there is no perfect language as each has its own quirks and perks!

I know quite a few languages. While I am in no way proclaiming to be an expert, I do know enough to write this short introduction to help you get started. Next week I’ll be sharing more resources to help you dive deeper into your preferred language!

Java

  • Pros:
    • Java is one of the most popular programming language that was used extensively by companies in the late 90s and early 2000s. As a result, many companies that were created around that time period (i.e Google and Amazon) still use the language to maintain their code.
    • Java is extremely versatile and can be used for everything from web development to developing games and Android apps!
    • Java is very fast and very useful for larger applications.
  • Cons:
    • Extremely verbose. There is a lot of “overhead” in Java. A program that could be written with only 15 lines of code in Python can easily take more than double the amount in Java.
    • The syntax can be quite confusing for new programmers. Unlike other languages like Python and JavaScript, everything in Java is divided into classes, and there is a looootttttt of overhead.

Python

  • Pros:
    • Out of all the programming languages, Python is the easiest to pick up for beginners since it is so similar to English.
    • Very little overhead, so you can focus more on learning the core concepts of programming instead of focusing on learning the confusing syntax.
    • Like Java, Python too is extremely versatile and is used in virtually every field from FinTech to CyberSecurity, and even Machine Learning.
    • Python has a great community of developers who are very open and accepting of new programmers. You won’t meet a lot of arrogant Python developers, I promise!
  • Cons:
    • Python can be very slow.
    • It doesn’t work as well for larger programs.

JavaScript

  • Pros:
    • If you want to be a web developer, you cannot avoid this language.
    • JavaScript has lots of built-in functions that make it super easy to learn this language!
    • You can pretty much build an entire fully functioning web app with just JavaScript alone (and HTML & CSS, of course!). Seriously, that’s how powerful this language is.
  • Cons:
    • Since JavaScript has so many functions, I wouldn’t recommend learning it as your first language since it will not give you the ability to get a lot of practice with core concepts.
    • It is pretty much only useful for web development.

C++

  • Pros:
    • Gives you adequate practice to pretty much pick up any programming language in the world. Once you master C++, every other language is pretty much a piece of cake.
    • Are you interested in making compilers? Your own operating system? Perhaps even your own programming language? C++ is the perfect language for that.
    • Since it is such a difficult language to work with, finding a job is extremely easy for C++ developers. You will barely have any competition.
  • Cons:
    • If you think Java is unnecessarily verbose and has a lot of overhead, you should seriously check out C++….
    • Is it really worth writing 15 lines of code for something that would only take 3 lines in Python?

These are just the top 4 most popular programming languages in the world, but there are plenty more! If none of these are your cup of tea, maybe try GoHaskell, Sass, or Kotlin instead?

Advertisements

Which Career is Right For Me??

This is a question you’ve probably asked yourself a thousand times. Have you ever felt your skills and interest were just too broad and too all over the place? Have you worried a person like you would never be able to find the “right” field?

The bad news is that tech itself is way too broad. The good news is, the skills you develop from learning a single programming language  will prove to be invaluable no matter what your interests are. Don’t believe me? Check this out:

  • This beautiful website was made with code. Are you a creative person? You will love UI design and/or front-end development. 
  • All about logic? Consider back-end development. If you like both logic, AND design, why not combine both and become a full-stack developer?
  • Have you ever stopped using a product because it was tremendously complicated? Conversely, have you ever wondered why most “login” buttons appear on the far right side of the screen? (Spoiler alert: it’s because English is read from left to right). Does the idea of being an advocate for the user, and doing research to create products that work well for all users, regardless of their abilities, excite you? Consider a career in UX design.
  • Are you organized and detail-oriented? Study databases– they’re *all* about organization, logic, and details. All the dynamic information displayed on a website is stored in them. From developing websites to apps, and even working for a mega corporation…the job opportunities for you will be endless. They are very easy to learn, and an invaluable skill in today’s job market!
  • Are you extremely skilled in communication and have strong analytical skills…and not that excited by the idea of coding? Consider a career as a Business Analyst. They’re usually the only people on the team who understand the technical side and the business side equally well.
  • Interested in making your own video games? Consider learning Java!
  • Unsure of what you want to do just yet? Learn Python! It is a multipurpose language that is an excellent introduction to the world of programming. It is hard to believe a language that can lead to a lucrative career in artificial intelligence, data science, cyber security, and more is also the easiest programming language to learn! Plus, Python has an amazing and supportive community of developers and one of the cheapest developer conferences that provide generous scholarships.

This is just a small, non-comprehensive list of all the careers I’ve explored in the past year. The truth is, the opportunities truly are endless! There are so many other exciting fields, such as information architecture, robotics, and machine learning. There truly is something for everyone in this field.

As always, if you have a question, don’t hesitate to ask in the comments section below 🙂

Let’s Make Music!

Hello world!

I know it has been a while since I made my second blog post. I hope you all are staying warm this winter. One of the most important skills you must have as a programmer is the ability to pick up on new skills quickly and independently. Technology is constantly changing and as programmers, we must evolve with it so we have relevant and marketable skills.

As I mentioned in my previous post, the fundamentals of programming: data structures & algorithms, are the most important to learn. I shared a link to the Scratch programming language that is developed for children with you earlier. In this post, I am sharing yet another resource you can use to hone your technical skills!

If you have musical intelligence, and get bored by traditional programming videos, worry not! EarSketch is here to save the day.

To start, pick your programming language. I would recommend Python. Not only is it perfect for beginners because its syntax is easier, but it is also an extremely versatile multipurpose programming language that can be used machine learning, data science, and writing smaller scripts. If none of that excites you, and you’re more interested in web development, try JavaScript! It is an incredibly powerful programming language that is essential for web developers today.

Make (and share) cool tracks with us in the comments section. If you get stuck, be sure to share your code with me. We’ll troubleshoot together!

Getting Started

So, you’ve decided you want to try this programming thing and now you are confused and don’t know where to begin. Lucky for you, the internet is brimming with resources. It’s just a matter of knowing where to look.

While I am excitedly working on my first video, I encourage you to check out this website developed by MIT to teach programming. Yes, it is meant for children, but no that does not mean you cannot use it. I believe Scratch is a really good way to start learning the fundamentals of programming I mentioned earlier.

Can you make Sprite run around the screen forever?

While having fun playing with Scratch, try to answer the following questions: why are we using keywords like “while” and “if/else” to control Sprite’s movement? What would happen if we didn’t include them in our program?

Feel free to share your creations with me 🙂

-N

Why Should I Learn How to Code?

programming

If you are like me, you probably need a solid reason to dedicate your time to learning a new skill. You are also curious, and perhaps a little scared to learn programming. Do you believe you will be behind because of all the nerdy dudes in your class who have been coding since they were 10?

I’ll let you in on a secret- programming isn’t as hard as you think it is and with all the free resources available on the internet, it couldn’t be easier to get started.

Every programming language uses the same fundamental logic, it’s just the syntax that differs. The only advantage people who started at a younger age have over you is that they understand those fundamentals (but I promise they aren’t difficult at all to pick up!). However, tech is constantly evolving and *everyone* must learn something new every day to keep up with it. This means that at some point in your career…it wouldn’t matter if you started in middle school or just picked it up in your late 30s. What will matter is how good you are at adapting and learning new things.

I am excited to help you get started on your journey. Don’t forget to message me if you need help with anything!