Thoughts on choosing a programming language
There is a real answer to this very frequent and important question, there is no perfect language and any could be the best one. You just need to understand that you can solve pretty much the same problems with them but some are better at performing certain tasks or solving certain specific problems and that is usually co-relate to the origin of them or why they were created in the first place. Newer languages had to do less with hardware specific standards and mostly solve architecture or specific needs. NodeJS is in my opinion the most easy to understand given its non blocking IO nature and the reason it was born. Some others like Python or Ruby are pretty good at solving common problems but have decided to be more focused on some areas like scientific and web development. There are always different decisions that have to be made and that will also deeply impact a language, like tab specific or with usage of special characters, strong typed or without explicit types, high or low level.
My advice to someone that wants to start coding is start with whatever language and try not to focus in language specific things, instead focus on solving problems, try one language and solve a problem and then when you have a chance change and use another language try to port what ever code you have worked on previously and see if that can be doable and if it helps solving future problems. The life of a coder is to solve problems not really to be learning language specific rules and just throwing code like crazy, otherwise everyone will be coding anyways. Web page creation and the basic implementation of one should be something very easy to do, things start to get harder and crazy when you add dynamic data reading and writing, configurations, security, different databases support. Usually you will end up using a proven solution that just do what you need like a framework, but once again there are always specific problems or things that need to be done in a very special way so that give us enough things to keep us busy and happy.
Do not try to solve everything at once, start by just creating the most basic solution and focus on push to production idea, things will break, things might need to be refactored and improved but once again you are just starting your journey and it might take a while to get a better robust and stable solution. There are always things that are created and never update, usually those are the fastest deprecated software, things change and they do it fast and that is why there is always need for coders and testers or both and people who actively support the project.
It has to do more with being persistent, keep on learning and eventually you will choose which programming language is the one that you like the most, the one that let you fix and solve the problems faster and the one that you fill more confident with and let you keep on improving your software skills rather than being a language specific expert.
Related articles that you might like:
- Thoughts on previous experiences
- Thoughts on knowledge
- Thoughts on patience and perseverance
- Thoughts on reading
- Thoughts on failure
- Thoughts on effort results
@raserrano - Developer
| @kedjom-keku | Conservation Association | |
| @treeplanter | Fund-raising upvoting bot | |
| @forestfriendly | Water Saving bees |
