What Development Languages Do Coplex Team Members Know?

Developing an awesome digital product for your startup is complex, but that’s why we speak computer for you.

David Hoff-Vanoni
Coplex
8 min readApr 18, 2017

--

When ventures begin an engagement with Coplex to co-create their product, a common question that arises is, “What development languages do your team members know?” Since Coplex specializes in the creation of digital products for startups, this is an excellent question to ask and one that we’re going to address in the remainder of this post!

Much like humans rely on language to communicate meaning to one another, a programming language is a written language to communicate instructions to a computer…

Some of the code that powers the Coplex site. (Image generated via Marmoset)

What is a Development Language?

A development language, more commonly referred to as a programming language, is a language that humans use to speak to computers. Much like humans rely on written and spoken language to communicate meaning to one another, a programming language is a written language that humans use to communicate instructions to a computer so that it will perform some desired function. The process of writing in one of these languages is often referred to as “programming,” and the result of this process is called a “program” or “software application.” Once a program is written, the computer then executes the program to perform the desired functionality.

As technology has advanced, computers have been able to perform more and more functions.

Our daily lives are now powered by thousands of different programs, ranging from the browser you’re using to read this article to the controller for the traffic light you get stuck at on your way to work. And behind each of these programs are thousands of lines of “code” that were written by humans to make computers do useful things.

At Coplex, the code we write becomes the guts of startup products, whether they be web apps, native mobile apps, or even Internet-connected hardware devices.

Why Are There So Many Different Languages?

You’ve likely heard of a number of different languages — HTML, CSS, JavaScript, PHP, Java, Swift — and asked yourself, “Why are there so many different ones? What are they used for?” As technology has advanced, computers have been able to perform more and more functions. New programming languages have been written to take advantage of this.

Many modern languages are designed to cater to a specific type of functionality. For example, HTML (Hyper Text Markup Language) is used to tell your browser what text to display on a website. CSS (Cascading Style Sheets) is needed to tell the browser how to make that website look.

One of the newest languages, Swift, is specifically designed for writing highly performant programs that run on your Mac or iOS device. If you’re curious about other languages, IEEE Spectrum produces an annual ranking of the top programming languages with brief descriptions of typical use-cases for each language.

Coding doesn’t always have to be so serious, you know.

So Then, What Languages Do You Know?

Whew! We made it. Enough background — let’s get back to the question at hand: what languages does Coplex use to create digital products? The simple answer is, “it depends.” As we discussed, different languages are optimized for writing different types of programs. The remainder of this section explores the different languages we use according to the type of application.

Back-End Servers

We’ll start by looking at back-end server programs as most digital products require some sort of back-end system that is responsible for managing the data and business logic that powers the product. You can think of this as the “brain” of the product.

For many years, PHP was one of the most popular languages for writing server applications, and as such, there are many PHP-based platforms available for managing your data and logic, such as Wordpress and Drupal. Coplex specialized in these platforms for many years, and our developers have pretty much “seen it all” when it comes to PHP. The language has been somewhat slow to evolve in recent years, which has led others to take a shot at the throne.

Rails provides a great deal of functionality out of the box and is supported by a huge community that is continuously developing new packages that augment its abilities.

Another contender in the space — and our current favorite — is Ruby on Rails. The name warrants a bit of explanation as “Ruby” is the programming language itself and “Rails” is actually a framework written in Ruby specifically for server applications.

Rails has earned its stripes by successfully powering popular sites such as GitHub, Airbnb, Hulu, and of course, Basecamp, from which it was born. It provides a great deal of functionality out of the box and is supported by a huge community that is continuously developing new packages that augment its abilities.

At Coplex, while we occasionally use ready-made platforms like Wordpress for quick test experiments, for more custom apps we’ve found that the features of Ruby on Rails make it an indispensable tool for building back-end functionality quickly and in a manner that promotes straightforward iteration.

The back-end houses the brains of a product and provides an API, or Application Programming Interface, that web and mobile apps use to send and retrieve data to and from the back-end.

