mirror of
https://github.com/atom/atom.git
synced 2026-01-24 06:18:03 -05:00
61 lines
2.3 KiB
Plaintext
61 lines
2.3 KiB
Plaintext
vision:
|
|
-extensible
|
|
- web technology
|
|
- built-in syntactic awareness
|
|
- github integration - can serve as a community sponsor / focal point
|
|
|
|
-real time collaboration
|
|
- github has made coding social, but it' like email
|
|
- now we can make coding social like campfire, real time
|
|
|
|
- scenario 1: (collaborating) you're on a team. in your editor you see your teammates and can effortlessly join them in their working copy
|
|
- can message someone for help, lower barrier of interruption
|
|
- fluid pairing... easily transition from soloing to working together, without unplugging keyboards or changing desks
|
|
- benefits of pivotal, digitized
|
|
|
|
- scenario 2: (learning / sharing) imagine two haskell programmers, or authors of a library you are pairing on, and allow you to come watch them... think of what you could learn from their conversation
|
|
- imagine search for commits involving the work "Riak" that are broadcast, now you see it working
|
|
- code instant replay... don't just read a commit, watch a commit
|
|
|
|
- mud vs mmorpg analogy
|
|
|
|
example:
|
|
- cascading keymaps
|
|
- command-t
|
|
- extension, example of ckm (up and down)
|
|
- vim
|
|
|
|
theory:
|
|
parsing expression grammars and doing it in real time (NS)
|
|
|
|
|
|
--------
|
|
why do we need another editor?
|
|
- ease of extensibility
|
|
- javascript / web tech
|
|
web is new lingua franca has emerged in the last decade... a common language / set of patterns for application dev
|
|
- many current extensible editors are older than us
|
|
- syntactic awareness: middle ground between vim/textmate and eclipse/intelli-j/visual studio
|
|
|
|
- collaboration
|
|
deep github integration...
|
|
github is async collaboration... this would be synchronous
|
|
|
|
replaying the actual keystrokes of code being written or a pairing session to understand why it was done that way
|
|
|
|
--------------
|
|
pair programming:
|
|
pros:
|
|
raid array for team knowledge
|
|
reduced ego, a sense of collective ownership
|
|
learning opportunity... someone can add value on day 1
|
|
explaining your thinking can make it clearer
|
|
continuous code review
|
|
|
|
cons:
|
|
handcuffed to your pair because you're using one computer
|
|
friction between starting and stopping
|
|
simple/wrote tasks might not need a pair, but how do you transition between pairing and soloing?
|
|
same physical location at the same time
|
|
|