Learning to code for PureOS/Librem 5

So for a while now I’ve thought it would be great to learn how to code- If only to have a better perspective on how the things I use constantly in my daily life function. I’ve supported the spirit of open source for a long time, and the Librem 5 has given me just the incentive I needed to take picking up the skills more seriously. I’d really love to be able to make the best of the device by making applications that suit my own individual point-of-use needs.

If I specifically want to design PureOS-compatible productivity and charting apps for my own personal use (or maybe even make things worth contributing to the PureOS store later down the road) on the Librem 5 that will work in both desktop and phone modes, where should I start with learning to code? What languages and techniques will be most critical/helpful for this platform? I have no background or experience in code or tech whatsoever but I’m eager to learn!

Maybe you should read this:

2 Likes

Hey, I don’t know how to code either (I barely manage to write bad scripts in bash batch and powershell) but I heard that if you want to start learning to code you should go for python but beware that it’s slow and if you want to write a program you might want to think about C or Rust to have a program that will be more efficient.
BTW the Librem 5 also gives me the motivation to try to learn how to code things. :smiley:

I plan to try out making programs in java/groovy because that’s what I use on my desktop projects :smile:

hi there! :slight_smile:

i think there is no better environment than lua and the related stuffs, however ive never considered it from the perspective of stuffs made by purism. its small, fast (and luajit is even faster, actually its the best jit compiler in the universe that can compete with c here and there), its very flexible, its really all around u in the wild behind the scenes, it tastes very good to read/write codes in lua (i can mostly read kinda much any codes that were intended for computers :smiley: so i really know much about computer languages in general…), u can easily go down to c and asm from it in case of need, and there is everything around to reach enlightenment by learning deeper and deeper aspects of lua luajit and whatever around, and a lot more! :slight_smile: i came from “python-land”, and i actually loved it so much, but it failed in speed, flexibility, and its ecosystem got deeply broken around the changes in 2.x and 3.x versions, and i didnt want to change language once again for my huge project, so i really looked under every rocks, and i couldnt find a better tool, even after planning and making researches for years around, however ur needs may differ from mine… btw its very easy, but i think who saw more before their arrival, those can appreciate its goodies much more. and finally i must leave a note, that its a minimalist language without thousands of never-needed features/tools (bloatwares :smiley: ) but its very easy to make ur own general tools, it will feel only that much better, but u can find kinda much anything in the wild to serve whatever purpose u need to take care of…

bests! - a lua fanboy :smiley:

Let me tell you: bash is the hardest. If you can write sensible, readable, reasonably bug-free “code” in bash, you’d write excellent Python scripts after only a few hours of training.

To learn some basics about variables, functions, input and output (files, keyboard) the language doesn’t really matter, but python is a good choice, also because you’ll find many samples.

To get a quick start with a graphical application, I can absolutely recommend QtQuick.
It is really easy to learn and to read. And it’s simple to adapt to different screen sizes.

2 Likes

Thanks for the tip, well when I say that “I write bash scripts” they’re like a few lines to do silly tasks so I consider myself a total noob here. I think I’ll start with Python then I’ll look around at languages that could help me to make a pretty specific project for my Librem 5. (I’ll throw it on Github and/or Gitlab when I think I’m done and give a link on the forum for people that are interested in the project).

1 Like