For a brain to be useful, it has to retain information, and this is where back-end databases come into play. SQL (Structured Query Language) is a common language used for managing databases. Our team is fluent in two of the most popular varieties, MySQL and PostgreSQL. Both of these provide excellent performance and reliability that has been battle-tested by many products over many years, making them a no-brainer for use in new digital products.

Mobile Apps

Mobile apps provide an engaging portal for your product and serve as a front-end user experience that is powered by the back-end server behind the scenes. Coplex focuses on building native Android and iOS apps. (“Native” refers to apps that are written in the language designed for the platform.) Java is the primary language supported by Google’s Android, whereas Apple’s iOS uses Objective-C, or more recently, Swift.

At Coplex, we’ve fully embraced Swift and find working with it extremely productive (as well as fun).

Both the Android and iOS communities are extremely active, with new tools and techniques released on a constant basis. This provides a large base of existing knowledge to build from when starting on a new digital product, helping to save time and money during the development phase of the Coplex Lean Process.

Android, which has always used Java as its primary programming language, benefits from the fact that Java has been one of the most popular languages for many years — there are many developers familiar with Java and many tools already written in it. Apple’s Objective-C is more obscure and only used for writing applications for Apple devices. That’s why in 2014, Apple announced Swift, a brand new language designed to replace Objective-C and modernize the programming experience for Apple devices. At Coplex, we’ve fully embraced Swift and find working with it extremely productive (as well as fun).

Web Apps

While the emergence of smart phones led to an onslaught of apps in this newly created space, the web continued to receive its fair share of attention. In recent years, we’ve seen an evolution of web sites, displaying mostly static content, into web apps that provide more services and functionality through your browser than ever before. This shift to highly interactive applications has sparked a surge of new web-based technologies and languages.

The languages usually associated with the web are HTML, CSS, and JavaScript. HTML has been around since the early days of the web and is still the primary language used for delivering content (text and overall site structure) across the web. As the web evolved and users wanted something more visually appealing than simple text and links, CSS emerged as a complementary language that enables sites to present a custom visual style.

With the variety of different device sizes available today, it’s imperative that a web app adapts its visual presentation to be usable across all of them. This “mobile first” and “responsive” styling has inspired a number of frameworks. Our current favorite at Coplex is Bootstrap.

To top it all off, JavaScript is the language responsible for powering the interactive functionality that is so characteristic of the modern web. With the trend toward ever more interactive web applications, it’s no surprise that we’ve witnessed an explosion of new JavaScript tools and frameworks for building feature-rich web apps.

The JavaScript language itself has also been evolving quickly, and our team has enjoyed taking advantage of the newest features in ES2015 (“ES” standing for ECMAScript, the standardized name of JavaScript).

We recognize that staying on the leading edge enables more opportunities for the products we build.

Of course, you can’t talk about JavaScript development today without mentioning Node.js, a platform that powers thousands of different JavaScript tools. Coplex uses a number of these tools, such as Express and webpack, for building interactive web apps. However, the JavaScript tool that we’re currently most excited about — as is much of the development world — is Facebook’s React. It enables a new way of conceptualizing and developing user interfaces centered around the concept of “components” — discrete visual and functional elements that you combine to form your app. At Coplex, we’re taking full advantage of this to build products optimized for iteration.

Emerging Platforms

Mobile and web apps make up a majority of the digital products available today due to the proliferation of mobile devices and web browsers. However, this doesn’t mean new products should be limited to these platforms! In addition to the languages mentioned above, some Coplex developers also have experience with others such as C, Python, and Arduino. These languages can be found powering Internet-connected hardware devices, collectively referred to as the “Internet of Things” (IoT), which present an entirely new space for startups to explore. Some of our team members even have experience with 3D graphics and the fledgling augmented and virtual reality market.

Let’s Speak Computer!

With new technologies released constantly, keeping up with the latest languages and tools can be a challenge, but it’s one that the Coplex team is very passionate about. We recognize that staying on the leading edge enables more opportunities for the products we build for startups. If these challenges and opportunities excite you, join us in co-creating compelling new digital products for your startup, and we’ll take care of speaking computer for you!

--

--