Choosing a programming language is pretty hard while at the same time being quite easy.
There’s no wrong choice you can make, but at the same time choosing the wrong programming language could prove to be a nightmare.
So what’s an entrepreneur who wants to learn how to code got to do?
See what’s out there
The first step is giving a look at the options.
There’s an abundance of programming languages and some of them are ideal in 90% of use cases while others are more targeted at specific use cases.
Obviously, you have to focus on the languages which try to be good for most situations. Because as you’re first starting out there’s no way you’re going to need a very specialized language.
Another thing you want to keep in mind is you want a language that is widely adopted and well-tested: while experienced developers like to fiddle with new and untested technology, if you’re just starting out you won’t have the knowledge to find your way out of eventual problems, so it’s better to stick with what’s more popular.
By choosing a more popular language, you’ll have a bigger pool of guides, how-tos and people to ask to. On top of this, in case you should need to hire some help, it’s going to be easier (and less expensive) to find someone who’s good with a popular programming language.
So what are the alternatives?
You need a framework
What’s a framework?
A framework is a piece of software which provides a level of abstraction on top of a programming language.
Basically, what a framework does is it provides basic functionality which will help you speed up development time by including those functions which most Web apps need.
The way it works is you have a programming language with its own syntax which allows you to do whatever you want. A framework adds functions to the basic programming language to complete those tasks that you’re most likely to need when building a Web application.
Programming languages don’t really care about what you’re going to do with them. Frameworks do, and they do so in a way that should help you write better code and make fewer mistakes.
Again the choice of frameworks is endless, especially if you take the most popular languages.
But as with the programming languages above, you want to choose a framework which is well tested, well documented and with lots of users.
In my opinion the choice is quite easy and depending on the language you choose it’s the following:
- PHP: Laravel
- Ruby: Ruby on Rails
- Python: Django
You can’t go wrong with any of the above. Some will be a little easier while other will be a tad more difficult, but all in all, they are on par.
HTML and CSS are mandatory
HTML and CSS are used to write the frontend of a Web app. Basically, you’ll use them to define how your app will look and how your users will interact with it.
This part is usually done by a designer, but you have to learn how to do it nonetheless. First, because you may not have the money to hire a designer when you’re just beginning and even if you do you’ll need to be able to understand what your designer is doing and do a few tweaks here and there if you need it.
Learning to code and learning to design are two completely different skills and I don’t think you should dwell in both. But learning how to build the frontend of your apps is very important.
Also, unless you really need a high-end design job, it’s quite easy to code your own frontend with just a little bit of HTML and CSS.
As for the other programming languages used to code the backend of your app, there are frameworks for the frontend, too.
The one I suggest you look into is Bootstrap, which allows you to build good looking websites with very little effort. But before you look into it, you need to have a good understanding of how HTML and CSS work.
Putting the pieces together
So if you want to learn how to build you own Web apps you have to pick a programming language and a framework to build the backend and then you need to learn HTML and CSS for the frontend.
I know what you’d like to ask me: which language and framework should you choose?
That’s really up to you and as I said you can’t go wrong with any of the above: they’re all well tested, they all have thriving communities and in general they’re all quite novice-friendly.
Sure there’s some studying to do and you can’t expect to be up to speed in a week, but I’m quite sure that with enough dedication you can learn any one of those pretty easily.
As for me, I’ve been using Ruby on Rails for the past 10 years and I’m fairly happy with it. And I think it’s a very good choice for beginners, too.
As for the framework, Ruby on Rails is the more mature of the bunch — again, just my opinion — and I’m quite sure it would allow even a beginner to build a simple Web app fairly quickly.
A good alternative would be PHP and Laravel. Here the big advantage is in the use of PHP which is very popular and is much easier to deploy than something like Ruby.
But that said, especially if you’re starting from scratch, I suggest you give Ruby on Rails a try.
I’m here to help
As I told you last week, I recently decided to shift the focus of this blog from entrepreneurship in general to teaching entrepreneurs how to learn Web development.
The response I got from some of you last week was very encouraging and I hope you’re going to enjoy what I’ll post in the coming week and months.
I’ve started working on a course to teach entrepreneurs like you how to learn web development and since I’m just at the beginning I’d like to know if you have any specific questions or topics you’d like me to address.
Make sure to sign up to my newsletter below if you to build your own Web apps and most important if you want to build a business on top of them. I’ll be happy to teach you everything I know!
Do you want to learn how to code?
I'm a Web developer and an entrepreneur and I can tell you that being both is what led to some of my best accomplishments.
I'm working on a course to teach entrepreneurs just like you how to code so that you can build your own Web apps and take your business to the next level.
Plus, each week I'll send you an article to help you in your endeavour to start your own business.
Enter your name and email and I'll let you into the course before anyone else!