Skip to main content

My First Programming Language!


“When someone says “I want a programming language in which I need only say what I wish done,” give him a lollipop.”
—Alan Perlis

So I approached a girl the other day, she looked about my age(maybe a little older) and she was from mexico. I said to myself why not talk with her in Spanish and impress her with my skills and charisma.
“Hola, búfalo,” I complemented her with big smile: Hey, beautiful.(actually what I said was,“Hey buffalo”).
She looked at me, adjusted a bit, and then she gave a tight slap on my face and walked away from there.
So, moral of the story is girls slap very hard ☹. And language is very important.

Computers, they speak too. The language they talk in is called Machine Language. Everything that you type onto or read from a computer has specific encoding, meaning of which is already defined to your computer device. Before the key strokes reach processor for processing they are encoded using special table called Code Interchange Table. There are mainly two such tables viz. American Standard Code for Information Interchange(ASCII) and Unicode Transformation Format(UTF).
Software that we use in our daily lives was written in special language called Programming Language.And there are gazillion programing languages out there; each one has its own pros and cons. We will talk about some of them later in the post. Every next day there is at least one programmer in this world, who thinks that the language he is using is not going to solve the problem at hand elegantly, So, he either tries to find something which solves the issue or gives birth to a new one(apparently they say,“Normal people give birth to human but a programmer gives birth to a new language”. Uh! Who are they? Frankly I don't know). Let me quote you a normal conversation between two friends who happens to be programmers.
Jack: “Hey Rebeca, you know what I am done with Java,”.
Rebeca: “Uh... Let's make a new one then”.
And that day a new language was born. To be continued....
You might be thinking that, “How do I select my first language?”. Well it's very legitimate to ask such question. First language should be easy enough that you start writing simple programs in it right away and hard enough to change the way you think and powerful enough to keep that fire of curiosity inside you keep going.

Here's a short list of popular ‘break the ice languages’:

The Veteran C++:
C++ is really the language of choice when starting. It's easy enough to understand its simple constructs while it's hard enough to keep you going on. The main advantage of choosing C++ as your first language is every new language directly or indirectly implements ideas already implemented in C++. And versatility and power of this language make even seasoned programmers bite their nails.
Java the fat and lazy govt. officer:
Java is based on the foundation laid by C++ and SmalTalk(the great grandpa of languages). It is from the era when Internet was spreading its roots and language developers needed a language that could efficiently handle network related tasks. The main requirement for such a task is platform independence in simple term program written in it should be able to run on any hardware and Operating System(OS). Java satisfies this requirement by adding an extra layer of abstraction called Java Virtual Machine(JVM ™).JVM act's as virtual operating system that can execute java byte code(JVM's Machine Language). Anything can be done in java but the problem is you have to type a lot of code(I repeat a lot of code!) and program execution is a bit slow but that shouldn't bother you if you are just starting out. The learning curve is a little high than C++ because the way Java handles things is way too systematic and it gets's frustrating sometimes(i.e why it's the fat govt. officer).
The charming Python:
Python aha finally!. What all this fuzz is about? It's about everyone's favorite scripting language called Python. Python unlike the above two, is an interpreter based language(Java is half compiled and have interpreted). Python is language of choice if you want to start coding right away and don't let its image as scripting language fool you, Python is powerful enough to be used for scientific purposes(uh number crunching; what else those old antisocial creatures can think of? RESPECT by the way). Python comes in two variants viz. python v2 and python v3 and both are non-compatible with each other. Python is slightly easy to learn than the another two and that's why nearly every university is updating their computer science curriculum with it.
I personally feel that starting with Python is good idea. It's easy, powerful and fun. But As long as you practice any language would do. That's all for this one. If you have any question you can ask them in comment section and I will try to respond ASAP. And do follow this blog(show some love naa ❣). Have a nice time.

Comments

Popular posts from this blog

Programmer? A Computer Programmer?

“Programming is like sex. One mistake and you have to support it for the rest of your life.” —Michael Sinz Well, to start with, “A programmer is someone who writes computer code, which tells computer what to do? and how to do it?” . Computing machines are dumb, trust me they are. They have enormous processing power but they don’t have hardware to direct this power to any productive use. And thats exactly where programmer kicks in. Programmers however are not the wizard depicted in the movies. They are humans like me and you. Its just that they think much more rationally than average human does. Types of programmers: The System Programmers: First of all a great tribute to these guys. They are the one who deal with software at the lowest level. They have veteran low level languages (languages which closely resemble with the hardware) —Assembly Language, Machine language in their arsenal. A typical system programmer works closely with hardware engineers bec

Kotlin : An introduction

Photo by wu yi “A language that doesn't affect the way you think about programming is not worth knowing.” ―Alan J. Perlis World was nice and there was only assembly(“real programmers code in assembly”) but then one day out of blue he (hey! don't look at me like that I too don't know his name) came and said let there be compilers and interpreters(line by line) that will translate languages easy to read(uh! nah not really) and write into assembly to make programming fun again and that gave birth to an era of exotic new programming languages called procedural programming languages. Procedural programming languages were doing fine but after some time lot's of programmer started loosing their objects because of stateless functions which globally caused chaos. Seeing all this made him angry. So he said, “Procedural languages, I command you to treat everything as an ‘Object’ which will have it's own properties(attributes) and behavior(methods)”. They respond

Kotlin Coroutines : A Comprehensive Introduction

Photo by Fleur Treurniet on Unsplash “Redesigning your application to run multithreaded on a multicore machine is a little like learning to swim by jumping into the deep end.” —Herb Sutter, chair of the ISO C++ standards committee, Microsoft® In this article What are coroutines? Blocking vs. Non-Blocking Kotlin Coroutines Suspending functions CoroutineScope Coroutine builders Coroutine dispatcher Coroutine start Conclusion What are coroutines? Coroutines have been around for quite a time now. They are in-fact one of the ideas which helped develop multitasking operating systems. A coroutine in trivial most is a subroutine or function generalisation which in non-preemptive environment (operating system or OS in short) can voluntarily yield the CPU time so that other such sub-routines can use it for themselves without losing the results of previous computations and then can conti