Software 1.jpg

Getting Started

Introduction

Here at Rovotics, the software department works to coordinate all of the systems on the ROV and builds the interfaces that the deck crew uses. The software department is divided into topside and bottomside teams, with topside being responsible for the pilot and copilot interface, server, and power delivery, while bottomside is responsible for bringing the ROV to life. 

Getting started in software development is no simple task. With hundreds of languages out there, from Javascript to C++, it's easy to get lost in all of the options. This article will explain to you resources that our own software department used to learn how to code.

Currently, the software department uses 4 languages. C++, Javascript, HTML, and CSS. Occasionally Python is thrown in the mix for operations programs. Right now, all of this probably sounds like complicated jargon, but we'll simplify that for you.

Software 2.jpg

C++

C++ is whats called a "general purpose programming language". This means that it can be used for anything, from desktop applications to run complicated mathematical calculations. The underlying design philosophy of C and C++ can be summed up as “trust the programmer” -- which is both wonderful and dangerous. C++ is designed to allow the programmer a high degree of freedom to do what they want. However, this also means the language often won’t stop you from doing things that don’t make sense. There are quite a few pitfalls that new programmers are likely to fall into if caught unaware. This is one of the primary reasons why knowing what you shouldn’t do in C/C++ is almost as important as knowing what you should do. This makes learning C++ a somewhat daunting task. The website that our programmers use to learn C++ is learncpp.com. They have tons of indepth tutorials, and if you finish all of them, you will know everything there is to know about C++. 

Software 3.jpg

Javascript, HTML, and CSS

Have you ever wondered how the websites that you visit are designed? Javascript, HTML, and CSS make up the bulk of the content that you see online. In fact, this article that your reading right now was designed in JavaScript, HTML, and CSS. For robotics, Javascript is fundamental for controlling the ROV, and communicating between "topside" and "bottomside". HTML and CSS is used for organizing and styling, making sure that everything is readable to the pilot. For learning about these languages, I'd have to recommend codecademy. They have a variety of courses on a different languages, not just these 3. If that doesn't work for you, I personally used a course from Udemy to learn web development, which helped us with our ROV.

MBC_0073.jpg

As with most things, learning how to code comes down to your dedication to learning. In my own experience, the process of learning wasn't fun, but the knowledge and skills that you gain in the end are all worth it. No matter what language or skill you learn to pursue, I wish you luck in your endeavors. Coding is no simple task, 

Comment