TL;DR: You can write Solid applications using just about any language you like. That said, most Solid applications will be browser based, and as such the vast majority of them will be based in Javascript.
Solid provides (amongst other things) authentication, authorization, and a flexible data model wrapped in an API. This means that writing most Solid applications is a matter of modeling your data and creating a robust frontend user experience to access it. That frontend could be web-based and responsive, native desktop, native mobile, or a script.
Regardless of what you use to make your application, it’s going to need to know how to speak the various protocols and standards employed by Solid. To that end, we’re creating toolkits across various languages and frameworks to speed things along. Our priority as of now is web-based applications, and so we’re focusing on Javascript-based toolkits and utilities, with developer kits for pure javascript, Angular, React, and Vue.
It’s also important to know how to manipulate RDF and linked data, which our data model is based upon.
We’re still very early in this process, but keep checking back to our Developer Resources for the latest.
For now, here are a few helpful resources: