• Sloth Bytes
  • Posts
  • đŸŠ„ The "Best" Programming Language

đŸŠ„ The "Best" Programming Language

In partnership with

Hello friends!

Welcome to this week’s Sloth Bytes I hope you had an amazing week 😁

Sloths can turn their heads 270 degrees

Sloths can have up to three extra neck vertebrae at the base of their neck, closest to the rib cage. These extra vertebrae enable the sloth’s head to achieve a wider range of motion, giving it the ability to swivel its neck up to 270 degrees in either direction, or three-quarters of a complete rotation!

Is there a “best” programming language?

Yes there is a best programming language.

It’s called Rust 🩀

I’m kidding, the real answer is NO.

There isn’t a best language, only popular languages.

What programming language should I learn??? đŸ€“ 

A lot of you replied to the welcome emails with this topic, let’s answer it :)

Let’s first explain some learning paths with their popular languages:

  1. Web Development:

    • JavaScript is the most popular for web development, allowing you to build interactive websites. For those interested in web dev, starting with JavaScript is ideal.

  2. Mobile Development:

    • Swift is the main language iOS development and is user-friendly for beginners.

    • Kotlin is the preferred choice for Android development, known for its safety features and compatibility with Java.

  3. Game Development:

    • Unity uses C# and it provides a powerful platform for beginners looking to make games. It’s widely used for its simplicity and strong community support.

    • Unreal Engine uses C++ and offers more control and power, which is perfect for creating complex games with intensive graphics and physics calculations.

    • Godot offers a flexible scripting system that can be done in C#, C++, and its own language GDScript. It’s open-source and less resource-intensive, making it accessible for newcomers and ideal for 2D and 3D indie games.

  4. Cybersecurity:

    • Python is increasingly popular in cybersecurity due to its versatility in scripting automated tasks and handling data analysis.

  5. Data Science and Machine Learning:

    • Python because of its readability and the extensive libraries (like Pandas, Scikit-Learn, and PyTorch) that makes these tasks so much easier.

  6. System-Level Programming:

    • C/C++ are fundamental for system-level programming, providing direct access to system hardware and memory. These languages are used to develop operating systems, device drivers, and other software that requires high performance and efficiency.

    • Rust is another excellent choice for system programming, especially for those concerned with safety and concurrency. It’s slowly becoming more popular and becoming more used.

There is so many programming languages, but this should be a starting point.

Once you some programming experience, you’ll know what to research (I think)

What should be my first programming language sloth???

The classic answer is whatever you wanna do. If you wanna do web dev learn JavaScript, if you wanna do data science learn Python, etc.

But the real answer is it doesn’t matter.

What do you mean?

As long as you learn the programming fundamentals, the language you choose doesn’t matter. Concepts like variables, if statements, loops, data structures, etc, are universal across programming languages.

Why Focus on Fundamentals?

  1. Transferable Skills: Understanding the basics makes it easier to learn new languages and adapt to different technologies.

  2. Adaptability: Technology changes fast. A solid foundation allows you to keep up with new trends and tools without being limited to one language.

  3. Problem Solving: Logical thinking and problem solving is more important than knowing a single language.

So learn whatever you wanna learn (except Scratch), as long as you’re programming, it’s fine.

Arrays (For Interviews)

I’ll keep it simple, and cover the important parts for interviews, this topic can get very complex and could be it’s own issue.

For the purpose of keeping this concise, when I say arrays I mean a dynamic array. Do your own research if you don’t know what that is.

An array is a linear data structure that stores a collection of elements.

The elements in an array are stored in a contiguous block of memory, and are accessed using an index.

Arrays can be one-dimensional

normie_array = [1,2,3,4,5]

They can also be multi-dimensional (2D arrays or matrices)

fancy_array = [[1,2,3], [4,5,6]]

Why is this important?

Arrays are an important fundamental data structures.

They might be the most used data structure when it comes to programming since they can do almost everything.

Arrays can store and organize data, they can become other data structures, and can perform many mathematical operations.

Technical Interview information

During technical interviews, most times you’ll just be using a dynamic array also known as a vector, array list, list, etc.

How to know if I need to use this?

For interview questions it’s pretty easy to tell if you need to use them since the input is probably already in an array.

If it isn’t then it’s probably a good sign if you need to group things together, merge things, iterate through things, etc.

Interview Techniques with arrays

  • Two Pointers

  • Sliding Window

  • backtracking

  • Binary search

  • Sorting algorithms (bubble sort, quick sort, insertion sort, etc)

Time and Space Complexity for DYNAMIC Arrays operations

  • Time Complexity:

    • Access: O(1)

    • Search: O(n)

    • Resize: O(n) (We have to loop through the array to copy the data)

    • Insertion (at the end): Amortized O(1), if not amortized: O(N) (Remember we have to resize our array if we’re at it’s capacity and that takes O(N)

    • Insertion (if not beginning or end): O(n) (We have to shift each element by one position)

    • Deletion (at the end): Amortized O(1) (Same reason as insertion).

    • Deletion (if not beginning or end): O(n) (Same reason as insertion)

  • Space Complexity: O(n)

Senior LatAm Tech Hiring in 24 Hours

CloudDevs is the largest pool of tech talent in LatAm. Our 10,000+ pre-vetted LatAm engineers have a minimum of 7 years of experience and are hand-selected for your project in just 24 hours.

Our talent is rigorously tested for problem-solving, tech stack and communication, and specialize in everything from AI and healthtech to fintech and web3.

More and more people are submitting, not sure if I’ll be able to show off all submissions, but I’ll try my best!

Change Every Letter to the Next Letter

Write a function that changes every letter to the next letter:

  • "a" becomes "b"

  • "b" becomes "c"

  • "d" becomes "e"

  • and so on ...

Examples

move("hello") ➞ "ifmmp"

move("bye") ➞ "czf"

move("welcome") ➞ "xfmdpnf"

Notes

There will be no z's in the tests.

AI Project is looking interesting

Making some good progress on it where I have the main functionality, but I think I’m going to turn it into a SaaS because I’m curious if people would actually buy it.

Yap session video will be posted this week

I plan on making a video specifically about tutorial hell, so stay tuned for that one!

That’s all from me!

Have a great week, be safe, make good choices, and have fun coding.

If I made a mistake or you have any questions, feel free to comment below or reply to the email!

See you all next week.

Reply

or to participate.