====== [hemmerling] Programming Languages, Platforms and Runtimes ====== ===== ADA ===== *[[http://www.adacore.com/|AdaCore]] - "GNAT" Ada compiler. *Download of the free version of GNAT 3.11p for Windows, Linux. *[[http://www.mirrorservice.org/sites/ftp.cs.nyu.edu/pub/gnat/README.LAST|README.LAST]] - list of mirrors. *[[ftp://ftp.cs.kuleuven.ac.be/pub/Ada-Belgium/mirrors/gnu-ada/|ftp archive "GNAT 3.11p"]], [[ftp://ftp.informatik.rwth-aachen.de/pub/mirror/cs.nyu.edu/pub/gnat/|ftp archive "GNAT 3.11p"]]. ===== ALGOL 68 ===== *[[http://en.wikipedia.org/wiki/Algol_68|EN.Wikipedia "Algol 68"]], [[http://de.wikipedia.org/wiki/Algol_68|DE.Wikipedia "Algol 68"]]. ===== BASIC ===== *Xojo ( formerly REAL BASIC ), see section "Commercial Cross-Platform Development Systems". ===== COBOL ===== ==== Tools ==== *[[http://tiny-cobol.sourceforge.net/|SourceForge "TinyCOBOL"]], [[http://www.sourceforge.net/projects/tiny-cobol|SourceForge "TinyCOBOL"]]. *The free compiler "Fujitsu PowerCOBOL V3.0 L10" for Windows. *[[http://www.netcobol.com/download/v3starter/register.htm|Alchemy Solutions / NetCOBOL - "Fujitsu COBOL V3 Registration"]]. *"Fujitsu used to provide an early version (V3) of their COBOL compiler for free. It worked well but didn't have many features that were introduced in later versions so it didn't threaten sales for business use. That version, created in the early '90s, no longer works on today's computers and versions of Windows and is no longer supported. It has not made sense to offer more recent versions in this way". ==== Resources ==== *Staff members of "Klaus Bodenbach Unternehmens- und IS-Beratungs GmbH" hold COBOL courses at Fachhochschule Hannover, University of Applied Sciences and Arts, regularly, in the 1990th and 2000th. I passed such a course in Summer 2005. *[[http://web.archive.org/web/*/http://www.kbu-gmbh.de|Archive.org "kbu-gmbh.de"]] ( - 2006-12-05 ). *[[http://www.freebyte.com/programming/cobol/|Freebyte's Guide to... Free COBOL Programming]]. *[[http://www.cobolinfo.de/|Initiative COBOL]]. ===== FORTRAN ===== ==== Tools ==== *The OpenSource FORTRAN compiler [[http://www.g95.org/|G95]] for Linux and Windows. *WATCOM. *[[http://www.openwatcom.org/|Open Watcom]] - The OpenSource "Open Watcom Fortran" for DOS, Windows, OS/2, Linux. *Open Watcom V2 Fork ( [[http://openwatcom.sourceforge.net/|SourceForge "open-watcom"]], [[http://www.sourceforge.net/projects/openwatcom/|SourceForge "open-watcom - Open Watcom C/C++ compilers and tools Fork"]], [[http://www.github.com/open-watcom|GitHub "open-watcom"]], [[http://open-watcom.github.io/open-watcom/|GitHub.io "open-watcom"]] ). *[[http://www.silverfrost.com/|Silverfrost Limited]]. *[[http://www.silverfrost.com/32/ftn95/ftn95_personal_edition.aspx|Silverfrost Limited "FTN95 Personal Edition"]] - "Silverfrost FTN95 can now be used free for personal use. It is strictly for personal use or evaluation purposes". *[[http://www.silverfrost.com/53/ftn77_personal_edition.aspx|Silverfrost Limited "FTN77 Personal Edition"]] - "FTN95 is the successor to FTN77 but you can still download the FTN77 personal edition". ==== Resources ==== *[[http://www.fortranwiki.org/|Fortran Wiki]]. *[[http://www,fortranwiki.org/fortran/show/faq|Fortran Wiki "FAQ"]]. *[[http://www.thefreecountry.com/compilers/fortran.shtml|thefreecountry.com "Free Fortran Compilers"]]. ===== Go / Golang ===== ==== The Language ==== *[[http://www.golang.org/|The Go Programming Language]]. *[[http://www.golang.org/doc/effective_go.html|The Go Programming Language "Effective Go"]] - The Go language manual. *The free online IDE and online compiler for Go programming [[http://tour.golang.org/|The Go Programming Language "A Tour of Go"]]. *Blog [[http://blog.golang.org/|The Go Blog]]. *[[http://www.youtube.com/user/gocoding|YouTube "The Go Programming Language"]]. *[[http://www.twitter.com/golang|Twitter "Go"]]. *Wiki [[http://code.google.com/p/go-wiki/|Google Code "go-wiki. Go Language Community Wiki"]]. ==== Experts ==== *[[http://www.teale.de/|Geoffrey Teale]], [[http://www.xing.com/profile/Geoffrey_Teale|XING "Geoffrey Teale"]], [[http://de.linkedin.com/in/geoffteale|LinkedIn "Geoffrey Teale"]], [[http://www.twitter.com/tealeg|Twitter "Geoffrey J. Teale, @tealeg"]] - Ubuntu team member & "Golang" expert. ==== Resources ==== *Experts told me, that "Go" is a high-level language like "Java", while "Rust" is more a C-alike programming language for embedded systems. *[[http://stackoverflow.com/questions/tagged/go|Stack Overflow, Tagged Questions "Go"]]. *[[http://en.wikipedia.org/wiki/Go_%28programming_language%29|EN.Wikipedia "Go (programming language)"]], [[http://de.wikipedia.org/wiki/Go_%28Programmiersprache%29|DE.Wikipedia "Go (Programmiersprache)"]]. ===== Open Quantum Assembly Language ( OpenQASM ) ===== *[[http://en.wikipedia.org/wiki/OpenQASM|EN.Wikipedia "OpenQASM"]] - "An intermediate representation for quantum instructions". ===== Processing ===== ==== The Software Platform ==== *[[http://www.processing.org/|Processing]], [[http://www.github.com/processing/|GitHub "processing"]], a Java application. *[[http://www.processing.org/tutorials/|Processing "Tutorials"]]. *[[http://hello.processing.org/|Hello Processing!]] - Video tutorials. *[[http://github.com/processing/processing/wiki/|GitHub Wiki "processing"]]. *[[http://github.com/processing/processing/wiki/Supported-Platforms|GitHub Wiki "Supported Platforms"]]. *Wiki [[http://www.github.com/processing/processing-android/wiki|GitHub Wiki "processing/processing-android"]]. *[[http://www.twitter.com/processingOrg|Tiwtter "Processing, @ProcessingOrg"]]. ==== Online Services ==== *[[http://www.openprocessing.org/|OpenProcessing]]. *Is this really about the "Processing" programming language?! *Libraries: *The free library [[http://www.p5js.org/|p5js]]. *[[http://www.p5js.org/reference/|p5js "Reference"]]. *The library "Processing.js" is just available for paying subscribers. *"Algorithmic Design for the Creative Hive. Create, fork and explore interactive sketches in p5js?. Create your own class where students can learn and collaborate, together". *"OpenProcessing is independent and not directly related to 'processing.org'. 'Processing.org' is the foundation that is responsible from developing the processing language and libraries (p5js). OpenProcessing uses p5js as its core library in the code editor, and responsible from the social coding platform on the website". *"You may find coding reference on the reference tab - when you edit a sketch -, and with more info on [[http://www.p5js.org/reference/|p5.js "Reference"]]. ==== Some other Implementations ==== *[[http://www.processingjs.org/|Processing.js]]. *[[http://py.processing.org/|Processing "Python Mode for Processing"]] - "You write Processing code. In Python". *[[http://py.processing.org/examples/|Processing "Python Mode for Processing - Examples"]] - "Processing.py Examples. Coming soon! In the meantime, consult the examples that are included in the Python Mode download for Processing (File > Examples...)". ==== Resources ==== *The original IDE, running on Java, supports software development with Java on Desktop PC ( Windows, MacOS, Linux ) and Android, Javascript, CoffeeScript and Python. *OpenGL issues with "Processing 2.2.1" and newer, mostly with Windows: *The demo applications of the folder "Camera", "Demos" - and maybe some others, but not all - crash by the Java error message "Framebuffer objects are not supported by this hardware (or driver) Read [[http://wiki.processing.org/w/OpenGL_Issues|http://wiki.processing.org/w/OpenGL_Issues]] for help" :-(, on my *"Athlon XP2400" desktop computer with NVIDIA GeForce 6600 graphics card and webcam, with Win7 :-(. *Notebook "Dell Vostro 1000", with Win8.1 :-(. *Notebook "ASUS Eee PC T101MT", with Win8.1 :-(. *The demo applications work well on my *Notebook "Dell Vostro 1000", with Ubuntu Linux 14 LTE :-). *[[http://www.github.com/processing/processing/wiki/OpenGL-Issues|GitHub Wiki "processing/processing" - "OpenGL Issues"]]. *"In Processing 2.0, a new version of the OpenGL library replaces the one found in 1.x releases". *"The new version of the OpenGL library requires drivers that support OpenGL 2.0. This allows us to keep OpenGL support for desktop and Android in sync with one another. Unfortunately this means that some older cards and drivers (particularly on Linux) will not work, and that Processing 2.0 on such machines will be limited to 2D graphics". *[[http://en.wikipedia.org/wiki/Processing_%28programming_language%29|EN.Wikipedia "Processing (programming language)"]], [[http://de.wikipedia.org/wiki/Processing|EN.Wikipedia "Processing"]]. *[[http://en.wikipedia.org/wiki/Processing.js|EN.Wikipedia "Processing.js"]]. ===== Prolog ===== *The free [[http://www.swi-prolog.org/|SWI-Prolog]] for Win, Linux, MacOSX. *[[http://www.openshore.org/|OpenSHORE]], [[http://openshore.sourceforge.net/|SourceForge "OpenSHORE"]], [[http://www,sourceforge.net/projects/openshore/|SourceForge "OpenSHORE"]] - "Semantic Hypertext Object Repository". *"An XML based Semantic Document Repository (SDR) with a free definable meta model that builds up a semantic network from sections and relations in documents". *[[http://freshmeat.net/projects/openshore/|freshmeat "OpenSHORE"]] - "The repository uses PROLOG as its query language". ===== Rust ===== *[[http://www.rust-lang.org/|The Rust Programming Language]] - "A systems programming language that runs blazingly fast, prevents almost all crashes*, and eliminates data races". *Experts told me, that "Rust" is a C-alike programming language for embedded systems, while "Go" is more a high-level language like "Java". *[[http://en.wikipedia.org/wiki/Rust_%28programming_language%29|EN.Wikipedia "Rust (programming language)"]], [[https://de.wikipedia.org/wiki/Rust_(Programmiersprache)|DE.Wikipedia "Rust (Programmiersprache)"]]. ===== SPARK ===== *[[http://www.altran-praxis.com/spark.aspx|Altran Praxis "SPARK"]] - "SPARK is a programming language and a set of software development products for high assurance software. The SPARK programming language is the only language specifically designed to support the development of safety or security critical software. In combination with the SPARK toolset, SPARK prevents, detects and eliminates defects early in the lifecycle as the source code is developed. It is, effectively, the result of applying the principles of Correctness by Construction to the design of a programming language and associated verification tools". *Book [[http://www.amazon.co.uk/exec/obidos/ASIN/0321136160/hemmerling-21|John Barnes: "High Integrity Software: The SPARK Approach"]]. ===== Stack Languages ===== ==== Bitcoin Script ==== *[[http://wiki.bitcoinsv.io/index.php/Script|Bitcoin Wiki "Script"]], [[https://en.bitcoin.it/wiki/Script|Bitcoin Wiki "Script"]] - "Bitcoin uses a scripting system for transactions. Similar to Forth, Script is simple, stack-based, and processed from left to right as a series of sequential instructions. Data is pushed onto the stack and opcodes are used to perform operations on the items on the stack". *[[http://wiki.bitcoinsv.io/index.php/Opcodes_used_in_Bitcoin_Script|Bitcoin Wiki "Script"]]. *[[http://en.wikipedia.org/wiki/Bitcoin|EN.Wikipedia "Bitcoin"]], [[http://de.wikipedia.org/wiki/Bitcoin|DE.Wikipedia "Bitcoin"]] - "Transactions are defined using a Forth-like scripting language". ==== Factor ==== *[[http://www.factorcode.org/|Factor - A practical Stack Language]]. *[[http://en.wikipedia.org/wiki/Factor_(programming_language)|EN.Wikipedia "Factor (programming language)"]], [[http://de.wikipedia.org/wiki/Factor|DE.Wikipedia "Factor"]]. *[[http://www.progopedia.com/language/factor/|Progopedia - Encyclopedia of Programming Languages "Factor Programming language"]]. ==== FORTH ==== *See [[forth.html|FORTH]]. ===== Streaming Media Devices & its Programming Languages ===== *[[tvstick.html|Streaming Media Devices ( TV Sticks )]]. ===== Strict Programming Litanguage ===== ==== The Software ==== *[[http://www.github.com/strict-lang|Strict Programming Language]] - "Create well written and efficient code quickly". *Blog [[http://www.strict.dev/blog/|Strict Programming Language "Blog"]]. *[[http://www.github.com/strict-lang|GitHub "Strict"]] - "Strict Programming Language - Create well written and efficient code quickly. Strict is a simple to understand programming language that not only humans can read and understand, but also computer AI is able to read, modify and write". *[[http://www.twitter.com/strict-lang|Twitter "strict-lang"]]. *Benjamin Nitschke, Delta Engine GmbH => See [[gameengine.html|Game Engines]]. ==== Resources ==== *[[http://www.stackoverflow.com/questions/tagged/Strict|StackOverflow "Questions tagged [strict]"]] - "Mode used in languages such as Javascript and Perl to be able to code with a restricted version of those language". ===== Commercial Cross-Platform Development Systems ===== *[[http://www.adobe.com/products/air/|Adobe AIR]], [[http://www.adobe.com/de/products/air/|Adobe AIR]]. *[[http://EN.wikipedia.org/wiki/Adobe_Integrated_Runtime|EN.Wikipedia "Adobe Integrated Runtime"]], [[http://de.wikipedia.org/wiki/Adobe_Integrated_Runtime|DE.Wikipedia "Adobe Integrated Runtime"]]. *[[http://www.adobe.com/products/flex/|Adobe Flex]] - "A highly productive, free, open source framework for building expressive web applications that deploy consistently on all major browsers, desktops, and operating systems by leveraging the Adobe Flash Player and Adobe AIR runtimes". *[[http://en.wikipedia.org/wiki/Adobe_Flex|EN.Wikipedia "Adobe Flex"]]. *[[http://learn.adobe.com/wiki/display/Flex/|Adobe Learning Resources "Adobe Flex Builder 3 - Getting Started"]]. *[[http://www.haxe.org/|Haxe - The Cross-platform Toolkit]] - "Haxe is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities". *[[http://www.github.com/HaxeFoundation/|GigHub "Haxe Foundation"]]. *Blog [[http://www.haxe.io/|Haxe.io — News And Information For Haxe Developers]]. *[[http://www.twitter.com/haxelang|Twitter "Haxe, @haxelang. Official Haxe Feed"]], [[http://www.twitter.com/haxe_org|Twitter "Haxe Foundation"]]. *[[http://en.wikipedia.org/wiki/Haxe|EN.Wikipedia "Haxe"]], [[http://de.wikipedia.org/wiki/Haxe_%28Programmiersprache%29|DE.Wikipedia "Haxe (Programmiersprache)"]]. *[[http://www.runrev.com/|RunRev LiveCode]] cross development system, for Win, Linux, MacOSX, iOS, Android. *[[http://livecodeshare.runrev.com/|LiveCode Share]] - "Share, teach, learn, experiment, collaborate". *Blog [[http://livecode1001.blogspot.de/|1001 things to do with LiveCode]]. *[[http://www.facebook.com/RunRev|Facebook "RunRev"]]. *[[http://plus.google.com/101401857653951008507|Google+ "LiveCode on Google +"]]. *[[http://www.twitter.com/runrev|Twitter "RunRev"]]. *2 editions: *Community Edition Start building apps quickly, easily and FREE! *Commercial Edition. Distribute your apps. *As of 2013-12, LiveCode 6.5 does not install from Windows network drives, by the error message "Could not launch installer slave" :-(. *Xamarin -> See [[dotnet.html|Microsoft .NET Framework 1/3]]. *The commercial [[http://www.realsoftware.com/|Xojo, Inc. "Xojo"]]. *[[http://www.facebook.com/goxojo|Facebook "Xojo"]]. *[[http://plus.google.com/112353546922917725216|Google+ "Xojo"]]. *[[http://www.twitter.com/xojo|Twitter "Xojo"]]. *For Win, Linux, MacOSX and soon iOS. *Formerly: IDE "REAL Studio", with programming language "REAL BASIC" :-). ===== Education ===== *[[http://www.it-designers.de/|IT-Designers GmbH "Publikationen / Skripte"]]. *XML. *LaTeX Grundlagen. *C# Skript und Übungen. *C++ Ferienkurs 2005. *C++ Fortgeschrittenen-Kurs Teil 1. *C++ Fortgeschrittenen-Kurs Teil 2. *System-Architekturen mit .NET - Alle Unterlagen. *System-Architekturen mit .NET - Wesentliche Unterlagen. *e-commerce. *Realzeitsysteme - PEARL POSIX.4 LE/O - LYNXOS EMULATED OSEK. *Einführung in die Programmierung mit Pascal - Skript. *Einführung in die Programmierung mit Pascal - Folien. *Einführung in die Programmierung mit Pascal - Übungen. *Das OSEK-Betriebssystem Ercosek. *Design Patterns. *Einführung in die Windows-Programmierung mit MFC. *Netzmanagement. *Corba. *C++ - Grundkurs. *Smalltalk für Anfänger. *Datenbank-Seminar. *Einführung in die Systemprogrammierung unter UNIX. *Einführung in das ISO/OSI-Schichtenmodell für die Kommunikation in offenen Systemen. *[[http://www.w3schools.com/|w3schools - the world's largest web development site. educate yourself! beginners and experts]]. ===== Resources ===== *[[http://www.deitel.com/|Deitel & Associates, Inc.]]. *[[http://www.deitel.com/ResourceCenters/ViewCompleteResourceCenterList/tabid/56/Default.aspx|Deitel & Associates, Inc. - Resource Centers]]. *[[http://www.ometer.com/desktop-language.html|Havoc Pennington "Java, Mono, or C++?]], 2004-03-16. *[[http://www.stackoverflow.com/questions/194812/list-of-freely-available-programming-books|Stack Overflow "List of freely available programming books"]]. *[[http://www.stackoverflow.com/questions/1082751/what-are-the-available-interactive-languages-that-run-in-tiny-memory|StackOverflow "What are the available interactive languages that run in tiny memory?"]]. *[[http://en.wikipedia.org/wiki/List_of_compilers|EN.Wikipedia "List of compilers"]]. *[[http://en.wikipedia.org/wiki/Comparison_of_online_source_code_playgrounds|EN.Wikipedia "Comparison of online source code playgrounds"]]. ===== Forums, Newsgroups ===== *Facebook. *[[http://www.facebook.com/groups/BasicInstructionCode|Facebook "BASIC: Beginner's All-purpose Symbolic Instruction Code"]]. *[[http://www.facebook.com/golang.nuts|Facebook "Go Language"]]. *[[http://www.facebook.com/page.processing|Facebook "Processing"]]. *[[http://www.facebook.com/groups/programmingwithmeme/|Facebook "Programming with meme"]]. *[[http://www.fortranwiki.org/fortran/show/comp.lang.fortran|Fortran Wiki "comp.lang.fortran"]]. *Google. *[[http://plus.google.com/communities/109731058120269230218|Google+ Community "LiveCode Developers"]]. *[[http://plus.google.com/communities/103302587329918132234|Google+ Community "Haxe. There's a macro for that"]]. *[[http://plus.google.com/+golang/videos|Google+ "The Go Programming Language"]]. *[[http://groups.google.com/group/haxelang|Google Groups "Haxe"]]. *[[http://groups.google.com/group/comp.lang.fortran|Google Groups "comp.lang.fortran"]]. *[[http://www.cobolinfo.de/tbb/|Initiative COBOL - Forum]]. *[[http://forum.processing.org/|Processing Forum]]. *[[http://www.romeo.com/group/Programmer_Lounge|Romeo "Programmer_Lounge"]]. *[[http://forums.runrev.com/phpBB2/|RunRev Revolution Forums]]. *[[http://www.stackoverflow.com/questions/tagged/livecode|Stack Overflow Tagged Questions "livecode"]]. *Xoxo: *[[http://forum.xojo.com/|Xoxo Forums]]. *[[http://forums.realsoftware.com/|REAL Software Forum]]. -"Our forums are only accessible to our customers. Please create an account on our [[http://www.realsoftware.com/|main website]] first". -"Our forums are only accessible to our customers. Consider trying a demo of one of our products". ===== Appropriate OpenDirectory Directory Pages ===== *[[http://www.dmoz.org/Computers/Programming/Languages/|OpenDirectory "Top: Computers: Programming: Languages"]]. {{tag>"Programming Languages" "Programming Language" Platforms Platform Runtimes Runtime}}