Home › Forums › Creator Platforms › Programming languages for development on the CI20?
This topic contains 3 replies, has 2 voices, and was last updated by jcowgill 5 years, 11 months ago.
-
AuthorPosts
-
15th February 2015 at 8:47 am #63983
Hello folks,
What programming languages are a good fit for the CI20? My wish list is:
– native code compilation
– garbage-collected
– source portability (to at least armel, aarch64, amd64, and 64-bit MIPS)
– strongly-typed or decent type inferenceGo doesn’t want to build, and gccgo is too far behind the main Go version to be terribly interesting. OCaml doesn’t have native code compilation for MIPS. Haskell (ghc 7.8.4) is building, so that’s a bright point. 🙂
What languages are people developing in on the CI20?
Cheers,
kjw
17th February 2015 at 3:00 pm #63986Here’s a list of what should work from browsing what is currently in Debian (32 bit). I haven’t actually tested most of these though.
Primary GCC Frontends:
C, C++, Objective-C, Objective-C++, Ada, Fortran, Go, Java
D - compiler works, but standard library is unportedClang / LLVM:
C, C++, Objective-C, Objective-C++Mono (.NET - native jit):
Little endian only
C#, F#, VB.NET, ASP.NET (+ various others)Other languages which compile to native code / jit:
COBOL (OpenCobol - via-c, possibly unmaintained?)
Haskell (GHC - via-c)
JavaScript (Google V8)
node.js (uses V8)
LuaJIT
Vala (via-c)Some interpreted languages:
Bash / various shells
Common Lisp (GNU CLISP)
Erlang
Forth (GNU Forth)
Java (OpenJDK)
Clojure
Scala
(+ other languages based on java)
OCaml
Octave (similar to MATLAB)
PHP
Perl
Prolog (SWI-Prolog)
Python
Racket
Smalltalk (GNU Smalltalk)
Tcl
Probably a lot more that I haven't thought of.Notable languages which do not work on mips at all:
Google Go (official version rather than GCC's version)
FreePascalFor 64-bit mips the above list roughly the same except for (at the time of writing):
Ada, Haskell - Not bootstrapped yet (but might work).
GCJ - Doesn't seem to work on 64-bit mips.
LuaJIT - unported (but interpreter works)
Mono - unported + has no interpreted mode
Racket - build fails on mips64
V8 / Node.js - there is a port but the version in Debian is too old.
18th February 2015 at 6:52 am #63985Thanks for the summary. My first choice was Go but it’s definitely a no-go on MIPS for now. Hopefully Haskell will do the trick.
18th February 2015 at 7:35 am #63984For anyone that follows who’s interested, the haskell-platform package in the apt repos (which is quite dated) seems to be able to bootstrap GHC 7.8.4 from source. It takes a few days (multi-stage bootstrap including the test suite) on the CI20. A few more tests fail than on x86_64, but so far the latest Cabal and related libraries seem to be building okay.
-
AuthorPosts
Forums are currently locked.