Pike Programming Language

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • Pike

    Pike is a dynamic programming language with a syntax similar to Java and C. It is simple to learn, does not require long compilation passes and has powerful built-in data types allowing simple and really fast data manipulation. (by pikelang)

    https://github.com/pikelang/Pike/blob/master/src/modules/Ino...

    I guess it is more of packaging issue of using pike in that manner, perhaps this is something for the pikers to explore. Could be a great way to revitalize the language, the world could need a embedded strictly typed C like dynamic language.

  • gopl.io

    Example programs from "The Go Programming Language"

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • Wren

    The Wren Programming Language. Wren is a small, fast, class-based concurrent scripting language.

    Take a look at Wren if you want a similar looking embeddable scripting language. It was created by Bob Nystrom (who now works in Dart). It’s a lovely language.

    [1]: https://wren.io

  • sTeam

    the key value for me is that i can replace compiled code at runtime. this allows to build large long running systems that can be changed without needing to restart. this is a feature that comes out of LPC which was designed for online games where it was necessary to add new content and fix bugs while the game was running since the developers of the game were the advanced players themselves.

    roxen uses that to allow reloading modules. the way it works there is that any currently active instances keep running with the old version, but new instances get the new version. since modules are freshly instantiated for each http request this works very well.

    there is also open-sTeam which went a step further to use proxy objects, that is, any sTeam object is a proxy to the actual pike object, so my code will only reference sTeam objects which allows the pike objects in the background to be replaced without my code needing to update the object reference because the proxy handles that behind the scenes.

    open-sTeam is not actively developed anymore by its original developers, but there is a copy of it here: https://gitlab.com/societyserver/sTeam and i still maintain and use it for myself. (i have added a half-assed REST API so i can do modern web development with it. (realss.com is an example of that. i can connect to sTeam using vi to update the text content and custom code (which is stored inside sTeam as source too))

    besides in pike and LPC i have only seen the ability to update code at runtime in smalltalk and lisp. i am not aware of any other language offering something like that.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts