Tuesday, September 27, 2016
Programming Languages to Learn
Programming Languages to Learn
My first programming language was assembly for the Motorola
6800. I remember most of the commands
with the different addressing modes (Immediate, Direct, Index,
Extended, Inherent) and the different
registers.
I understand bit’s and byte’s.
I also know several programming languages and wonder if I should learn
another language or increase my expertise with the ones that I know. What
are the best programming languages to know?
IT-Skills-Watch gives
me an idea of what I should learn and because it is updated monthly I can keep
track over time what I should evaluate and learn. The Top 20 Development Skills shows
programming languages, and the Top 40 IT skills shows the applications to
watch.
Beginners
and experts know that there are many factors that should be taken into account
while deciding what to learn. Different
Fields will require different technologies and with the rate technology
evolves, by the time you become an expert it can already be considered
obsolete. There are ways to learn
faster, and according to Josh
Kaufman, you can learn anything in 20 hours.
Languages
vary in terms of functionality and complexity. Each programming language
strengths will help you with different types of tasks you want to perform. Each grouping of task can be thought of as
programming “tracks” or “developer paths”.
C
|
C#
|
C++
|
Objective C
|
Java
|
PHP
|
SQL
|
Ruby
|
Python
|
Javascript
|
|
Game Programmer
|
x
|
x
|
x
|
x
|
||||||
Mobile App Developer
|
x
|
x
|
||||||||
Web Developer
|
x
|
x
|
x
|
x
|
x
|
x
|
x
|
|||
Software Developer
|
x
|
x
|
x
|
x
|
x
|
In addition to programming Tracks, the Genealogy of Language can also guide your path
as each language is influenced by other languages. If you know Perl, then Learning Python, Ruby
and PHP become easier. Perl’s creation is influenced by C, AWK, csh and the
next generation of Perl, Perl-5 was influenced by C++. C, Perl and Python are close enough that if
you know one, then learning the others will be easier. And of course, you will want to have a book to read, so Free Programming Ebooks.
1.
Java was
developed by James Gosling, in 1990 at Sun Microsystems. Java is an object
oriented programming language. A Java core principle is WORA (Write Once Run
Anywhere). Java is designed to be portable. You compile Java Source code and
then on any machine where JVM (Java Virtual Machine) is installed, you can run
that code no matter what OS or Hardware it is on.
Java
should be learned by every programmer. Learn
Java at Udemy. Learn java online. Learn
Java on Youtube (do not forget to use Filters = Long (> 20 minutes) ).
2.
Python is extensible
and has a small core language. Guido van Rossum, being a fan Monty Python
named the language Python. In the ‘Zen of Python’
there are 20 software principles the influence the design of python. For
example;
·
Beautiful is better
than ugly
·
Explicit is better
than implicit
·
Simple is better than
complex
·
Complex is better than
complicated
·
Readability counts
Python
may owe its surge in popularity to Google’s investment in the language in the
last 10 years. Some web sites that
currently operate using python include pinterest.com, instagram.com, and rdio.com. Python and PHP have associated web frameworks to
make it more convenient to develop web based applications. Learn
Python on Udemy. Learn
Python on Codecademy. Learn
Python the Hard Way.
3.
C is a
good programming language to learn (learn
C at Udemy), specifically for the beginners who are intending for a
programming career in the long run. This
language was created in 1972 by Dennis Ritchie at Bell labs. C is used to develop low level
applications and program embedded systems.
C is fast because it doesn’t
have support for garbage collection, dynamic typing and other facilities
which make it easier for the programmer to write programs but the additional
processing overhead degrades performance.
There are many resources you can use to Learn C which can be found with google.
3.
C++ is widely used and in high demand in the job
market. The C language performs extremely well but it lacks object
orientation (OO). In 1983 C was extended to include object orientation. This
extension is C++. “Most packaged
software is written in C++. That means games, office applications, graphics and video
editors, and operating systems. In fact, if you think of the software you use
every day that isn't online, chances are it is written in C++ (or C or objective-C). It's not written in
Java, Python, Ruby, Perl, etc”((ref))
There are many resources you can use to Learn C++ which
can be found with google. Learn
C++ at Udemy. Learn C++ for free.
3.
C# (pronounced
"C sharp") was developed in 2000 by Microsoft
as part of its family
of programming languages and is part
of the .net framework. C# is
very similar to Java in terms of capabilities. C# is a pure Objective-Oriented
language that combines the power and flexibility of C++ with the advanced
features of Java. If you know C#, you
should be able to switch to Java and vice versa.
C# can
be used to develop almost all types of software applications. “If
you don't already have C#, you can acquire a version of Visual Studio that
includes C# for free from the Visual Studio site.”
((ref)) “The best GUI
frameworks for Windows applications is Winforms and WPF together with .NET
Framework. The best programming language to work with the .NET Framework and
it's APIs is C#. Java is not an
alternative for this. And C++ is an older language without automatic memory
management.” ((ref))
The
job market for C# programmers is good (see IT-Skills-Watch Top
20 Development Skills ). Start
learning C# at Udemy.
3.
Objective C was initially conceived of by
Brad Cox and Tom Love, in 1983. Influenced by Smalltalk and intrigued by
problems of re-usability in software design and programming they wanted a
language that was backwards compatible with C.
In 1988 NeXT licensed
Objective-C and
it has been used as a development platform for Apple based software
applications.
Start
learning Objective-C at Udemy. Learn
Objective-C in 24 hours. I searched for and found many
explanations on how to
get Objective C online.
4.
Perl was created by Lary Wall in 1987 and is in continual
evolution. Perl 5.000 was released in 1994. The interpreter was rewritten to add many new features
including “objects, references, lexical (my) variables, and modules. Importantly, modules provided a mechanism for
extending the language without modifying the interpreter. This allowed the core
interpreter to stabilize, even as it enabled ordinary Perl programmers to add
new language features.” ((ref))
Perl comes with a very active community, and large number of resources for learning
Perl including tutorials from novice to advanced. Start learning Perl at Udemy.
5.
JavaScript was created in 10 days in May 1995 by Brendan Eich. JavaScript is a client side language and is
one of the three core technologies of the World Wide Web alongside HTML and
CSS. JavaScript runs inside a client
browser and process commands on client computer. This decreased load on the Server and
Increases Application Speed. JavaScript was designed by Netscape and many
websites make use of JavaScript.
Start
Learning JavaScript at Udemy, mozilla.org, w3schools, Codecademy, learn-js.org, learncodethehardway.org, devdocs.io, Crockford.com, javascript.com, jsforcats.com, nodeschool.io, JavaScript
Design Patterns, JavaScript
Bible, JavaScript Allonge, Programming
JavaScript Applications @ Oreilly.com, javascript.info, codecombat.com, You Dont Know JS, best methods and resources
according to 25 JavaScript experts, Eloquent JavaScript, Eloquent
JavaScript (.pdf), khanacademy.org, 50
Best Websites to Learn JavaScript, Best
Way to Learn JavaScript, quora-
- -the best way to learn JavaScript
6.
Ruby was created by Yukihiro Matsumoto in 1995 and was influenced
by Perl, Smalltalk, Eiffel, Ada and Lisp.
Ruby was created to be an Object Oriented language. It is also a dynamic, general-purpose and
reflective language that supports imperative and functional programing
paradigms along with being Object Oriented.
Similar to Python it is readable and has been used to create websites including
Github, Scribd, Yammer, Shopify, and Groupon via Ruby on Rails. Ruby is flexible to the point you can redefine
the + instruction as “plus”.
Start learning Ruby at Udemy, CodeSchool, Codecademy, TheOdinProject, TutorialsPoint(pdf),
RubyInside(pdf),
ProgrammingRuby(pdf),
HumbleLittleRubyBook(pdf), The Book of Ruby(pdf),
Ruby Cheatsheet(pdf),
Ruby Language Quick Reference(pdf), The Ruby Programming Language(pdf), The Little Book Of Ruby(pdf), Ruby in a Nutshell(pdf).
7.
PHP originally
stood for “Personal Home Page”, but now is a recursive acronym “PHP
: Hypertext Preprocessor”. PHP’s
first incarnation was as a set of CGI (Common Gateway Interface) binaries but
after in 1997 the was developed into a new independent programming
language. PHP is a server-side scripting
language processed on the server and the end result is sent to the user of the
website in the form of plain HTML. PHP has
a mature interface for APIs, protocols, and multiple databases and is also
extensible which attracts developers who create and submit modules extending
PHP itself. With thousands of already built in modules you can usually find the
desired functionality or use one of the hundreds of PHP platforms such a
WordPress, Drupal, Joomla for website development. PHP is also an integral part
of the famous LAMP (Linux Apache MySQL and PHP) platform and is one of the
languages that every programmer should learn especially if they are looking for
a Web Developer’s Career.
Start
learning PHP at Udemy,
w3schools, or at anyone of 50
websites.
8.
Bash or Bourne Again Shell, is a Unix
shell first released in 1989 and is the default shell for most major Linux
distributions. Bash is a command line
interpreter that parses tokens into simple compound commands and performs
various shell expansions, breaking the expanded tokens into lists or filenames
and commands and arguments. Bash can
perform any necessary redirection and execution of commands. Anyone who works with Unix will want to know
bash.
Start learning bash at Udemy, with
a free guide, TutorialsPoint. There are literally thousands of options for
learning bash and
hundreds of online
books to learn from.
9.
SQL SQL
(Structured Query Language) was created in the 1970’s for managing data held in
a relational database management system.
SQL provides a standardized way to interact with a database and is
extremely simple to learn. Like JavaScript,
knowing SQL is not beneficial by itself, but having a command of it will allow
you to create applications that access and manipulate backend databases. The most common SQL for many is MySQL that is
part of the LAMP LAMP (Linux Apache MySQL and PHP/Python/Perl) open-source web
application software stack.
Start
learning SQL at KhanAcademy,
Udemy, w3schools.com, codecademy.com, sqlcourse.com, SQLcourse2.com, SQLzoo.net, TutorialsPoint.com, udacity.com,
SQL-Tutorial.ru, tutsPlus,
mySQLtutorial.org, codeschool and many pdf
books are also available online.
Subscribe to:
Posts (Atom)