aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
  • Programming
  • Tech
  • Tools

Facilitating Creativity With Expressive Programming

  • Ackley Wyndam
  • July 2, 2021
  • 5 minute read

Programming is not something that readily comes into mind when thinking about art, but many applications of programming allow for artistic expression. There is even a field of programming called creative coding where the goal is not to create something functional but rather expressive.

Even though programming for art has been a thing for a while, it used to be fairly inaccessible as it required deep knowledge in the field. Take Demoscene, for example. Demoscene is a computer art subculture that has been around since the 1980s. It involves creating audiovisual presentations, called demos, that are not only artistic creations but also technical achievements.


Partner with aster.cloud
for your next big idea.
Let us know here.



From our partners:

CITI.IO :: Business. Institutions. Society. Global Political Economy.
CYBERPOGO.COM :: For the Arts, Sciences, and Technology.
DADAHACKS.COM :: Parenting For The Rest Of Us.
ZEDISTA.COM :: Entertainment. Sports. Culture. Escape.
TAKUMAKU.COM :: For The Hearth And Home.
ASTER.CLOUD :: From The Cloud And Beyond.
LIWAIWAI.COM :: Intelligence, Inside and Outside.
GLOBALCLOUDPLATFORMS.COM :: For The World's Computing Needs.
FIREGULAMAN.COM :: For The Fire In The Belly Of The Coder.
ASTERCASTER.COM :: Supra Astra. Beyond The Stars.
BARTDAY.COM :: Prosperity For Everyone.

It can be challenging, even for a programmer, to understand how a demo is implemented. That is not to say other fields of art are devoid of technicalities. But, I can hope to create something that resembles a painting given a brush and a paint but creating a programmatic art given a computer and a programming environment can remain a monumental challenge for a non-expert.

Nowadays, we have modern, high-level programming languages and libraries that make programming a lot more accessible. Tasks like creating a website, building a game, or creating programmatic art have become a lot easier

If you are not too familiar with programming, there are two concepts to unpack there. High-level programming languages and programming libraries.

High-Level Programming Languages

According to Wikipedia, a high-level programming language is a programming language with strong abstraction from the details of the computer. Essentially, high-level refers to the level of abstraction. A high-level abstraction means a concept is presented in a way that is stripped away from the underlying details. Think of using a phone. At a high level, to use a phone, you would need to turn it on and press the buttons on the screen. At a low level, the battery in the phone needs to power the processor of the phone, and the touch screen needs to register the pressure, etc. Honestly, I don’t even know how a phone works at a low level to give accurate examples here. The good thing is that I don’t need to. I am still able to use a phone without knowing how it works. That is made possible by abstracting away the low-level details.

image

A high-level programming language provides similar flexibility. It allows you to program the computer without having to worry about low, machine-level details. This is one of the factors that makes programming so much easier than it used to be. With a low-level programming language, you need to worry about how the memory is allocated in your program, how it is garbage collected, etc… Essentially, we would need to tackle concerns that don’t directly relate to the task at hand. High-level programming languages abstract away those details so you can focus on the primary goal and ignore the complex peripheral issues.

Another thing that makes programming easier is programming libraries.

Programming Libraries

image

A programming library (or package) is a bundle of code that is previously written for a specific purpose that is packaged and shared for reusability.

Imagine trying to build a first-person shooter game. If we had to write every piece of functionality we need by ourselves, we would have to write a lot of code to handle the 3D graphics. That means a lot of complex mathematical operations would need to be implemented in code. We would have to spend weeks or even months developing the foundational pieces before doing anything unique to our game. Luckily, creating and displaying 3D graphics on the computer is a solved problem. Many other smart people out there had to work on similar issues, and some of them choose to share their solutions to these problems in the form of programming libraries.

That is why getting started with programming is so much easier nowadays than it was before. You can simply install a library that would do the most complex tasks for you to focus on building things that will be unique to your application.

There are libraries out there that would allow you to build 3D graphics, data visualizations, e-commerce solutions, and even artificial intelligence applications. Nowadays, building a software application is mostly about figuring out how to use these libraries and bringing them together in ways that are unique to what you are trying to build.

A high-level programming language and programming language libraries can help you focus on creating art using programming instead of wrestling with technicalities.

One of the most suitable programming languages for this task is JavaScript. JavaScript is a modern, dynamic, and expressive programming language with vast popularity and a huge ecosystem. It has a lot of programming libraries that would help you to create all kinds of artistic works. One example of those libraries is p5.js. p5.js is a creative coding library that makes it easy to create visuals and animations. Here is an editable example below for a visual created by p5.js.

Read More  What Scrum Masters Can Learn From Dancing

Programming Libraries for Art

It is hard to prescribe any programming libraries for programming art since what you choose to use is only limited by your creativity. Nevertheless, here are some programming libraries in JavaScript that can help you in programming artistic works.

Three.js

image

Three.js is a JavaScript library that allows you to create 3D visuals in the web browser. It has been around for a long time and is used to deliver a lot of impressive projects. If you want to create 3D, Virtual Reality, or Augmented Reality experiences on the web, then Three.js is the tool for the job. We could already create 3D graphics in the browser by using an API (application programming interface) called WebGL but Three.js abstracts away the complexity of this API to make working with 3D much easier.

ml5.js

image

