Hacker Newsnew | past | comments | ask | show | jobs | submit | Kelet's commentslogin

Hmm – I'm working on some Windows API manipulations to provide a framework to make `macro scripts` (similar to AutHotKey or AutoIt), and in a few weeks I'll be looking to implement a scripting language. I've checked out LuaJIT, Lua 5.3, Lua w/Terra, AngelCode, Python, et al. and they all seem to have their faults. I actually need a language that supports both proper threading and co-routines, to respond to user-based key hooking (and good stuff like timers). This seems like it may be a good candidate, I don't mind contributing either. Bookmarked.


Do you happen to know if the preview release of Gosu for Java 8 also supports IDEA 13?

Edit: Just tried it, doesn't seem to work yet. Hope this is coming down the pipeline soon.


Sorry, it does not, unfortunately. We are working on IDEA 13 support but for now our plug-in supports only IDEA 12.


My apologies for the preemptive publicity then, I didn't realize the state of the project. I just found it on Wikipedia when looking at JVM languages and thought it had some interesting aspects.


Not at all! Stuff like this just makes it easier for the Gosu group at Guidewire to advocate for more open source resources, so thank you!


I'm fairly new to the language, as it hasn't been mentioned much since it's public release several years ago. The language takes many queues from Ruby; for example, "enhancements" are similar to monkey patching in Ruby. The syntax, semantics, and standard library (especially in collections) are also familiar.

e.g.:

Ruby

[1, 2, 3].map { |x| 2 * x }

Gosu

{1, 2, 3}.map (\x -> 2 * x)

Unlike Ruby, Gosu provides a static type system which includes type inference and structural typing (similar to Go's interfaces). It also includes an open type system (http://devblog.guidewire.com/2010/11/18/gosus-secret-sauce-t...), which allows first-class representations of user created types at compile time – no code generation is needed. F# programmers would find many similarities between Gosu's open type system and F#'s type providers.

Like most JVM languages, you can leverage Java compatibility to use all of the third-party libraries you want. Compared to Scala, Gosu tends to eschew complexity for simplicity and pragmatism. Their implementation of generics is a good example of this.

And of course, Gosu just has a lot of features that make it enjoyable to work with. Such as the null-safe invocation operator (?.), elvis operator (?:), type variable reification, terse syntax, etc.


I'm sorry... My only thought is "yet another JVM language that I won't ever get to use". Because if I have a project that is new, I'm using Ruby until I need a clojure/go back-end or something. If I have an old project in java, I doubt I'll adopt a new language. Hell it's already hard enough to get people to use Scala, and it has tons of benefits over vanilla Java.

Clojure, Scala, Klotlin, Groovy, JRuby, and now Gosu... I don't know... I'd love to at least see these sites compare themselves to other languages. Like why Gosu vs Klotlin when Klotlin was already worked on by JetBrains and afaik used for the development of their IDEs...


Yeah, the JVM alternative language space is pretty crowded. Gosu does have a few advantages, though.

One big one is that it is in commercial use at many of the largest companies in the world thanks to its Guidewire heritage. That means that it is going to be continually developed and that its success isn't dependent on immediate uptake.

Another is that most other alternative JVM languages are either dynamic or more complicated than Java, whereas Gosu is still statically typed but is (arguably) simpler than Java in many ways.

But, yes, it's a crowded space and I can understand skepticism.


> Clojure, Scala, Klotlin, Groovy, JRuby, and now Gosu

Gosu is older than those others, except JRuby. That should be Kotlin without an L. And you left out Jython, and Ceylon from JBoss. The recent Nashorn from Oracle will probably take over from Rhino, which you also omitted, and maybe from one or two other JVM languages. Then there's Beanshell, the original "inspiration" for Groovy.


s/queues/cues/


An interesting read for someone interested in the performance characteristics of STM.

Atomic Quake: Using Transactional Memory in an Interactive Multiplayer Game Server

(pdf warning) http://www.bscmsrc.eu/sites/default/files/atomicquake-ppopp0...


> Realtime edition with Github collaborators

editing?


Thanks, fixed.



I've been using Baretorrent for a while now. It's a great torrent client if you don't need a lot of features such as automatic RSS downloading, although technically there is a plugin system if one did want to implement that :). It's worth noting that there is a small bug regarding duplicate torrent entries in the current version that may or may not effect you[1]. It is easily avoidable and soon to be fixed. The author of the software is very responsive on his forums if you have feature requests or encounter any bugs.

[1] http://baretorrent.org/forum/thread.html?id=40


Since there are a lot of suggestions here, I'd like to add my personal favorite: http://baretorrent.org/

While it does not have all of the features of more heavy torrent clients, it does have a plugin system - although not many plugins exist yet. It's cross-platform, open source, and pretty light. The author has good priorities and is conscious about issues such as privacy, and having good installers that aren't bundled with questionable content.


That actually looks really nice! Thanks for bringing this up, Kelet.

Ubuntu/Linux support too which is always nice to see!


Great update. I never cared to sign up for Gravatar as it's now owned by WordPress, but it was a minor annoyance that I was not identifiable by my avatar.


You could run your own with libravatar: https://www.libravatar.org/


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: