If you know someone who would like to learn to code, have them take a thorough look at LiveCode. While relatively unknown, LiveCode is a seriously great coding product. If you are old enough to know what HyperCard was, this is very much like a modern version of that product. The language is high level and will cut your development time into less than half.
Consider the traditional software development cycle. You’re probably familiar with it, it goes something like this: Edit, compile, run, navigate, debug, repeat. How about just edit your app live?
You can edit the user interface while the program is running. This means you can avoid the constant context switching required by the traditional development cycle. A programmer can work more productively this way.
- As the name suggests, you don't have to compile your code to run it. You can edit and run your code at the same time in the development environment.
- The language is high-level. Some programmers may be put off by the verbose nature of the code. However, the reality is that much of coding is thinking about how to solve the problem, not the actual typing. Here is an example of LiveCode:
sort the lines of theText descending by last item of each.
- It is cross-platform. Develop once and your program will work on Windows, Mac, Android, and iOS. All compiled to a native binary, this is not simply for creating webview apps.
- It is free and Open Source!
- Building user interfaces is fast and intuitive. You can, for instance, drag in a button and then add code to that button.
If you are looking to get started in coding right now, this is the path I would recommend regardless of whether you are young or old:
- Basic intro to HTML and CSS - Learn markup and how stylesheets work. You should learn just enough to have a basic understanding of how a basic webpage can be constructed. Don't spend too much time here as you will likely find building things with LiveCode to be more exciting!
- LiveCode - Build Some Apps!
- Dive into HTML5 and CSS3. While you are doing this learn how to use a version control system such as git. You should be able to build your own static website.
- Learn React and GraphQL - this is where web design becomes advanced and powerful.
- Move to advanced web design with Hugo and then Gatsby - Static site generators are a great modern way to build websites once you know how the compiled code works.
- Learn database design and SQL.
- Learn Python for home automation.
- Learn a flavor of C - Seriously. Don't start with C++ as many suggest.