If you're a student, check out our project ideas here: https://github.com/beamcommunity/beamcommunity.github.com/wi...
859 karma · joined August 20, 2009
If you're a student, check out our project ideas here: https://github.com/beamcommunity/beamcommunity.github.com/wi...
[1]: http://www.kickstarter.com/projects/1397300529/railsapp/post...
Perhaps if you also view the issues Clojure addresses in Java to be mostly superficial, but I have to politely disagree.
> The language has its quirks, but that mostly fades once you're neck-deep in code.
Respectfully, I would argue that the quirks aren't made apparent until you're neck-deep in code. That's when it really becomes painful.
Quite right. When criticizing Erlang, I make it a point to always specify Erlang the language and never Erlang the ecosystem.
> Elixir it seems very easily can call Erlang functions. I don't know about vice-versa though.
It's trivially easy.
> Now with the records, yes, there has been talk about adding "frames" (the equivalent of dictionaries or hash tables in other languages). The developers are thinking about it and I believe in release after the next or the one after that we might see that.
Yep, and as soon as frames are in Erlang we can begin utilizing them in Elixir too for things like pattern matching within the hash structure. The great thing about Elixir is that we don't have to wait for the OTP developers to implement features that developers want.
// If datePassed is true
else if ( datePassed === true ) {
Yes, very well documented. >.>In practice, you may find that your Elixir code is even faster than the equivalent code you might write in Erlang. Elixir encourages some things like compiling some logic into your modules. For example, Dynamo compiles routes so they're super fast. String.Unicode is compiled from the UnicodeData.txt database itself[1].
[1]: https://github.com/elixir-lang/elixir/blob/master/lib/elixir...
It's staggering how fun and easy it is to code in Elixir while leveraging the Erlang platform.
We have mix (http://elixir-lang.org/getting_started/mix.html) that is very much inspired by leiningen.
If you like records, we have dynamic records with pattern matching and now exrecord (https://github.com/yrashk/exrecord) for record upgrades.
# SQL ORM Missive:
#
# Don't use models to automatically generate schemas. After iterating several
# times with SQLAlchemy (and nearly every other ORM from frameworks both long
# since dead and still trendy), to get a schema "just right" requires
# entirely too much fiddling in the ORM. My hard earned lesson: SQL is the
# right dialect to describe your database's structure (read: do not use an
# ORM to generate DDL). Other than portability, what's the advantage of
# describing your schema in SQLAlchemy?
#
# For as fantastic as SQLAlchemy is, using SQLAlchemy to generate schema is
# the equivalent of giving yourself a lobotomy while in the middle of
# attempting to write a Pulitzer Prize article. Why handicap yourself? Use
# SQLAlchemy for what it excels at: generating efficient SQL based on
# mappings between Python classes and database tables. Manually generated
# schema results in a few extra lines of code in a tiny number of files, but
# it goes a long ways towards clarity, predictability and
# explicitness. Automatic schema migrations, you say? l2dba or gtfo.
#
# Re: PostgreSQL vs other RDBMS'es. Here's another piece of hard earned
# knowledge from my last 14yrs of dorking with countless websites and
# databases: portability to other relational databases is a straw man
# argument. PostgreSQL is faster, more stable, the most standards conformant
# relational database, is ridiculously feature rich and cheaper to operate
# than its alternatives (both in terms of operations and efficiency on
# hardware), and that's the short list of reasons. If you are building a
# website, I am unable to produce a single fact based, data driven argument
# to use MySQL[1]. Hiring? Training? Replication? Feh, that's FUD. Please
# stop perpetrating harm on your own organization and applications by
# succumbing to unfounded beliefs and lemmingism.
#
# [1] There are three situations where I would use a different relational
# database. The first two situations are: 1) if my target hosting platform
# did not support SystemV shared memory, or 2) I am architecting something
# for an embedded or mobile device. In the former case, I'd change hosting
# providers or would fire my system administrator, and in the latter, I'd use
# SQLite. What's the third case? The answer is DB2, but what's the question?
I wish I had read this comment 2 years ago.