Python developers

Iniziamo. È gratuito!
o registrati con il tuo indirizzo email
Python developers da Mind Map: Python developers

1. Python virtues critique

1.1. Beautiful is better than ugly

1.1.1. Ruby emphasizes more Elegance

1.1.1.1. syntax that reduces clutter

1.1.1.2. makes it closer to natural language

1.2. Explicit is better than implicit

1.2.1. thinks it's wrong

1.2.1.1. "implicit is better than explicit"

1.3. ..

1.4. There should be 1 & preferrably only 1 way to do it

1.4.1. Ruby like Perl prefers having many ways

1.4.2. Rails tho says there's a recommended way

1.4.2.1. & it's difficult to do it otherwise

2. Q&A

2.1. What else is written in Ruby besides Rails

2.1.1. Puppet

2.1.2. Micro frameworks

2.1.2.1. Sinatra

2.1.3. Rake

2.1.3.1. like make but in Ruby

2.1.4. Capistrano

2.1.4.1. like fabric

2.1.5. build tools for Java

3. gem

3.1. just works

3.2. e.g.

3.2.1. sudo gem install astrails-safe

3.3. repos

3.3.1. Rubyforge

3.3.1.1. 8K gems

3.3.2. GutHub

3.3.2.1. 7K gems

3.3.3. GemCutter

3.3.3.1. same

3.4. if you're looking for something, someone probably did it

3.5. Python has more libraries

3.5.1. due to legacy

4. Programming Languages

4.1. Lisp at the top

4.2. Python & Ruby very similar

4.2.1. Ruby is a step ahead of Python

4.3. Erlang better for concurrenct computation

4.4. mentions

4.4.1. Paul Graham's concept of Blah language paradox

4.5. indentation

4.5.1. likes Python's

4.5.2. thinks it created antagonism that hurted adoption

5. Blocks

5.1. like lambda but supporting also statements

5.2. enables creating DSL's that non-programmers can understand & even modify

5.3. e.g.

5.3.1. Untitled

5.3.2. x_times(10, lambda {|x| puts x})

5.3.2.1. or using shortcut

5.3.2.1.1. x_times(10) {|x| puts x}

5.4. useful for nested blocks

5.4.1. looks more like configuration file

5.5. enables functionality similar to macro's e,g, in Lisp

5.5.1. thos less effective - lousy performance

6. Monkey patching

6.1. Unlike Python, Ruby allows & encourages it

6.1.1. e.g.

6.1.1.1. 3.megabytes

6.1.1.1.1. => 3145728

6.1.1.2. [audience critique]

6.1.1.2.1. hard to trace where is it implemented

6.1.1.2.2. hard to maintain

6.1.1.3. 10.monthes.from_now

6.1.1.4. 5.minutes.ago.utc

6.2. enables creating beautiful DSL's

6.2.1. useful for readable unit-testing

6.2.1.1. Untitled

7. DSL's

7.1. not requiring paranthesis, makes the code much less cluttered, & similar to very readable configuration file

7.2. example

7.2.1. code of Astrails-safe

7.2.1.1. looks like config file

7.2.1.2. indeed very readable

7.2.2. Untitled

8. Elegance

8.1. close to english as much as possible

9. Magic

9.1. doesn't agree with

9.1.1. explicit is better than implicit

9.1.1.1. if so, write in Java

9.1.1.1.1. Java requires IDE, while dynamic languages can be edited in Notepad without a problem

10. Title

10.1. Ruby Magic

10.1.1. why is it awesome

10.1.1.1. contrary to Python common thinking

11. Method missing

11.1. If method not found, an event occurs that you can implement

11.2. e.g.

11.2.1. User:find_by_company("Astrails")

11.2.2. f.flickr.activity.userPhotos('timeframe' => '10d')

11.3. works by levels

11.4. used daily, to extend objects with methods

11.4.1. creates very readable code

11.5. exists in Python too

11.5.1. taken from SmallTalk