DaemonForums  

Go Back   DaemonForums > Miscellaneous > Programming

Programming C, bash, Python, Perl, PHP, Java, you name it.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 29th October 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default Programming on *BSD

I have been meaning to do this for a while. I'm very interested in making OpenBSD (and the other BSDs) the place to go to program. And so I want to collate some lists of the following:

1. Languages that are supported

2. Languages that are absolutely required for you to have

3. Languages that would be nice to have

4. Compilers/interpreters/toolchains for languages in an above category (including 1) that we don't have that would be good to have (e.g. other C compilers). This includes work-in-progress ports.

And maybe inspire some people to go out and make ports of the items in categories 2, 3, and 4.

The lists below are being sorted as follows:
Language
List of implementations (if applicable, many languages are their implementations and there's only one)
OS support (for category 1)

For brevity in reporting OS support in category 1, I mean FreeBSD+DragonFly BSD when I say FreeBSD. If there are no OS support notes, it means it is available on all 4 major BSDs (Free/Open/Net/DFly).

Last edited by ibara; 29th October 2017 at 08:35 PM.
Reply With Quote
  #2   (View Single Post)  
Old 29th October 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

Supported languages (and their supported compilers/interpreters/toolchains)

Ada
  • GNAT

Algol 60
  • NASE A60 (OpenBSD, NetBSD)

Algol 68
  • Algol68g

APL
  • GNU APL (OpenBSD)

Assembly
  • FASM
  • GNU as
  • NASM
  • YASM

awk
  • gawk
  • mawk
  • nawk (in base)

BASIC
  • BaCon
  • Brandy
  • FreeBASIC
  • PC-BASIC

Brainfuck
  • bfc
  • nbfc

C/C++/ObjC/ObjC++
  • CompCert (OpenBSD)
  • GCC
  • libFIRM+CParser
  • LLVM+Clang
  • PCC

C#
  • Mono

COBOL
  • GnuCOBOL (formerly OpenCOBOL)

Crystal
  • Crystal compiler

D
  • DMD
  • GDC
  • LDC

Elixer
  • Elixer compiler

Erlang
  • Erlang compiler and runtime

F#
  • F# compiler

Forth
  • GNU Forth
  • pfe

FORTRAN
  • f18
  • flang (FreeBSD, OpenBSD)
  • GNU FORTRAN

Go
  • Go compiler

Gravity
  • Gravity compiler

Haskell
  • ghc

HolyC
  • Secularize

Java
  • OpenJDK

JavaScript
  • Duktape
  • MuJS

Julia
  • Julia compiler (FreeBSD)

K
  • Kona

Lisp
  • Common Lisp
    • abcl
    • clisp
    • ecl
    • sbcl
  • Lisp 1
    • clojure
  • Lisp-like
    • NewLISP
  • Racket
  • Scheme
    • Chibi Scheme
    • Chicken Scheme
    • Cyclone (OpenBSD)
    • Gambit
    • Guile
    • Kawa
    • Scheme48
    • scm
    • STk
    • tinyscheme

Logo
  • ucblogo

Lua
  • Lua compiler
  • LuaJIT

ML
  • OCaml

myrddin
  • myrddin compiler

nim
  • nim compiler

node
  • node.js suite

Oberon-2
  • Oxford Oberon-2 compiler

Pascal
  • Free Pascal
  • GNU Pascal

PHP

Perl
  • Perl 5
  • Perl 6
  • Rakudo

Pony
  • ponyc

Processing
  • Processing suite

Python
  • Cython compiler
  • PyPy
  • Python interpreter

Rexx
  • Regina

Ruby
  • mruby
  • Ruby interpreter

Rust
  • mrustc
  • Rust compiler

Scala
  • Scala compiler and interpreter

Seed7
  • Seed7 compiler

Shell
  • Bash
  • C Shell
  • Elvish
  • Fish
  • Korn Shell
  • Oil Shell
  • POSIX shell
  • TENEX C Shell
  • Z Shell

Simula
  • GNU Cim (OpenBSD, NetBSD)

SNOBOL4
  • CSNOBOL4

Tcl
  • Jim Tcl
  • MIT Object Tcl
  • Tcl compiler

WebAssembly
  • wabt

Last edited by ibara; 1 Week Ago at 05:51 PM. Reason: Add PC-BASIC, bfc, f18, MuJS, mrustc, elvish, fish, and oil shell
Reply With Quote
  #3   (View Single Post)  
Old 29th October 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

Languages and implementations you need to have

Nothing here (yet!)

Last edited by ibara; 4th November 2017 at 10:01 PM. Reason: Move an item down a category.
Reply With Quote
  #4   (View Single Post)  
Old 29th October 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

Languages and implementations that would be nice to have

Ada
  • SPARK (hanzer)

CLISPS
  • CLISPS compiler (hanzer)

Scala
  • Scala Native (e1-531g)

Last edited by ibara; 14th July 2018 at 03:46 AM. Reason: Move Julia up to category 1; FreeBSD has a package.
Reply With Quote
  #5   (View Single Post)  
Old 31st October 2017
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 283
Default

Quote:
Originally Posted by ibara View Post
Languages and implementations that would be nice to have

Ada
  • SPARK (hanzer)

CLISPS
  • CLISPS compiler (hanzer)
CLIPS and CLISP are two very different things. I don't know what CLISPS is. <smirk>
Reply With Quote
  #6   (View Single Post)  
Old 31st October 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

Quote:
Originally Posted by hanzer View Post
I don't know what CLISPS is. <smirk>
It's an exercise in compromise
Reply With Quote
  #7   (View Single Post)  
Old 29th October 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

Reserved for category 4.
Reply With Quote
  #8   (View Single Post)  
Old 29th October 2017
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 283
Default

It might be a complicated set of ports that is difficult to maintain but I would like to see a first-class Ada development and deployment environment on OpenBSD; including a complete SPARK environment, of course.

If the Porting Workshop goes well, I might put together a CLIPS port. And if that goes well, it might be useful to port several elements of EPICS.
Reply With Quote
  #9   (View Single Post)  
Old 31st October 2017
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 283
Default

Quote:
Originally Posted by hanzer View Post
It might be a complicated set of ports that is difficult to maintain but I would like to see a first-class Ada development and deployment environment on OpenBSD; including a complete SPARK environment, of course. [snip]
Bizarrely, the SPARK link (^above^) temporarily points to the Adacore blog website. I contacted Adacore and they are fixing it. A slightly embarrassing and not at all uncommon example of a basic operational failure. I guess it takes a special kind of people to create and maintain high reliability products.

Last edited by hanzer; 31st October 2017 at 10:34 PM. Reason: to see if I could
Reply With Quote
Old 30th October 2017
e1-531g e1-531g is offline
VPN Cryptographer
 
Join Date: Mar 2014
Posts: 448
Default

If Scala has only interpreter, please port Scala compiler too.
Quote:
Scala source code is intended to be compiled to Java bytecode, so that the resulting executable code runs on a Java virtual machine.
https://en.wikipedia.org/wiki/Scala_...ms_and_license
__________________
Signature: Furthermore, I consider that systemd must be destroyed.
Based on Latin oratorical phrase
Reply With Quote
Old 30th October 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

Quote:
Originally Posted by e1-531g View Post
If Scala has only interpreter, please port Scala compiler too.
The port has the compiler that compiles to Java bytecode. But then I found this:
http://www.scala-native.org/en/latest/index.html
Reply With Quote
Old 30th October 2017
e1-531g e1-531g is offline
VPN Cryptographer
 
Join Date: Mar 2014
Posts: 448
Default

Quote:
Originally Posted by ibara View Post
The port has the compiler that compiles to Java bytecode.
That's great. I had read and heard good opinions on this language. I am going to learn this language in future.

Quote:
Originally Posted by ibara View Post
Frankly I am more interested in building Webapps with Spring Framework, which is a Java framework. I heard Scala integrates well with Spring framework and other popular frameworks and libraries used in java ecosystem.
__________________
Signature: Furthermore, I consider that systemd must be destroyed.
Based on Latin oratorical phrase
Reply With Quote
Old 30th October 2017
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 283
Default

There is also The Julia Language, but I don't know if that really makes much sense on OpenBSD.

Side note: Many of these "scientific" computing environments involve dangerously sloppy engineering practices. That seems goofy to me. In scientific computing, a failure in correctness and/or accuracy could lead to expensive and tragic consequences.
Reply With Quote
Old 31st October 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

I'm already glad I began this exercise. It alerted me to the existence for libFirm and cparser, and now I've submitted ports for both.

https://marc.info/?l=openbsd-ports&m...1826308038&w=2
Reply With Quote
Old 4th November 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

I just committed an Algol 60 interpreter (lang/a60) that I found on pkgsrc, so OpenBSD and NetBSD have an Algol 60 interpreter

Random update: A developer for Julia contacted me out of the blue to ask if I'd be willing to help port Julia to OpenBSD. I said yes.
Reply With Quote
Old 4th November 2017
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 283
Default

How about Simula? From there, I found Beta and gbeta. (I have no experience with any of these).

If you believe the OpenBSD Ada environment is sufficient, an attempt at a GHDL port might be enlightening.
Reply With Quote
Old 7th November 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

Quote:
Originally Posted by hanzer View Post
How about Simula? From there, I found Beta and gbeta. (I have no experience with any of these).

If you believe the OpenBSD Ada environment is sufficient, an attempt at a GHDL port might be enlightening.
GNU Cim is already available on pkgsrc (at least, a very old version is).
I submitted a port of the latest GNU Cim to OpenBSD ports.

Beta, unfortunately, appears to be dead. And gbeta requires beta to compile it...
Reply With Quote
Old 7th November 2017
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 283
Default

Quote:
Originally Posted by ibara View Post
GNU Cim is already available on pkgsrc (at least, a very old version is).
I submitted a port of the latest GNU Cim to OpenBSD ports.
Maybe the OpenBSD community could collect a few donations and get @ibara a membership with the Computer History Museum.

Quote:
Originally Posted by ibara View Post
Beta, unfortunately, appears to be dead. And gbeta requires beta to compile it...
Those suggestions were beyond snide and well into the realm of obnoxiousness.
Reply With Quote
Old 5th November 2017
e1-531g e1-531g is offline
VPN Cryptographer
 
Join Date: Mar 2014
Posts: 448
Default

In Java-ecosystem Kotlin programming language is becoming more and more popular.
Languages and implementations that would be nice to have (category 3)

References:
Mobile: May 17, 2017: Google announces Kotlin for Android | Google I/O 2017
Webapps: [..]we are introducing a dedicated Kotlin support in Spring Framework 5.
__________________
Signature: Furthermore, I consider that systemd must be destroyed.
Based on Latin oratorical phrase

Last edited by e1-531g; 6th November 2017 at 11:44 AM. Reason: Added category. Second edit: added references.
Reply With Quote
Old 8th November 2017
ibara's Avatar
ibara ibara is offline
GNU gold linker
 
Join Date: Jan 2014
Posts: 604
Default

Quote:
Originally Posted by e1-531g View Post
In Java-ecosystem Kotlin programming language is becoming more and more popular.
Languages and implementations that would be nice to have (category 3)
Cool, I'll add this one.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
NetRexx Programming gpatrick Programming 6 28th October 2013 01:57 PM
Java and AI-programming idefix Programming 4 7th February 2009 01:41 PM
Learning Programming Crypt Programming 35 27th October 2008 04:54 PM
GUI Programming bsdnewbie999 Programming 6 17th August 2008 12:19 AM
C programming - Lint corey_james Programming 14 16th May 2008 11:05 PM


All times are GMT. The time now is 01:01 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick