5 ms·
This is really interesting. As far as I know there are only two servers that power the majority of public instances and both of them have weak type systems.
by Boulth 8y ago
This is really interesting. As far as I know there are only two servers that power the majority of public instances and both of them have weak type systems.
- lucian1900 8y agoGo's is not much stronger either. It hardly makes any difference.
- Thaxll 8y agoYou don't known what you're talking about, did you even bother search interface {} in the code?
- erik_seaberg 8y agoHere are methods that store and retrieve … something, probably. The author had to make up method names because map[string]interface{} doesn't have an interface we could satisfy. func (ctx *Context) SetObject(object interface{}, key string) { … } func (ctx *Context) Object(key string) interface{} { … } Here a caller has to provide a method that takes an arbitrary number of … whatever. type rowScanner interface { Scan(...interface{}) error }
- icholy 8y agoKeep telling yourself that
- kiliankoe 8y agoI assume you're referring to ejabberd (erlang) and prosody (lua)?
- Boulth 8y agoYes.
- funkaster 8y agoWhat about openfire[1]?, written in java. [1]: https://www.igniterealtime.org/projects/openfire/index.jsp https://www.igniterealtime.org/projects/openfire/index.jsp
- Boulth 8y agoI know that it exists but have never seen it in the wild. It's probably used by closed enterprises. If I was in charge there I'd use ejabberd, and Prosody if having less than 50 users.
- sam_goody 8y agoWe use Openfire, after running eJabberd for a while and having too many issues (I actually learnt some Erlang just to fix one of the bugs). We have two uses. 1. Web based per-page chat for all our logged in users, then using Candy+ejabberd/openfire, but now using a custom node socket based chat server. 2. Internal chat still on Openfire. Have thought of checking out Zulip/Mattermost et al. Never tried Prosody, and feel that xmpp never got the client thing quite right.
- ktosobcy 8y agoThere is Tigase (http://tigase.net http://tigase.net) written in Java with public instances tigase.im/sure.im
- asabil 8y agoSince when Erlang is weakly typed? It is dynamic strongly typed.
- jerf 8y agoThe type of strong typing that Erlang has is not a useful definition of the term, as the only weakly-typed language in current use would be assembler. By any other useful definition of the term, Erlang is weakly typed. Erlang + Dialyser can be read as incrementally typed, if you follow my idiosyncratic view of considering the entire programming environment in such decisions rather than just the language itself, but I don't think that's a majority viewpoint, and still doesn't yield a strongly typed language... just an incrementally typed one.
- hauleth 8y agoAs far as I know there is no way for Erlang to automatically cast between types (except numeric, but these are treated as one type with variants), so by any definition that I know it is strongly typed language. Dynamically typed, yes, but strongly. About other languages that are weakly typed in "current use": - JavaScript is still weakly typed as far as I am concerned, nothing prevents you from 0 == "" and get true value. - PHP is still weakly typed, with optional type hinting but still sometimes can bite you in the ass Erlang + Dialyser can be read as quasi-static typing, but it is still strong one.