6 ms·
Elixir School
- siscia 9y agoIt is a while I don't code in elixir however when I was learning the complex part definitely wasn't the one in this course. The complex part is to start to think about decompose a big problem into smaller problems solvable by different Erlang modules. When to spawn another process or when to re architecture the code. Really great work but I would go a little bit ahead and add some more specific Elixir/Erlang part. Also what really really helped me was to understand how a GenServer was written, it may be worthed to make the student write its own limited version of a GenServer...
- seanhandley 9y agoI heartily recommend Dave Thomas' Elixir book from Prag Prog.
- lostcolony 9y agoYeah, the difference between "this is suitable for a library (that is then called from within the context of someone else's process)" and "this is suitable to be its own process (that is called via message passing)" is something that takes a while to fully grok from an architectural perspective.
- doomspork 9y agoHowdy @siscia! When I wrote Elixir School the intention was never to be a full fledged tutorial or to "hand hold". The purpose of the site is to get you familiar with the topics, wet your appetite, and enable you to go out and learn more on your own.
- siscia 9y agoIt works perfectly for that :) It is a good work, really! I was just trying to provide some useful feedback :)
- doomspork 9y agoNo worries, much appreciated :) We're working hard on some big changes this year including additional lessons and a blog. The blog will allow us to cover topics and material that don't fit well without our current lessons. Check back!
- GordonS 9y agoSorry to be that guy, but it's "whet your appetite"
- TheAceOfHearts 9y agoI've been toying on and off with Elixir for a while now, and generally found it to be a fun language. You hear good things about Erlang's design, but the lack of familiarity lowers its approachability. On the other hand, Elixir is a much easier sell, since it's like a functional-Ruby. One of the many nice thing about Elixir is Mix, the default build tool. Since everyone is using the same tools for config, dependency management, tasks, etc. you can find your way around new projects very quickly. It's a great time to pick up Elixir if you're looking to build a web app. Phoenix released 1.3.0 [0] a few days back. The project structure changes along with Ecto 2.0 seem like a good step in the right direction, helping you separate the domain model from the persistence layer, and group related features together. My biggest complaint with Phoenix is that they don't treat JavaScript as a first-class citizen. But as long as you're just writing small scripts to glue stuff together, it's probably fine to avoid writing tests. They've also gone with Brunch as their build tool, while I'd prefer Webpack for most cases. Although I recognize both have their use-cases. Umbrella project support was also added to Phoenix in the latest release, so you can embrace the monolith while still breaking stuff up when it makes sense. I'd be interested in reading other's experiences with umbrella projects, as I haven't had any good use-cases, so I've only been able to speculate on the matter. [0] http://phoenixframework.org/blog/phoenix-1-3-0-released http://phoenixframework.org/blog/phoenix-1-3-0-released
- fabian2k 9y agoI played around with Phoenix a bit a while ago, and it wasn't actually difficult to integrate webpack. There are a bunch of posts around the web on how to do that, and I found it pretty straightforward. So while you get Brunch out of the box, if you already know a different build system, you don't have to switch.
- vim_wannabe 9y agoBasically the only integration with Brunch is these two lines[0] that come with the default template, along with the .js files. Just switch those bad boys out to whatever tool you want, make sure the tool outputs to the directory Phoenix wants and you are good to go! [0] https://github.com/phoenixframework/phoenix/blob/20e2826587b25227e107a83fbb56ce7f4d0c731f/installer/templates/phx_single/config/dev.exs#L14-L15 https://github.com/phoenixframework/phoenix/blob/20e2826587b...
- _virtu 9y agoI've been really enjoying the pragmatic studio series as well. I highly recommend it if you're looking into getting into Elixir.
- jeffrand 9y agoI read through this a little while ago when trying to decide if I should try out Elixir for a side project. The language is really intriguing, but I don't want to start a project without grokking how a more complicated project is laid out. Can anyone provide an open source example of a relatively complex project?
- adam_seeliger 9y agoPhoenix https://github.com/phoenixframework/phoenix https://github.com/phoenixframework/phoenix Ecto https://github.com/elixir-ecto/ecto https://github.com/elixir-ecto/ecto
- quaunaut 9y agoPhoenix will lay it out automatically for you, but changing project layout depending on the requirements of your objectives is really common in the community. However, one prominent example, is Hex.pm, the site behind the package manager for Elixir. You can find its repo here: https://github.com/hexpm/hexpm https://github.com/hexpm/hexpm
- doomspork 9y agoThe biggest open source project I know of is: https://github.com/bigardone/phoenix-trello https://github.com/bigardone/phoenix-trello I'm working with a couple other contributors to Elixir School on new material that will go into more detail with regards to designing more involved applications. I agree that resource is sorely missing from the Elixir community.
- beckler 9y agoThis is the most complicated one I've seen. https://github.com/thechangelog/changelog.com https://github.com/thechangelog/changelog.com It's basically like a custom version of wordpress built for https://changelog.com https://changelog.com
- dmoreno 9y agoI'm doing a fairly complex one, Serverboards[1]. It is a monitoring, administration and automation framework. And so far without Elixir it would have taken me four times more to develop the backend. Anyway it does not use Phoenix (the most beloved web framework), but a simple Web server based on Cowboy and JSON-RPC via websockets, so it may not be a canonical example. [1]. https://github.com/serverboards/serverboards/ https://github.com/serverboards/serverboards/
- rhgraysonii 9y agoContributor here. Happy to answer any specific questions or address feedback.
- doomspork 9y agoThanks for all of your help @rhgraysonii! Elixir School wouldn't be what it is without all of the contributors and translators :)
- doomspork 9y agoWow! Awesome to see Elixir School here. I'm the creator, happy to answer any questions or listen to feedback! We've got a lot of big things coming this year. A whole new site, new lessons, and a few exciting new additions.
- Xeoncross 9y agoVery functional site. It's easy to read and I already was several pages into learning Elixir!
- doomspork 9y agoThank you! Any and all feedback is welcomed too! If you see anything that needs improvement please feel free to submit a PR.
- Xeoncross 9y agoDoes elixir only have 'int'? In that intro section I'd like to see mention of 8, 16, 24, 32, 64, and 128 bit ints/complex (if they exist). Nothing big, just mention that they exist and I won't have to abandon the language for higher maths.
- doomspork 9y agoHi Xeoncross! Elixir does have floats, we should make mention of them. If you'd like to submit a PR we'd happily accept :)
- Xeoncross 9y agoNo, not 32, 64, 128 bit floats/doubles (though I'm glad it has those as well). I meant plain ints. Do I have to do binary math or can I make use of large numbers natively?
- arvinsim 9y ago> Very functional site. I see what you did there. On topic, this is a great resource. I used this as my primary learning tool back when I was just starting to learn Elixir.
- Dirlewanger 9y agoExcellent resource. Both this and the amazingly thorough official guide/documentation got me over the initial hump of learning Elixir.
- doomspork 9y agoThank you Dirlewanger! Let us know if there's any improvements you'd like to see.
- jmcgough 9y agoElixir School is great, as well as elixir's hexdocs.
- doomspork 9y agoThank you for the kind words jmcgough!
- jmcgough 9y agoOf course, and thank you for all of the work you've done. I'd love more than anything for Elixir to take off so there's more Elixir jobs out there, and educating developers is a key part of making the language more popular. I used ElixirSchool a lot (and still do now) while I was ramping up on the language, great job with it!
- deathtrader666 9y agoI wonder what is the added value on Elixir School, when it clearly looks like the same content is rehashed from the elixir-lang website..