So reading about all the computer languages, old and new, is well worthwhile. My understanding is expanding radically. But, it is going to take years and years. So I need to supplement these efforts with some over view. So let me try and glean some from online.
So I had read some about LISP and plan to read more. Then that leads to Object Lisp, and I guess CLOS, and I guess that goes into Clojure, which has some large current popularity. So LISP was originally complied, as the military wanted that, like with Fortran and Cobol.
Clojure
It runs on the Java virtual machine and the Common Language Runtime.[9] There is a dialect, developed in lockstep with Clojure, called ClojureScript,[10] that compiles to ECMAScript 3.[
So it uses the Java Virtual Machine, and there is also a companion, ClojureScript. Mostly a functional language.
So I guess like Java, you could say it is partially, but not fully complied.
Clojure is free software released under the Eclipse Public License
Rich Hickey is the creator of the Clojure language.
Rich Hickey developed Clojure because he wanted a modern Lisp for functional programming, symbiotic with the established Java platform, and designed for concurrency.
en.wikipedia.org/wiki/Clojureclojure.org/clojure.org/guides/getting_startedI have much to learn!
How about Elixir?
Elixir is a functional, concurrent, general-purpose programming language that runs on the Erlang virtual machine (BEAM).[3] Elixir builds on top of Erlang and shares the same abstractions for building distributed, fault-tolerant applications. Elixir also provides a productive tooling and an extensible design. The latter is supported by compile-time metaprogramming with macros and polymorphism via protocols
José Valim is the creator of the Elixir programming language, an R&D project of Plataformatec
en.wikipedia.org/wiki/Elixir_(programming_language)elixir-lang.org/How about Haskell ?
Strong typing and purely functional ( as opposed to procedural )
en.wikipedia.org/wiki/Haskell_%28programming_language%29Its main implementation is the Glasgow Haskell Compiler.
en.wikipedia.org/wiki/Glasgow_Haskell_Compilerand the compiler is written in Haskell.
but the runtime system for Haskell, essential to run programs, is written in C and C++.
How about Scala ?
complies to Java Byte Code, supports functional programming, uses C style curly braces ( GOOD ), string typing, object oriented.
The design of Scala started in 2001 at the École Polytechnique Fédérale de Lausanne (EPFL) (in Lausanne, Switzerland) by Martin Odersky.
Released under BSD license.
Functional Tendencies
en.wikipedia.org/wiki/Scala_(programming_language)#Functional_tendenciesOfficial Site
Documentation
docs.scala-lang.org/?_ga=2.217900118.1762576993.1531343219-797395580.1531343219en.wikipedia.org/wiki/Scala_(programming_language)How about Swift ?
en.wikipedia.org/wiki/Swift_(programming_language)Compiled language, developed by Apple.
How about R ?
R is GNU Free, and the environment is written in C, Fortran, and R. ( need to have a Fortran compiler to change it and compile it. R itself must be interpretive ) For statistics and Math.
en.wikipedia.org/wiki/R_(programming_language)While R has a command line interface, there are several graphical front-ends, most notably RStudio and RStudio Server, which are the only GUIs developed by the R Foundation.[13] Integrated development environments are available.[
I love compiled langauges. But you also need command line ones, for the input to your own app.
object oriented, functional and procedural, and reflective (?).
Can write C and C++ to link directly, and Fortran ( but how does this actually work, Dynamic Linking? )
And also linkage to Python ( how does this work? )
R is an interpreted language; users typically access it through a command-line interpreter. If a user types 2+2 at the R command prompt and presses enter, the computer replies with 4, as shown below:
> 2 + 2
[1] 4
mentions languages 'F#' and 'Julia'.
Official Site
www.r-project.org/Comparison of Numerical Analysis Software ( Includes LabView, expensive! )
en.wikipedia.org/wiki/Comparison_of_numerical_analysis_softwareComparison of Statistical Packages
en.wikipedia.org/wiki/Comparison_of_statistical_packagesComparison of Languages:
en.wikipedia.org/wiki/Comparison_of_programming_languagesWell, if R has a connection to Fortran, that is a reason to stay current and equipped for Fortran.
How about Forth?
en.wikipedia.org/wiki/Forth_(programming_language)Stack based, free version Gforth.
Forth is an imperative stack-based computer programming language and environment originally designed by Charles "Chuck" Moore. Language features include structured programming, reflection (the ability to modify the program structure during program execution), concatenative programming (functions are composed with juxtaposition) and extensibility (the programmer can create new commands).
Compiled language
Forth relies heavily on explicit use of a data stack and reverse Polish notation (RPN or postfix notation), commonly used in calculators from Hewlett-Packard. In RPN, the operator is placed after its operands, as opposed to the more common infix notation where the operator is placed between its operands. Postfix notation makes the language easier to parse and extend; Forth's flexibility makes a static BNF grammar inappropriate, and it does not have a monolithic compiler. Extending the compiler only requires writing a new word, instead of modifying a grammar and changing the underlying implementation.
Popular in the 1980's ( has something taken its place today? )
The compiler itself is not a monolithic program. It consists of Forth words visible to the system, and usable by a programmer. This allows a programmer to change the compiler's words for special purposes.
pForth, portable Forth written in C
en.wikipedia.org/wiki/Pforthfully open source and written in C.
pForth official, dedicated to the public, free, open source
www.softsynth.com/pforth/index.phpreference manual online
www.softsynth.com/pforth/pf_ref.phpsays it is an interactive language ( and written in C and for controlling telescopes )
!!!!!!! RPN !!!!!!
Use C compiler!
WOW!
I am interested in languages old and new because I want to understand the underlying ideas. The ideas themselves are never dead.
How about Ruby?
Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan.
Functional and Object Oriented.
en.wikipedia.org/wiki/Ruby_(programming_language)I was talking with my colleague about the possibility of an object-oriented scripting language. I knew Perl (Perl4, not Perl5), but I didn't like it really, because it had the smell of a toy language (it still has). The object-oriented language seemed very promising. I knew Python then. But I didn't like it, because I didn't think it was a true object-oriented language — OO features appeared to be add-on to the language. As a language maniac and OO fan for 15 years, I really wanted a genuine object-oriented, easy-to-use scripting language. I looked for but couldn't find one. So I decided to make it.
Ruby is also completely free. Not only free of charge, but also free to use, copy, modify, and distribute.
Seeing Everything as an Object
Initially, Matz looked at other languages to find an ideal syntax. Recalling his search, he said, “I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python.”
Official Site
www.ruby-lang.org/en/IMPRESSIVE!
SJG