This is article numero dos (that means number 2) in the series about starting Arbington.com.
Lets talk about how I decided which languages to use at my startup.
Simplicity. Efficiency. Community support. And.. do I know it?
It all boils down to these four things. And most startups probably say this, I get it. I ain't that unique :P
Which language is the easiest to read, write and learn?
Even if you disagree, it's Python. Like, it's just a fact of programming.
I need code to not become a crazy nest of curly brackets. Something I can hack away at and it maintains it's cleanliness (to some degree).
It's easy for future developers to pick up and learn quickly, and easy to read through to understand the business logic.
Plus, there are a lot of Python developers so I'll never be worried about finding a developer (it's the worlds most popular language, officially).
And! It has an insane ecosystem of packages that lets you install awesome tools super fast. Need to make an API request? Use
requests. Need to parse HTML? Use BeautifulSoup4. This kind of "need x, use y" pattern goes on for AGES.
Are they the fastest out there? Heck no. But they are well supported, popular, and fast enough for what I need.
I touched on this a little in the
Simplicity section. But having access to packages, libraries and frameworks is very important.
Don't reinvent the wheel.
And when you inevitably have questions, are there a sufficient amount of answers available on the web?
This is the most important part, to be honest.
Build using languages you know. Don't learn a programming language just to build something new. That's how you write unmaintainable code.
So, I built using what I know. But I also know other languages, so I also chose what was simple and easy for future developers to pick up after me.
You're going to see lots of companies showing off their tech stacks and you'll be pulled in 100 different directions with no idea what to learn.
Pick a language, learn it, then apply for those jobs (if you're looking for a job). You can't be the perfect dev for every company, ever. Just do what you can, and see which jobs exist for you.
Remember the above because I'm going to blow your mind with one of these.
Here is what we use:
- jQuery. Not React.js. React is awesome! But it's slow to code when your company is moving at the speed of light. Told you - mind blown yet!?
- Tailwind CSS. It's awesome once you learn about it and how it works. Truly, it's powerful. We wrote like 50 lines of custom CSS, the rest is all in the
- Python. Because it's powerful, simple, etc.
- Django. It's a batteries included framework that lets you get a lot done with very little code, and it's super secure (and open source!)
- PostgresQL. Just needed a database, and Postgres is a world class database and it's also the one Django devs prefer.
Yes, we use jQuery. Why? It's simple, we know it inside and out, it's fast to develop with and the barrier to entry is incredibly low. And it's a wee bit less typing than vanilla JS with cross browser compatibility. But we'll eventually move to something else like Vue or React, I'm sure.
If you're looking for an awesome place to learn how to code, definitely take a look at Arbington.com - start with 14 free days, then it's only $15/month for HUNDREDS of coding courses.
In the next article I'll highlight which frameworks and libraries we use, and why.