Why a programming language ?
In simple terms a programming
language is a way/medium to communicate with the machine. There are many ways
that that we can communicate one way is directly interacting at the hardware
level but it had the limited scope and unlimited complexity. In the earlier
days before the dawn of programming era every component in the
computer must be inter connected through wires and it posed a much complex
problem for the Engineers and scientists to configure the system for
every use.
It all
changed with the invention of programming language.Ada Lovelace, was an English
mathematician and writer chiefly known for her work on Charles Babbage's early
mechanical general-purpose computer, the Analytical Engine.
Her notes on the engine include what is recognized as the first algorithm intended to be
carried out by a machine. Because of this, she is often described as the
world's first computer programmer. So that began the great ever ending and
ever evolving chapter of human innovation.
HOW MANY LANGUAGES SHOULD I
LEARN ?
There is no standard
number that how many languages should you learn.Perhaps one standard number is
absolutely ONE .There is no need that you should learn languages one by
one.There is no law that states that if you are not good at one
programming language then you will be good at other programming languages
and it is biggest myth of programming.Take any language of your choice I
prefer C/C++ or even you can go with JAVA ,but it is advisable to begin
with C.
There is good reason to
begin with C.C is the most fundamental and basis for most modern languages.I
can bet that learning C will make you comfortable with any other language that
you will learn further.C is fundamentally used component in operating system
development ,Unix environments(Linux,Ubuntu) ,Hardware Programming (EMBEDDED-C)
which used to program various micro controllers .
C concepts are so fundamental that you can derive into any modern programming language. It doesn't matter to what programming language you migrate this concepts are vital and fundamental in understanding the language constructs and also understand memory and hardware organization or You should pay at least some respect to the programming-language that changed the world.
Not all but most of us will be uncomfortable with directly working with object oriented features (c++,java,c#……) for the first time while understanding the language framing constructs for the first time.C has most basic and easy syntax at the short time you can master the language. If you are able to prove your fit in one language then you will prove yourself in any other language
C concepts are so fundamental that you can derive into any modern programming language. It doesn't matter to what programming language you migrate this concepts are vital and fundamental in understanding the language constructs and also understand memory and hardware organization or You should pay at least some respect to the programming-language that changed the world.
Not all but most of us will be uncomfortable with directly working with object oriented features (c++,java,c#……) for the first time while understanding the language framing constructs for the first time.C has most basic and easy syntax at the short time you can master the language. If you are able to prove your fit in one language then you will prove yourself in any other language
Who is considered as a good programmer?
Finally it all depends on how deep you go into a
particular language. Learning a language by just grazing the surface and
hallucinating that you are a master of that language just by answering some
simple questions in the online or asked by your friend as a common
syndrome for all programmers. But don’t fall to tithe more you explore the more
you will find.You should know the difference between knowing something and
knowing name of something.
Many people claim that they are the masters of the programming or at least you will confirm by your observation by the way he performs in writing programs. But as always it to had two sides ,because most people doesn't dig deep into the technical stuff but learn all the syntax's and logic's ,solves some problems thinking that that's all and that's it what makes a programmer .I pity their innocence .But there is a difference between a programmer and good programmer.
But to much extent you will not be facing any problem in not going much deep into concepts of a language. But it had its limitations even though it is useful , you can’t go beyond some point and going on later requires an extra edge of skill above the normal line of your knowledge. So never get carried away by that fragile thoughts that will temporarily establishes you as you know everything where besides you just know the facts that everyone knew.
Many people claim that they are the masters of the programming or at least you will confirm by your observation by the way he performs in writing programs. But as always it to had two sides ,because most people doesn't dig deep into the technical stuff but learn all the syntax's and logic's ,solves some problems thinking that that's all and that's it what makes a programmer .I pity their innocence .But there is a difference between a programmer and good programmer.
But to much extent you will not be facing any problem in not going much deep into concepts of a language. But it had its limitations even though it is useful , you can’t go beyond some point and going on later requires an extra edge of skill above the normal line of your knowledge. So never get carried away by that fragile thoughts that will temporarily establishes you as you know everything where besides you just know the facts that everyone knew.
Most people try the tasks below that is line of toughness,this is what
creates an assumption in them that they knew everything. But once you are tried
to cross the bar i.e you are trying to risk beyond something ordinary you will
come know how much you should know.So never ever think that in
programming learning this much is too much.
LANGUAGES FOR LEARNERS
Web design
1.HTML
2.CSS
System level
1.C
2.C++
3.JAVA
4..NET(C#,VB.net ,…..)
5.Objective-C(Mac,OSX,IOS)
Graphics and game development
1.OPENGL(Cross platform:can be implemented in C/C++)
2.DIRECTRIX(Windows-only)
3.XNA Framework (based on .Net Framework):::::(XBOX-360,Windows,Windows phone)
Artificial intelligence
1.clojure
2.Lisp.
3.Prolog.
4.Snobol.
5.TCL
Engineering
1.MATLAB(signal processing,image processing,mathematical optimization models,statistical analysis,etc……..)
2.MATHAMETICA AND WOLFRAMALPHA
3.MATHCAD(solve complex engineering problem in a interactive and easy way ,etc……..)
Hardware
1.EMBEDED-C
2.ASSEMBLY (MASAM)
Database
1.MsSql Server (microsoft)
2.Oracle
3.DB2 (IBM)
4.MySql
.
.
Others
1.Php
2.Perl
3.Ruby
4.Phython
Challenging Your Programming and Mathematical Knowledge
https://projecteuler.net/
http://www.hackerearth.com/