Programming languages support under PINE64
I am mostly interested in programming under ARM64 in Linux, so I am starting this thread here.

I want to gather peoples interests in different programming languages and the current state of them under ARM64. This includes the programming language itself, and the libraries. I am doing that because ARM64 is very new platform. And PINE64 is basically first generally available computer with ARM64. Previous ones were very expensive, so anything other than few languages needed to run some basic functions (C, C++, Python, Bash, Perl and PHP to run maybe a web server), was not really tested or easy to port without access to cheap hardware by developers.

This is both for my amusement, for showing the state of the platform, and maybe as a guide for other people what can be done with Pine.

Let me divide support into 3 categories or classes. If somebody have some experience about these languages/libraries under Pine64 or other ARM64 board, or under other systems (MacOS, Windows, Linux, FreeBSD) under normal PC (x86, amd64), and want to add something to the list, by testing it under PINE64, please post comments below.

1st class support (compilers and most libraries fully available upstream, and packaged into all major Linux distributions, works out of the box, and there is no major obstacles to use fully the language). This will also include most of the interpreted languages, with working interpreter. But remember that even interpreted languages often interact with C, C++ and host systems in many libraries (i.e. PHP libraries are often written in C, same with Python)
  • C (gcc and clang compilers)
  • C++ (gcc and clang compilers)
  • Go (gcgo compiler)
  • PHP
  • Python 2.x and 3.x
  • Perl 5
  • Ruby
  • JavaScript, Node.js - under V8, Chromium and Firefox
  • Unix shell scripting like Bash, ZSH, KSH, etc.
  • Erlang and Elixir (no HiPE support for aarch64, just arm and other archs, but interpreter works. LLVM backend in the works).
  • Scheme (multiple implementations works just fine. not tested native code compilers)
  • Java using OpenJDK environment (Tested OpenJRE9, but it older should work too, including OpenJDK too)
  • Ada (tested gnat-6 6.1.1)
  • Haskell (tested Glagow Haskell Compiler 7.10.3 with -fllvm backend)
  • OCaml (tested ocaml 4.02.3)
  • Fortran (tested gfortran-5 5.3.1)
  • Forth (tested gforth 0.7.3)
2nd class support (compilers partially working, some libraries maybe working, not fully tested, but there is a progress in making it run just fine). Some languages landed here because I didn't confirmed if they belong to 1st class fully. But probably half of them can be moved to 1st class category after proper confirmation of their status.
  • Rust - compiler should work (LLVM based), but core libraries are not yet ready
  • D 2.x (gdc compiler, ldc compiler maybe) - gdc compiler almost works, phobos almost ready
  • Groovy
  • Elm
  • Kotlin
  • C#, F#, etc under Mono virtual machine and its compilers
  • Haskell
  • OCaml
  • OpenCL
  • Clojure
  • Swift
  • Objective-C
  • PyPy
  • Lua, and LuaJIT
  • Lisp, ie. Common Lisp
  • Scala
  • Dart
  • Fortran (i.e. gfortran
  • Ada (i.e. gnat)
  • Jython
  • Octave
  • R
  • Nemerle
  • Pascal (i.e. Gnu Pascal)
  • Vala
3rd class support. Status unknown, no porting started, or the existing implementations are already limited in portability.
  • Eiffel
  • Visual Basic
  • Fortress
  • Delphi
  • Maple
  • Matlab
  • Mathematica
  • Sawzall
  • Oberon
  • Escher
  • Factor

I limited myself to languages I had some contact in the past, or are reasonably popular with big community. I explicitly excluded many esoteric languages (the ones made just for fun), even if they are in 1st or 2nd category, because they were not really done for practical purposes, and I do not want to pollute this list too much with them. I also explicitly excluded many languages that run in the web browser, with few minor exceptions like Dart and Elm, but in general, they are platform independent and do not even really run on the development host but in the clients browser. I included some, and they inclusion stats the status of the development, tools and compilers to Java or JavaScript target, not whatever you can run the programs in the browser correctly (but usually some support for execution would be also necessary for example to run tests). I also excluded very old languages, that nobody expect to be running even on modern PCs (like Algol variants, or Modula), or do have extremely small community or numbers of libraries available.

Anything more to add? Again, if you do have expirience with some of the above languages, and if you already tested them to work correctly, comment about moving the language to the proper category. (In example I feel that the Lua, Haskell and Ocaml might just work out of the box, same with Octave and R libraries. I just had no time to test anything in them yet). If you are under Debian, or Ubuntu, try installing provided packages, and see how things work, and report back. If so please provide distribution version, and version of the language tools and libraries you used for testing.

Changes: Moved Erlang and Elixir up. Moved Scheme up. Moved Haskell and Ocaml up. Moved Ada and Fortran up. Added comments to D and Rust.

Messages In This Thread
Programming languages support under PINE64 - by baryluk - 05-01-2016, 10:56 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Manjaro arm on pine64+ roel 2 4,223 10-19-2019, 05:13 AM
Last Post: roel
  Volumio for PINE64 Released mikelangeloz 11 19,138 03-22-2019, 09:25 AM
Last Post: llungster
  I2S Audio patches for Pine64+ uploaded to GitHub ramstadt 1 3,046 01-19-2019, 11:31 AM
Last Post: ramstadt
  Pine64: Minimal SDL config Max11 3 4,337 01-04-2019, 03:47 PM
Last Post: Max11
  Fedora 27 on Pine64 gregjo 18 25,950 01-02-2019, 10:42 PM
Last Post: heatfanjohn
  Official build procedure of ayufan pine64 r.tanaka 0 2,472 08-21-2018, 10:54 PM
Last Post: r.tanaka
  DKMS on kernel 3.10.107-pine64 obrienmd 5 6,152 06-21-2018, 05:45 PM
Last Post: evilbunny
  AXP803 Battery Charger Support xalius 14 17,244 12-22-2017, 08:59 AM
Last Post: Velociraptor
  Gentoo for pine64 - longsleep kernel incoherent 0 2,944 12-09-2017, 08:14 AM
Last Post: incoherent
  Fedora Running On Pine64! cztian 26 26,572 10-26-2017, 05:51 PM
Last Post: gregjo

Forum Jump:

Users browsing this thread: 1 Guest(s)