Welcome!

Ruby-On-Rails Authors: Liz McMillan, Pat Romanski, Elizabeth White, Hovhannes Avoyan, Yeshim Deniz

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 of Crucial Point and publisher of CTOvision.com

@ThingsExpo Stories
As data explodes in quantity, importance and from new sources, the need for managing and protecting data residing across physical, virtual, and cloud environments grow with it. Managing data includes protecting it, indexing and classifying it for true, long-term management, compliance and E-Discovery. Commvault can ensure this with a single pane of glass solution – whether in a private cloud, a Service Provider delivered public cloud or a hybrid cloud environment – across the heterogeneous enter...
DXWorldEXPO LLC announced today that ICC-USA, a computer systems integrator and server manufacturing company focused on developing products and product appliances, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City. ICC is a computer systems integrator and server manufacturing company focused on developing products and product appliances to meet a wide range of ...
More and more brands have jumped on the IoT bandwagon. We have an excess of wearables – activity trackers, smartwatches, smart glasses and sneakers, and more that track seemingly endless datapoints. However, most consumers have no idea what “IoT” means. Creating more wearables that track data shouldn't be the aim of brands; delivering meaningful, tangible relevance to their users should be. We're in a period in which the IoT pendulum is still swinging. Initially, it swung toward "smart for smart...
Major trends and emerging technologies – from virtual reality and IoT, to Big Data and algorithms – are helping organizations innovate in the digital era. However, to create real business value, IT must think beyond the ‘what’ of digital transformation to the ‘how’ to harness emerging trends, innovation and disruption. Architecture is the key that underpins and ties all these efforts together. In the digital age, it’s important to invest in architecture, extend the enterprise footprint to the cl...
Headquartered in Plainsboro, NJ, Synametrics Technologies has provided IT professionals and computer systems developers since 1997. Based on the success of their initial product offerings (WinSQL and DeltaCopy), the company continues to create and hone innovative products that help its customers get more from their computer applications, databases and infrastructure. To date, over one million users around the world have chosen Synametrics solutions to help power their accelerated business or per...
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
We are seeing a major migration of enterprises applications to the cloud. As cloud and business use of real time applications accelerate, legacy networks are no longer able to architecturally support cloud adoption and deliver the performance and security required by highly distributed enterprises. These outdated solutions have become more costly and complicated to implement, install, manage, and maintain.SD-WAN offers unlimited capabilities for accessing the benefits of the cloud and Internet. ...
In an era of historic innovation fueled by unprecedented access to data and technology, the low cost and risk of entering new markets has leveled the playing field for business. Today, any ambitious innovator can easily introduce a new application or product that can reinvent business models and transform the client experience. In their Day 2 Keynote at 19th Cloud Expo, Mercer Rowe, IBM Vice President of Strategic Alliances, and Raejeanne Skillern, Intel Vice President of Data Center Group and ...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Founded in 2000, Chetu Inc. is a global provider of customized software development solutions and IT staff augmentation services for software technology providers. By providing clients with unparalleled niche technology expertise and industry experience, Chetu has become the premiere long-term, back-end software development partner for start-ups, SMBs, and Fortune 500 companies. Chetu is headquartered in Plantation, Florida, with thirteen offices throughout the U.S. and abroad.
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
From 2013, NTT Communications has been providing cPaaS service, SkyWay. Its customer’s expectations for leveraging WebRTC technology are not only typical real-time communication use cases such as Web conference, remote education, but also IoT use cases such as remote camera monitoring, smart-glass, and robotic. Because of this, NTT Communications has numerous IoT business use-cases that its customers are developing on top of PaaS. WebRTC will lead IoT businesses to be more innovative and address...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
Michael Maximilien, better known as max or Dr. Max, is a computer scientist with IBM. At IBM Research Triangle Park, he was a principal engineer for the worldwide industry point-of-sale standard: JavaPOS. At IBM Research, some highlights include pioneering research on semantic Web services, mashups, and cloud computing, and platform-as-a-service. He joined the IBM Cloud Labs in 2014 and works closely with Pivotal Inc., to help make the Cloud Found the best PaaS.
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...
"Evatronix provides design services to companies that need to integrate the IoT technology in their products but they don't necessarily have the expertise, knowledge and design team to do so," explained Adam Morawiec, VP of Business Development at Evatronix, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
The Founder of NostaLab and a member of the Google Health Advisory Board, John is a unique combination of strategic thinker, marketer and entrepreneur. His career was built on the "science of advertising" combining strategy, creativity and marketing for industry-leading results. Combined with his ability to communicate complicated scientific concepts in a way that consumers and scientists alike can appreciate, John is a sought-after speaker for conferences on the forefront of healthcare science,...