Contents
Introduction
Which Language?
Why Do You Want To Learn?
Where to Start?
What’s Different between Languages?
Can You Solve This Coding Problem?
Other Bits
Introduction
Welcome to the latest news from TalkIT. In this issue we are going to look at programming languages. What languages are widely used today? What are they best used for? Which language to start with if you are a novice? These are the question that we are asked here at TalkIT. These are just my ideas based on my thoughts. As usual, I would really like to hear what you think. Please add your comments at the bottom of the blog.
Which Language?
There is large and ever growing number of languages to choose from. At the weekend I gave a talk on C# development with ASP.Net MVC at the DDD SW developer conference. Other speakers talked on Angular JS, F#, the Kinect API’s and much more. My background includes learning BASIC in the 70’s at school. I then moved on to Visual Basic and C# over the last 15 years. I also work with HTML, JavaScript and CSS. As a trainer and consultant, I played with many other technologies over the years. For first timers this can be a bit of a maze. It can be hard to work out where to concentrate your efforts. This will depend on previous experience. If it is your first language you are learning where do you start? Or you may just want the new features of a language you already know. Alternatively you could focus on key design patterns that are common to many languages. You may want to avoid the hassle and work with a language that is easy to setup and learn. Or one that does not cost anything. Let’s look at some key questions.
Why Do You Want To Learn?
This is a good place to start. Of course, you are learning a language to write software. If you are already a developer this may be because your company uses this language, or intends to. Knowing the latest stuff will also improve your CV and aid job interviews. Developers also just like new technology. They are pretty good at spotting trends. They want to keep up with current approaches and convince their employers to adopt these. But pushing things forward may not be that simple. The options may be restricted by company policy, legacy code and the existing knowledge in the team. Another focus for your learning may be to get a developer certification. Again this is beneficial for CVs and interviews. There are certification structures for most languages. Microsoft provides a wide range of exams across its products. I have found that going for an exam really provides a focus for learning. The syllabus is both deep and broad. The makes you study areas you would not normally. Want to know more? Take a look at the FAQs on our programming tutorials.
Where to Start?
The first thing to ask what kind of programming do you want to do. If your answer is web development then maybe HTML5 and JavaScript are good starting points. However if you don’t really know what you want to do; then I suggest a good starting point is either Visual Basic or Python. JavaScript with HTML and CSS is one of the easiest to languages setup and use. There is no need for any specialist software as it can be written in a text file and run directly on a web browser. You will see your results immediately. JavaScript is fairly forgiving; variable types are sraightforward and it will teach you the basics of functions. Python is easy to read and through the use of indentation creates a good programming style for the future. Python is quick and fun to write and allows you to see your results without too much effort and requires no knowledge of previous languages. If you move into the world of Visual Basic it will be a bit harder to set up and see your results. But it provides an easier transition into more widely used languages such as Java and C# which use Object Orientation. Java, C++ and C# are widely used in industry. The ASP.Net MVC course covers web development using C#. Want to know more? Take a look at our C# programming tutorial.
What’s Different between Languages?
Let’s start with what languages have in common. Most programming languages contain the same core constructs:
- Variables
- Arrays
- If Else statements
- Various looping statements
- Subroutines & Functions
- Object Oriented Programming features
The creation of new languages is due to emerging trends from software research, like Object Orientation. The rapid growth of the Internet also created opportunities for new languages. Programming language evolution continues, in both industry and research. Each language is designed to be better at specific tasks. For example JavaScript works well for client-side web development. Some languages like C# were created to be fully Object Oriented from the start. In others like VB, Object Oriented features were added as an after-thought. Some languages save developers time by providing access to existing libraries of code. The developer can easily include this commonly used code in their programs. They just have to locate the code classes and become familiar with their function. The .Net framework class libraries are an example of this. SQL (Standard Query Language) was created to query and update data in relational databases. It is excellent for creating efficient queries that return specific data. But it is a clumsy programming language with no OO features. HTML (Hypertext Mark-up Language) is not a programming language but the standard mark-up language for web pages. As such is does not contain any coding structures. HTML pages consist of tags to format text, image, video and hyperlinks. I am just scratching the surface here. Other questions to consider:
- An OO or Functional language?
- A static or dynamic language?
- Coding for web or desktop?
- Coding server-side or client side?
Want to know more? Take a look at our C# Jargon Buster.
What‘s Popular?
This is a difficult question to fully answer. One language may have more lines of code. Another may have more job ads that mention the language. Some languages are very popular for particular kinds of applications.
This is a chart showing combined results from various sources. This provides a valuable insight in to the recruitment demand amongst tech companies for the next year. Good luck and master a programming language you want to learn!
Can You Solve This Coding Problem?
We usually ask you to write a short program. This time we are showing you a bit of code and asking what the output is. Do you recognise the algorithm? Can you extend this to sort an array of integers?
// what’s the output
int[] a = { 9, 8, 7, 10, 4, 6, 5, 1, 3, 2 };
int t = a[1];
for (int i = 0; i < 9; i++)
{
if (t < a[i])
{
t = a[i];
}
}
Console.Write(t);
Other Bits
In May we are publishing a full Python courses. There is a launch offer of £4.99 per course monthly or £9.99 for Gold monthly subscription till May 22nd. TalkIT has been very active on social media recently. We have been posting on coding, new gadgets and IT humour. Why don’t you connect with us on Twitter or FaceBook? You can follow all the latest news and let us know what you think. Please tell us what your opinion. Which language would you prefer to learn? Tweet to us on Twitter or Message us on Google+. Here are some recent tweets. RT @NowTalkIT: How to read IF statements? Learn with 6 coding puzzles http://www.talk-it.biz/2015/04/6-coding-puzzles-teach-you-how-to-read-if-statements/ … #csharp #javascript #html5 #java #learn http:/. “Programming is the art of doing one thing at a time” ― Michael C. Feathers, Working Effectively with Legacy Code What is the best developer E-learning platform? http://talk-it.biz/2014/08/talkit … #javascript #csharp #html5 #coding #java #net RT @NowTalkIT: How to develop Great Software? #coding #html5 #humour #javascript #csharp #python #learnprogramming How to read IF statements? Learn with 6 coding puzzles http://www.talk-it.biz/2015/04/6-coding-puzzles-teach-you-how-to-read-if-statements/ … #csharp #javascript #html5 #java #learn How to develop Great Software? #coding #html5 #humour #javascript #csharp #python #learnprogramming @NowTalkIT A missing parentheses and the variable “m” is not declared. Hopefully that’s all, I’m not a compiler :P Don’t forget to be Awesome! #MondayMotivation #coding #motivation #inspiration #programming Coding puzzle. What is the output? #coding #puzzle #csharp #javascript #html5 #learncoding #programming #brainteaser
Photos www.freedigitalphotos.net/
Thanks to Wikipedia and CodeEval
David Ringsell MCPD 2015 ©