├── .github
└── ISSUE_TEMPLATE
│ └── custom.md
├── LICENSE
└── README.md
/.github/ISSUE_TEMPLATE/custom.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Custom issue template
3 | about: Describe this issue template's purpose here.
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Vahid Næini
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # How to Start Conversation With A Developer
2 |
3 | _A List of Popular/Controversial Topics_
4 |
5 | ## Contents
6 |
7 | * [On Coding Styles](#on-coding-styles)
8 | * [On Editor Wars](#on-editor-wars)
9 | * [On Programming Languages](#on-programming-languages)
10 | * [On Their Prefrences](#on-their-prefrences)
11 | * [On Advanced Concepts of Programming Languages](#on-advanced-concepts-of-programming-languages)
12 |
13 | ### On Coding Styles
14 |
15 |
16 | [image source](https://pics.me.me/tabs-not-spaces-how-to-get-attention-29408384.png)
17 |
18 | * the classic debate on `tab` or `space`
19 | * usage
20 |
21 | ```
22 | ice-breaker : can you believe there's a bunch of people out there telling "tab"
23 | is better than "space"? that's insane!
24 | victim (developer): yeah, that's unbeliveable! Even if ... (the conversation continues...)
25 | ```
26 |
27 |
28 |
29 | * arguing about naming conventions
30 |
31 | * usage
32 |
33 | ```
34 | ice-breaker : camel case is awesome but have you ever tried fUckIng cAsE? it looks intresting.
35 | victim (developer): yes, good idea, it prettify the code and... (the conversation continues...)
36 | ```
37 |
38 |
39 |
40 | ------------------------------------------
41 |
42 |
43 |
44 | ### On Editor Wars
45 |
46 |
47 |
48 | [image source](https://imgs.xkcd.com/comics/real_programmers.png)
49 |
50 | * real programmers use `(emacs | vim | vscode | atom | nano )`
51 | * usage 1
52 | ```
53 | ice-breaker : You are using emacs dude! Amazing
54 | victim (developer): yeah, , you know what, emacs is the god of editors.
55 | not compareable to anything else, ....
56 | ```
57 | * usage 2
58 | ```
59 | A: {vscode, atom, vim} is not even an editor, you know?
60 | ```
61 |
62 |
63 |
64 | --------------------------------------------------------------
65 |
66 |
67 |
68 | ### On Programming Languages
69 |
70 | * ask if they love or hate `javascript`
71 | * usage
72 | ```
73 | ice-breaker : javascript is a good thing, but it would be great if there was <...>
74 | victim (developer): < Guaranteed to initiate a conversation,
75 | the type response, well, depends on victim's attitude toward js >
76 | ```
77 |
78 | * usage 2
79 |
80 | ```
81 | A: C-sharp is nothing but a microsoft-ish implementation of java
82 | ```
83 |
84 | * usage 3
85 |
86 | ```
87 | A: python is so much convenient and easy to read&write but it is all based on C
88 | ```
89 |
90 |
91 |
92 |
93 | -------------------------------------------------
94 |
95 |
96 |
97 | ### On Their Prefrences
98 |
99 | * favorite desktop enviorment (linux users)
100 | * usage
101 | ```
102 | A: canonical's unity desktop was a good thing, but it's all X's
103 | fault that they had to use gnome destop
104 | B: ...
105 | ```
106 | * usage 2
107 | ```
108 | A: xfce is the best, why you even need a fancy desktop enviornment?
109 | ```
110 |
111 | * linux distro prefrences
112 | * usage
113 | ```
114 | A: arch is better than debian
115 | ```
116 |
117 | * type of language prefrences
118 |
119 | * usage
120 | ```
121 | A: OOP sucks, functional programming is the right way of writing codes
122 | ```
123 |
124 |
125 |
126 | -----------------------------------------------
127 |
128 |
129 |
130 | ### On Advanced Concepts of Programming Languages
131 |
132 | * Object Oriented Programming
133 |
134 | * multiple inheritance
135 | ```
136 | A: multiple inheritence is awful. I don't recommand it!
137 | ```
138 |
139 | * Design Patterns
140 | * usage 1:
141 | ```
142 | A: design patterns are real pain dude! it slaughters the creativity.
143 | ```
144 |
145 | * Architectural Concepts and Project Structure
146 | * usage 1:
147 | ```
148 | A: I'd rather prefer to define two separate type of classes in my project
149 | one of them is just a data-model and the other one will be responsible
150 | for operational things, say, load(), get() , ...
151 | ```
152 |
--------------------------------------------------------------------------------