Machine Learning is an exciting frontier in computer science that is ripe for artistic exploration. Unfortunately, working with machine learning can be quite challenging for someone who doesn’t have in-depth knowledge in the field. ml5.js is a JavaScript programming library that makes it easy to work with machine learning by providing high-level abstractions.

Matter.js

image

Matter.js is a 2D physics engine that works in the web browser. It allows you to create realistic interactions on and in between shapes by simulating forces such as kinetic or gravity. You can combine it with other libraries such as p5.js to create visuals that can interact with each other in realistic ways.

These are just a few examples of all the awesome libraries in the JavaScript ecosystem that can help you create art and express your creativity. There are a lot more examples, such as Phaser.js for creating games, howler.js for working with audio, natural for natural language processing, etc.

This is not to say even a person without any coding knowledge can start programming as soon as they sit in front of a computer. But thanks to modern programming languages and libraries, programming for art is a lot more accessible than before for anyone willing to learn the basics of programming. I have created Coding for Visual Learners exactly for this purpose. It is not specifically a Programming for Art course, but it teaches programming in an artist-friendly way. Once you learn programming fundamentals, you can apply it to whatever you want, whether creating art, building web applications, or even programming robots!

Read More  4 New Features Of Active Assist To Help Automate Idle Resource Management

This article is republished from hackernoon.com


For enquiries, product placements, sponsorships, and collaborations, connect with us at [email protected]. We'd love to hear from you!

Our humans need coffee too! Your support is highly appreciated, thank you!

Ackley Wyndam

Related Topics
  • 2D physics engine
  • Art
  • High-Level Programming Languages
  • howler.js
  • Phaser.js
  • Programming
  • Programming Libraries
You May Also Like
Smartphone hero image
View Post
  • Gears
  • Tech

Zed Approves | Smartphones for Every Budget Range

  • January 29, 2026
View Post
  • Technology
  • Tools

IBM Launches Enterprise Advantage Service to Help Businesses Scale Agentic AI

  • January 19, 2026
Early Black Friday Gears
View Post
  • Tech

Friday Deals – And It’s Not Even Black Friday Yet

  • November 13, 2025
aster-cloud-sms-pexels-tim-samuel-6697306
View Post
  • Programming
  • Software

Send SMS texts with Amazon’s SNS simple notification service

  • July 1, 2025
aster-cloud-website-pexels-goumbik-574069
View Post
  • Programming
  • Software

Host a static website on AWS with Amazon S3 and Route 53

  • June 27, 2025
notta-ai-header
View Post
  • Featured
  • Tools

Notta vs Fireflies: Which AI Transcription Tool Deserves Your Attention in 2025?

  • May 16, 2025
Getting things done makes her feel amazing
View Post
  • Computing
  • Data
  • Featured
  • Learning
  • Tech
  • Technology

Nurturing Minds in the Digital Revolution

  • April 25, 2025
View Post
  • Tech

Deep dive into AI with Google Cloud’s global generative AI roadshow

  • February 18, 2025

Stay Connected!
LATEST
  • 1
    Expectations vs. Reality: The AI We Thought We’d Have in 10 Years
    • June 19, 2026
  • digital-nomad-freelancer-worker-2151205464 2
    One paperwork problem – Get your Digital Nomad Visa employment documents fast from UK, EU or Singapore
    • June 16, 2026
  • 3
    Samsung Art Store Brings Art Basel to Homes Worldwide With New Curated Collection
    • June 15, 2026
  • 4
    You Do Not Need to Invest in the IPO of SpaceX, Anthropic, and OpenAI
    • June 10, 2026
  • 5
    The consequences of relying on AI for accurate news
    • June 10, 2026
  • 6
    Connecting AI agents with unstructured data using Google Cloud Storage MCP Servers
    • June 10, 2026
  • 7
    WWDC26: Apple unveils next generation of Apple Intelligence, Siri AI, powerful parental controls, and an expansive set of software improvements
    • June 8, 2026
  • 8
    IBM and Google Cloud Announce Strategic Partnership to Scale AI with Human Expertise and AI‑Powered Delivery
    • June 4, 2026
  • Data center 9
    Data Sovereignty in Spain. It’s Not Just About the Law, It’s About Efficiency
    • June 3, 2026
  • 10
    Ink vs Pixels. What you miss versus what you are actually missing.
    • June 1, 2026
about
Hello World!

We are aster.cloud. We’re created by programmers for programmers.

Our site aims to provide guides, programming tips, reviews, and interesting materials for tech people and those who want to learn in general.

We would like to hear from you.

If you have any feedback, enquiries, or sponsorship request, kindly reach out to us at:

[email protected]
Most Popular
  • 1
    Banks race to patch new cyber vulnerabilities, and other cybersecurity news
    • May 25, 2026
  • pope-leo-xiv-cq5dam-1500.844 2
    Pope Leo XIV to Publish First Encyclical on Artificial Intelligence and Human Dignity on 25 May
    • May 22, 2026
  • 3
    Portfolio to Clients, and is Strengthened by Ongoing Project Glasswing Work
    • May 20, 2026
  • reMarkable Paper Pure 4
    Everything The reMarkable Paper Pure Actually Does
    • May 14, 2026
  • 5
    Scaling cloud and AI: Microsoft Azure’s commitment to Europe’s digital future
    • May 11, 2026
  • /
  • Technology
  • Tools
  • About
  • Contact Us

Input your search keywords and press Enter.