Welcome!

Perl Authors: Jyoti Bansal, Liz McMillan, Mike Hicks, RealWire News Distribution, Bob Gourley

Related Topics: Microservices Expo, Java IoT, Industrial IoT, Microsoft Cloud, Open Source Cloud, Machine Learning , Ruby-On-Rails, Perl, Python

Microservices Expo: Blog Feed Post

Choosing Your First Programming Language

Which is easiest, the most professionally useful, the most newbie-friendly?

By

Many new programmers struggle when it comes to selecting their first language to learn.  Which is easiest, the most professionally useful, the most newbie-friendly?  Lets find out by showing you a range of options, their strengths and weaknesses, and some information about the most common programming languages in demand today.  At the end, we’ll make some recommendations and you’ll understand a bit more about why they were chosen.

The Task At Hand
Every job requires the right kind of tool, and each programming language can be thought of as a separate tool.  Just like some tools are good for hammering nails, driving screws, and leveling screws, some programming languages are innately more suitable than others for tasks like designing a website, interpreting text, or reacting to user input.

Lets go through a few common use cases:

Language

Typical Usage

Java

Thick-client applications, large web apps, web applets, cross-platform

C# / .Net

Windows applications, iPhone apps

PHP

Web Application back-ends

Javascript

User interaction through web browser

Python

Science apps, computer admin tools, automating repetitive tasks quickly, can run on Linux and Windows (like java)

Ruby

Robust & Large web applications

Perl

Working with lots of text

Bash

Automating Linux Activities (like starting/stopping processes)

C/C++

Medium to Large projects, Embedded development, applications where speed is a factor

All of these languages can perform the same (or nearly the same) tasks as all the others, but the amount of effort can vary widely from language to language.  You’ll see that in some of the examples in the next section…

Detail-Oriented
All programming languages rely on structure to perform their tasks.  This structure is known as Syntax.  The syntax for English and Japanese are night and day, but the syntax for French and Spanish are very similar (if you remember your language classes from high school!).  The same applies to computer languages.  Lets look at some examples:

Java

C#

public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello, World”);
}
}

public class Hello1
{
public static void Main()
{
System.Console.WriteLine(“Hello, World!”);
}
}

vs

Perl

Python

#!/usr/bin/perl
print “Hello World.\n”;

#!/usr/bin/python

print “Hello World\n”

 

You can see that Perl and Python are nearly as identical to each other as Java and C# are!

programmingThis makes sense because many languages are modeled after one another.  By choosing a language that is syntactically similar to many other languages, you can practically learn multiple languages at once!

Hey, by the way, if you looked closely at those examples, you’ll notice some are simple, others are complex, and some require semicolons at the ends of lines while others don’t.  If you’re just getting started in programming, sometimes it’s best to choose languages without many syntactical (or logical) rules because it allows the language to “Get out of its own way”.  If you’ve tried one language and really struggled with it, try a simpler one!

Setup:

