Hello there, hope it’s not yet too late for a Happy Chinese New Year wish. :) So here I am again, putting together some words for the second time on this blog.
I am writing this because of our guy here Mr Amir,
Hi Amir and thanks for the question. Brought up the question last few week, i do have few tips that comes to mind. First things first, I cannot be more happy knowing that Terato is keen to give more to the society in an area that we pretty much know best. Especially with new establishment of Terato Academy recently, opened up opportunity for experienced coders to approach passionate future coders, awesome platform. It reminds me of Mother Teresa saying, ’It's not how much we give but how much love we put into giving’
. Hope everyone fully utilised our effort in making this happen.
I will rather put this in a way that is friendly for new comers than the experts. Do leave your thoughts in the comment section if you have anything in mind, I would love to hear.
So to create software, app, computer system, robot, or anything with the help of chip/processor that acts as a brain requires one to code or program. It is essential to keep in mind that programming language is a medium we use to instruct these human designed brains. While the act of putting the syntax(s) together to form stack of instructions is called programming.
‘How to talk in a programming language?’ - which is certainly important, but that is only a small part of what a programmer does. This misconception also what i think the root of failure in many programming language books. It is as the matter of fact not all programming books are written by programmers. Many are compiled by language designers, or journalists who work with them to promote their creations. Think again, there is actually no use of knowing a language but not knowing how to make it work. making any sense?
So, what does a programmer do besides talk in programming language? Well, that is a deeper issue. Most programmers would have trouble explaining what they do. Programming is a job filled with details, and keeping track of those details requires focus. Without experience of writing codes, you look up of a source code, and there are all of those statements. If you don't think carefully, you might think that programming is just typing statements in a programming language. You would be wrong, of course, but you wouldn't be able to tell by looking around the programming section of a bookstore.
Each language has distinct way of solving problems. Meaning to say one programming language to another is different, at least in its code structure. Nevertheless that doesn’t mean the answer to Amir's question is a solid NO, but rather a YES and NO together. Most programming languages share the almost identical core principles. This is where by learning the principles, would be beneficial for one to understand many other languages. However, do keep in mind that those are just the basics where it will enable you to write simple programmes or apps, whereas you need to dig more into a particular language to open doors for more advance programming capabilities. Then only you will master the language soon. Here I share together an example of .Net different concepts to iOS, answered by an awesome community from #askDev.
But after all, in my perspective, there is no need for you to try to learn countless number of language. You may wish to have more knowledge by knowing more languages and it’s of course a merit when you have the list going on and on for your resume. But keep in mind that John Locke once said, ‘No man’s knowledge can go beyond his experience
’. Get yourself mingle around a specific language structure to let you, not just know and able to write, but an experienced programmer. If Locke is too liberal for you, maybe you should hear from Google software engineer Edward Lin, “The question shouldn’t be ‘What language should I pick up’—instead, it should be ‘what type of developer do I want to become,’
”. “Some development positions require you to know more languages, but most will require just one. You can become highly sought after with just knowing one language
.” says Lin. The point is not necessarily fluency, but gaining a conceptual vocabulary to attack problems in new ways. Good programmers don’t just learn how to code, learning core concepts teaches them how to wrap their brain around a problem and produce efficient code to solve it.
All in all, it is still up to you to decide. Anyway me knowing you interested and willing to learn programming is really exciting. Regardless of your field of study or area of expertise, programming is beyond shadow of a doubt brings one thinking skill to the next level. Even Steve Jobs has an opinion where he said, “I think everyone in this country should learn to program a computer. Everyone should learn a computer language because it teaches you how to think. I think of computer science as a liberal art.”
. We welcome you with open arms to join us, the coders community. In fact, TeratoMan too will always give his best in helping out tech enthusiast readers.
*image during our Mobile Application Development Workshop last year*
But if you are new, here are few suggestion from me, one of the most important assets when considering a new language is whether it has a community large and involved enough to answer your questions. Whether from Stack Overflow, GitHub, or even your circle of coder friends, having access to experienced programmers is key to get you learning from mistakes, not quitting in frustration.
Thank You for reading.
by Arif Fikri - bestfriend of Mr TeratoMan :D