tag:blogger.com,1999:blog-11788780.post5422632807765993144..comments2023-12-29T13:22:33.104-08:00Comments on JJinuxLand: Haskell or Erlang?jjinuxhttp://www.blogger.com/profile/03270879497119114175noreply@blogger.comBlogger65125tag:blogger.com,1999:blog-11788780.post-23732357437369255912016-06-10T09:49:32.823-07:002016-06-10T09:49:32.823-07:00Go with Haskell for all the points mentioned above...Go with Haskell for all the points mentioned above and this link: https://news.ycombinator.com/item?id=2413816 !<br /><br />Erlang's optimization is mostly implementation/hardware based (vm included, etc) - not much of the language itself (Haskell being purely functional), except for the fact that it has been the first to be used on telcos and concurrent systems. Eventually given time, correctness will triumph just as with Python.<br /><br />Facebook uses Erlang not because they like to, but they need to - and that Erlang/OTP is a proven platform for concurrency. With Moore's law on technology, and Gall's law on correctness - I think evolution favors Haskell.<br />- Gee LeeAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-64653656175392532352012-04-10T07:30:18.257-07:002012-04-10T07:30:18.257-07:00You should think also to the number and the qualit...You should think also to the number and the quality of libraries available in both the languages.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-46865621008784759882011-12-07T01:11:51.363-08:002011-12-07T01:11:51.363-08:00I would recommend Erlang. It's simple, dynamic...I would recommend Erlang. It's simple, dynamic typed. You don't need to declare enumerates. And it has so many libraries to use. From small to huge project you can use it.Alex Wenhttps://www.blogger.com/profile/08142436122300085252noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-6782049310157981232010-08-07T07:23:55.400-07:002010-08-07T07:23:55.400-07:00Unfortunately erlang is dog slow. If you don't...Unfortunately erlang is <b>dog slow</b>. If you don't want contribute to global warming, haskell or scala is the right choice ;)<br />hxxp://shootout.alioth.debian.org/u64q/performance.php?test=spectralnormAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-42776160738475518772010-06-01T04:23:46.819-07:002010-06-01T04:23:46.819-07:00Try Rebol (http://www.rebol.com)Try Rebol (http://www.rebol.com)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-48871203654132571832010-02-01T21:48:58.669-08:002010-02-01T21:48:58.669-08:00> Erlang is so simple that learning it can hard...> Erlang is so simple that learning it can hardly count as much work<br /><br />I actually know Erlang at that level. I just don't know all the OTP stuff, and I'm not at the level where I could call myself an expert.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-66410608571102568822010-01-23T22:20:17.127-08:002010-01-23T22:20:17.127-08:00Erlang is so simple that learning it can hardly co...Erlang is so simple that learning it can hardly count as much work - you'll probably need a week or so to learn the language thoroughly. Learning all the details of OTP takes slightly more work, of course, but that's not something you need immediately, so you can do that on the side. So there is really no reason why you shouldn't be able to do both, and apply whichever is most appropriate in the given situation.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-8789018777703359882009-12-05T15:36:03.584-08:002009-12-05T15:36:03.584-08:00BTW, anonymous, are you the guy who works at Choic...BTW, anonymous, are you the guy who works at Choice Vendor?jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-88459072480805319522009-12-05T15:33:56.444-08:002009-12-05T15:33:56.444-08:00I agree with everything except "full of bugs&...I agree with everything except "full of bugs". Try coding ActionScript with the open source Flex SDK--that's what I call full of bugs! ;)<br /><br />Python is what it is. I can still *think* in Python faster than in any other language. Perhaps it's lack of experience, but it generally takes me three times as much thinking to get the same amount of work done in Haskell. However, I still think Haskell is amazing.<br /><br />By the way, have you read: http://jjinux.blogspot.com/2008/05/bipolar-lisp-programmer.htmljjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-5266289135658540892009-12-02T08:58:45.753-08:002009-12-02T08:58:45.753-08:00Python is very slow, and full of bugs; I mean, it ...Python is very slow, and full of bugs; I mean, it compiles programs to pyc without a single warning; when one try to run the program, s/he gets garbage --- again, without a single warning; sometimes the same program runs correctly in one version, and produces garbage in another; garbage or correct values, everything is very slow. Besides this, Python does not have any of the modern productivity tools, like, type checking with type inference, pattern match, tail call optimization, etc. I am not fond of Haskell, but I recognize that (1) The compiler was written in Haskell, and has very few bugs; this means that Haskell is productive and safe; (2) Haskell is fast enough; I define fast enough when code runs from 3 to 2 times slower than C; for number crunch applications, Python is about 100 times slower than Common Lisp or Scheme, and 150 times slower than C (I used large wheather forecast programs to reach this conclusion); a program that runs in 8 minuter in Common Lisp takes two days and a half in Python, and 20 minutes in Haskell. (3) Haskell deals quite well with symbolic computation; this means that it runs from 3 to 5 times slower than Common Lisp; a genetic programming system in Python runs from 200 to 300 times slower than in Common Lisp.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-3391678169833129702009-11-27T21:55:24.316-08:002009-11-27T21:55:24.316-08:00Unfortunately, I didn't get a chance to code i...Unfortunately, I didn't get a chance to code in Prolog in college.<br /><br />I think it's fair to say that Prolog itself has weird syntax since it's simply an objective fact that languages with C-like syntax are orders of magnitude more popular. Personally, I prefer Python's syntax ;)<br /><br />However, on the subject of Prolog, I've been coding in Oz lately, and Oz was heavily inspired by Prolog. Neat stuff!<br /><br />Thanks for the comment, btw.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-29209708781259414112009-11-27T21:50:22.602-08:002009-11-27T21:50:22.602-08:00I guess you are not that accustom to Erlang syntax...I guess you are not that accustom to Erlang syntax is becouse you have no experiance of Prolog. <br />If you look at http://www.sics.se/~joe/pubs.html for the paper "Use of prolog for developing a new programming language.<br />J. L. Armstrong, S. R. Virding and M. C. Williams The Practical Application of Prolog" "<br />You will know a little bit more about where Erlang comes from. A fun paper, wich I might use later :)<br />(Yes, Joe Armstrong is one of the main architectur of Erlang. And yes, Prolog is a great langugage)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-78705943534587537852009-09-09T08:18:25.294-07:002009-09-09T08:18:25.294-07:00FalconPL could be a great alternative since it'...FalconPL could be a great alternative since it's multi-paradigm and multithreading. And one feature very interesting is its C dynamic library interface which allows to load and use directly a C shared module on the host system (they're working over C++).<br /><br />http://falconpl.org/index.ftd?page_id=factsAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-90168937004887403132009-07-09T18:25:11.457-07:002009-07-09T18:25:11.457-07:00I also think that Scala is an interesting option. ...I also think that Scala is an interesting option. The Twitter guys made a pretty compelling argument for why Scala is a better option than Erlang. Since Scala runs on the JVM and has access to its libraries, it's probably easier to bootstrap into production. However, I don't think Scala has a lot of the stuff that's present in Erlang/OTP. In the short term, I have to focus on some down-to-earth Rails stuff. In the longer term, I'm hoping to finish "Concepts, Techniques, and Models of Computer Programming" because it's applicable to Erlang, Haskell, and Scala. If I actually had to do some programming such as a highly-concurrent network server, I'd probably give Scala a shot.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-666727812948803652009-07-08T15:16:17.344-07:002009-07-08T15:16:17.344-07:00Very interesting discussion.
I'm a Python hac...Very interesting discussion.<br /><br />I'm a Python hacker. I started reading Real World Haskell in May. Looking into a chat application to use with Django, I bumped into the fact that Facebook's chat application is written in Erlang. So now I'm fretting about Erlang too. What makes it worse is that Programming Erlang looks like a really good book (I think RWH is a very good book deep down, but it could have done with another six months preparation and proof-editing).<br /><br />It looks like I'll be learning Erlang after reading this discussion.<br /><br />Best wishes<br /><br />IvanAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-79368488869171490242009-04-07T19:02:00.000-07:002009-04-07T19:02:00.000-07:00Yep. So far I'm loving the book, and I'm loving O...Yep. So far I'm loving the book, and I'm loving Oz. Compared to Haskell, Oz doesn't have an ML type system (it's more like Lisp), and it doesn't perform as well. However, I really like the whole multi-paradigm thing. That's one of the reasons why I like Python so much.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-5254959703420540862009-04-06T12:57:00.000-07:002009-04-06T12:57:00.000-07:00Great reading (all the comments), been having the ...Great reading (all the comments), been having the same dilemma (started to read RWH recently).<BR/><BR/>You have mentioned that you bought CTM, so other obvious choice is (not mentioned so far?) Mozart Oz? :) - the language of the book.Martin Krauskopfhttps://www.blogger.com/profile/05004938333753666861noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-23498894704009921972009-03-20T09:00:00.000-07:002009-03-20T09:00:00.000-07:00The shootout benchmarks you are looking appear to ...The shootout benchmarks you are looking appear to be out of date. It says "Most recent measurement: late 2007" on this page <BR/>http://shootout.alioth.debian.org/debian/<BR/>Try starting from this page <BR/>http://shootout.alioth.debian.org/<BR/>and look at the Ubuntu measurements.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-51677525701896911782009-03-12T16:12:00.000-07:002009-03-12T16:12:00.000-07:00I am/kind of was in a similar situation. I like Py...I am/kind of was in a similar situation. I like Python a lot but want to learn a more functional language. To be honest, Erlang never really got me very excited simply because it looks so strange (though I'm sure it looks less strange once you program in it a lot...kind of like Lisp, supposedly). So I guess that made it an easy choice for me. I just got my copy of RWH today, but since I'm in grad school, I doubt I can give feedback on it in a timely manner.<BR/><BR/>Though, I do plan on learning Erlang later on. To me, I guess practicality doesn't come into play much since my research is on the OOPL side, rather than FPL. I have no need (as of now) to write uncomfortably parallel programs, so I figure it's better to learn Haskell, which seems to be more elegant than other FPLs (obviously IMHO), before diving into the world of concurrency, which is totally exciting...on its own.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-12931205956929268512009-03-11T22:28:00.000-07:002009-03-11T22:28:00.000-07:00> It is currently possible, at least at a proto...> It is currently possible, at least at a prototype-level, write an app for Android with Clojure.<BR/><BR/>Travis, thanks for the update.<BR/><BR/>You heard it folks! If you want the latest news on Clojure, look no further than the comments on my blog ;)jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-31957704299835334282009-03-11T22:27:00.000-07:002009-03-11T22:27:00.000-07:00> Erlang, because if you want friendlier syntax...> Erlang, because if you want friendlier syntax you can use Reia<BR/><BR/>I'm watching Reia, but it's definitely not ready for production yet. As cool as it is, it's still at the experimental stage, imho.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-5014026374191279252009-03-11T17:03:00.000-07:002009-03-11T17:03:00.000-07:00It is currently possible, at least at a prototype-...It is currently possible, at least at a prototype-level, write an app for Android with Clojure. I should have made an announcement on the clojure mailing list or something. Rich Hickey helped me through some issues in both Clojure core and in my code and I ported a hello world application from Java to Clojure:<BR/><BR/>http://github.com/Nafai77/helloandroid/tree/master<BR/><BR/>I haven't had the time to do more than that app. I've verified that it runs in the emulator and on an actual physical device, but it is really slow to start up -- like on the order of 10s or something.<BR/><BR/>I'm not sure if anyone has pursued things beyond this, as I haven't had time to focus on Android development at all.Travis B. Hartwellhttps://www.blogger.com/profile/14257705377375376921noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-81505180873721238752009-03-11T16:21:00.000-07:002009-03-11T16:21:00.000-07:00Erlang, because if you want friendlier syntax you ...Erlang, because if you want friendlier syntax you can use <A HREF="http://erlanginside.com/reia-brings-scripting-to-erlang-34" REL="nofollow">Reia</A>erlang_blogshttps://www.blogger.com/profile/06425349722454570869noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-16016211567297911072009-03-11T16:00:00.000-07:002009-03-11T16:00:00.000-07:00This choice seems rather clear to me, if you want ...This choice seems rather clear to me, if you want to program highly concurrent, fault-tolerant well-scaling applications, where uptime is mission critical (code swapping, OTP etc!) use erlang. For everything else, Haskell is probably just as good. Granted, the Haskell syntax is much sweeter, but it always seemed a bit more academical than practical to me, and erlang also has great syntactical features (look at the binary pattern matching, for instance!). Also, I think the BEAM VM erlang uses is very interesting and has a lot of (yet) unused potential. Transaction based memory is a joke, imho, as long as its not going to be implemented on the hardware side, and it still doesn't really solve your concurrency problems - imho the way erlang does parallelisation really is the way to go here.<BR/>Someone should port Haskell to BEAM :DAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-82626445124438034152009-03-07T01:57:00.000-08:002009-03-07T01:57:00.000-08:00"Alice ML is a functional programming language bas..."Alice ML is a functional programming language based on Standard ML, extended<BR/>with rich support for concurrent, distributed, and constraint programming.<BR/>Alice ML extends Standard ML with several new features."<BR/><BR/>It has libraries for GTK, SQL, XML, etc.<BR/><BR/>It uses a VM with a JIT.<BR/><BR/>It sounds to me like an Erlang'ish version of ML. I must admit that I like the syntax better than Erlang ;)jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.com