If you’ve seen your use case mentioned in the table above, or have decided on a language already, you’ll need a way to run it.  Generally, scripting languages require something called an Interpreter whereas C and C++ require compilers.  Almost all of the languages mentioned in this article (with the exception of C#) are easiest to set up with any flavor of Linux — it really doesn’t matter which kind.  C# is a special case because you need Visual Studio and Windows to use that.

PHP really requires a lot of work to set up in tandem with Apache/IIS, so we’ll save it for your own Googling or another article.  The languages and links below are the easiest to set up.

Language

Windows

Ubuntu Linux Console Command

Ruby

http://rubyinstaller.org/

apt-get install ruby

Python 2.7

http://www.activestate.com/activepython/downloads

apt-get install python

C#/.Net

http://www.microsoft.com/visualstudio/eng/downloads#d-2012-express

N/A

Java

http://www.oracle.com/technetwork/java/javase/downloads/index.html

http://www.eclipse.org/downloads/

apt-get install openjdk

C++

http://www.microsoft.com/visualstudio/eng/downloads#d-2012-express

apt-get install build-essential gcc

 

You can see that things on Linux can be quite easy to set up, but of course requires some amount of familiarity with the operating system.  If you’re not scared to jump into Linux feet-first and take some time to Google your issues, I highly recommend that you use Linux.  Either way, you’ll be using the command line in order to debug your programs anyways.

Popularity Contest:
TIOBE.com
maintains a who’s-who popularity list for all the most popular computer programming languages.  It’s created by crawling various search engines and scraping the results.  You can view all of their charts and graphs at http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

These are the top ten:

1

1

*

C

16.975%

-2.32%

A

2

2

*

Java

16.154%

-0.11%

A

3

4

*

C++

8.664%

-0.48%

A

4

3

*

Objective-C

8.561%

-1.21%

A

5

6

*

PHP

6.430%

+0.82%

A

6

5

*

C#

5.564%

-1.03%

A

7

7

*

(Visual) Basic

4.837%

-0.69%

A

8

8

*

Python

3.169%

-0.69%

A

9

11

*

JavaScript

2.015%

+0.69%

A

10

14

*

Transact-SQL

1.997%

+1.12%

A

So All This Information Is Nice But…
You need to make a decision, right.  Well, lets make a couple more charts and then get you started:

1. I’m a Windows User and I want to Get Into Programming
If you’re making something simple and want some experience that will translate into real-world usefulness, start with C#/.Net — setup is easy, the Visual Studio really helps you out, and there are plenty of resources to help you, including technet and MSDN directly from Microsoft!

Those languages aren’t as easy as Python, but Python isn’t going to help you out as much if you’re looking to make a simple graphical application.  That being said, if you just need a command-line utility, take a close look at Python.

2. I’m familiar with Linux and I want to make/automate something
Python.  Simple, fast, incredibly powerful, easy to use and experience with it translates fairly well into other languages.  Absolutely a must for beginners willing to get their feet wet with Linux.

3. I want to build a website
JavaScript and PHP — These languages require the most amount of know-how to set up (you have to install a webserver and make sure it’s configured to run PHP) but aren’t too complicated once you get that ball rolling.  PHP isn’t going to get you as much experience working with modern programming languages unless you use it in an Object-Oriented style though.

JavaScript is very useful to know and is easy to learn.  You’ll get a lot of use out of it, even without PHP.  In fact, you can make and run Javascript programs without any setup, right in your browser.

Just give me a Language!
Python.  It’s easy, already used by thousands, very extendable, doesn’t require as much attention to detail, and allows beginners to learn logic basics before going into object-oriented programming.

Read the original blog entry...

More Stories By Bob Gourley

Bob Gourley writes on enterprise IT. He is a founder and partner at Cognitio Corp and publsher of CTOvision.com

@ThingsExpo Stories
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
No hype cycles or predictions of zillions of things here. IoT is big. You get it. You know your business and have great ideas for a business transformation strategy. What comes next? Time to make it happen. In his session at @ThingsExpo, Jay Mason, Associate Partner at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He discussed the evaluation of communication standards and IoT messaging protocols, data analytics considerations, edge-to-cloud tec...
"When we talk about cloud without compromise what we're talking about is that when people think about 'I need the flexibility of the cloud' - it's the ability to create applications and run them in a cloud environment that's far more flexible,” explained Matthew Finnie, CTO of Interoute, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
When growing capacity and power in the data center, the architectural trade-offs between server scale-up vs. scale-out continue to be debated. Both approaches are valid: scale-out adds multiple, smaller servers running in a distributed computing model, while scale-up adds fewer, more powerful servers that are capable of running larger workloads. It’s worth noting that there are additional, unique advantages that scale-up architectures offer. One big advantage is large memory and compute capacity...
New competitors, disruptive technologies, and growing expectations are pushing every business to both adopt and deliver new digital services. This ‘Digital Transformation’ demands rapid delivery and continuous iteration of new competitive services via multiple channels, which in turn demands new service delivery techniques – including DevOps. In this power panel at @DevOpsSummit 20th Cloud Expo, moderated by DevOps Conference Co-Chair Andi Mann, panelists examined how DevOps helps to meet the de...
Amazon started as an online bookseller 20 years ago. Since then, it has evolved into a technology juggernaut that has disrupted multiple markets and industries and touches many aspects of our lives. It is a relentless technology and business model innovator driving disruption throughout numerous ecosystems. Amazon’s AWS revenues alone are approaching $16B a year making it one of the largest IT companies in the world. With dominant offerings in Cloud, IoT, eCommerce, Big Data, AI, Digital Assista...
Artificial intelligence, machine learning, neural networks. We’re in the midst of a wave of excitement around AI such as hasn’t been seen for a few decades. But those previous periods of inflated expectations led to troughs of disappointment. Will this time be different? Most likely. Applications of AI such as predictive analytics are already decreasing costs and improving reliability of industrial machinery. Furthermore, the funding and research going into AI now comes from a wide range of com...
Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devic...
We build IoT infrastructure products - when you have to integrate different devices, different systems and cloud you have to build an application to do that but we eliminate the need to build an application. Our products can integrate any device, any system, any cloud regardless of protocol," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA
SYS-CON Events announced today that Ayehu will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara California. Ayehu provides IT Process Automation & Orchestration solutions for IT and Security professionals to identify and resolve critical incidents and enable rapid containment, eradication, and recovery from cyber security breaches. Ayehu provides customers greater control over IT infras...
SYS-CON Events announced today that MobiDev, a client-oriented software development company, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software company that develops and delivers turn-key mobile apps, websites, web services, and complex software systems for startups and enterprises. Since 2009 it has grown from a small group of passionate engineers and business...
SYS-CON Events announced today that GrapeUp, the leading provider of rapid product development at the speed of business, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Grape Up is a software company, specialized in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market acr...
SYS-CON Events announced today that Enzu will exhibit at SYS-CON's 21st Int\ernational Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Enzu’s mission is to be the leading provider of enterprise cloud solutions worldwide. Enzu enables online businesses to use its IT infrastructure to their competitive advantage. By offering a suite of proven hosting and management services, Enzu wants companies to focus on the core of their ...
SYS-CON Events announced today that Cloud Academy named "Bronze Sponsor" of 21st International Cloud Expo which will take place October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara, CA. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud com...
SYS-CON Events announced today that IBM has been named “Diamond Sponsor” of SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California.
In his session at Cloud Expo, Alan Winters, an entertainment executive/TV producer turned serial entrepreneur, presented a success story of an entrepreneur who has both suffered through and benefited from offshore development across multiple businesses: The smart choice, or how to select the right offshore development partner Warning signs, or how to minimize chances of making the wrong choice Collaboration, or how to establish the most effective work processes Budget control, or how to ma...
SYS-CON Events announced today that CA Technologies has been named "Platinum Sponsor" of SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business - from apparel to energy - is being rewritten by software. From planning to development to management to security, CA creates software that fuels transformation for companies in the applic...
Multiple data types are pouring into IoT deployments. Data is coming in small packages as well as enormous files and data streams of many sizes. Widespread use of mobile devices adds to the total. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists looked at the tools and environments that are being put to use in IoT deployments, as well as the team skills a modern enterprise IT shop needs to keep things running, get a handle on all this data, and deliver...
In his session at @ThingsExpo, Eric Lachapelle, CEO of the Professional Evaluation and Certification Board (PECB), provided an overview of various initiatives to certify the security of connected devices and future trends in ensuring public trust of IoT. Eric Lachapelle is the Chief Executive Officer of the Professional Evaluation and Certification Board (PECB), an international certification body. His role is to help companies and individuals to achieve professional, accredited and worldwide re...
IoT solutions exploit operational data generated by Internet-connected smart “things” for the purpose of gaining operational insight and producing “better outcomes” (for example, create new business models, eliminate unscheduled maintenance, etc.). The explosive proliferation of IoT solutions will result in an exponential growth in the volume of IoT data, precipitating significant Information Governance issues: who owns the IoT data, what are the rights/duties of IoT solutions adopters towards t...