flowchart TD
A[Why do you want to learn programming?] -- Fun --> B[Simplicity or Efficiency?];
B -- Simplicity --> C[Is portability important?];
C -- Yes --> D{JS};
C -- No --> E[Aesthetics or Clearness?];
E -- Aesthetics --> F{Ruby};
E -- Clearness --> G[Ease or Versatility?];
G -- Ease --> H{Python};
G -- Versatility --> I{Lua};
B -- Efficiency --> J[Portability or Speed?];
J -- Portability --> K{C};
J -- Speed --> L{Rust};
A -- School --> M[Functions or Classes?];
M -- Functions --> N{C#};
M -- Classes --> O{Java};
A -- Project --> P[Functional or Array programming?];
P -- Both --> Q[Willing to pay?];
Q -- Yes --> R{MATLAB};
Q -- No --> S{R};
P -- Array --> T[Simplicity or Efficiency?];
T -- Simplicity --> U{BQN};
T -- Efficiency --> V{APL};
P -- Functional / Don't Know --> W[Platform];
A -- Work --> X[Want to work with hardware or firmware?];
X -- No --> W;
X -- Yes --> Z[Want to code low-level?];
Z -- No --> AA[Ease or Versatility?];
AA -- Ease --> O;
AA -- Versatility --> AB{C++};
Z -- Yes --> AC[Want to program Arduino-based components?];
AC -- No --> AD[Ease or speed?];
AD -- Ease --> AE[Portability or Versatility?];
AE -- Portability --> K;
AE -- Versatility --> AF{GO};
AD -- Speed --> AG[Simplicity or Speed?];
AG -- Speed --> AH{ASM};
AG -- Simplicity --> L;
AC -- Yes --> AI{INO};
W -- Multiple --> O;
W -- Mobile --> Y[Android or iPhone?];
Y -- Both --> AJ{Dart};
Y -- Android --> AK[Community and libraries or Modernism?];
AK -- Community and libraries --> O;
AK -- Modernism --> AL{Kotlin};
Y -- iPhone --> AM[Simplicity or Versatility?]
AM -- Simplicity --> AN{Swift};
AM -- Versatility --> AO{Obj-C};
W -- Low-level --> AC;
W -- Computation --> Q;
W -- Gaming --> AP[Is easy portability important?];
AP -- Yes --> O;
AP -- No --> AQ[Functions or Classes?]
AQ -- Classes --> AB;
AQ -- Functions --> AR[Static or Dynamic typing?];
AR -- Static --> N;
AR -- Dynamic --> AS{Scala};
W -- Dev tools --> AT[Script or Package?];
AT -- Script --> AU[OS];
AT -- Package --> H;
W -- Files and servers --> AU;
AU -- Custom --> L;
AU -- Arduino --> AI;
AU -- DB --> AV[Text manipulation or Simplicity?];
AV -- Text manipulation --> AW{Perl};
AV -- Simplicity --> AX{SQL};
AU -- Linux/Mac --> AY{Bash};
AU -- DOS --> AZ{Batch};
AU -- Multiple --> BA{Docker};
AU -- Windows --> BB[Simplicity or Versatility?];
BB -- Simplicity --> AZ;
BB -- Versatility --> BC{PS};
W -- Web --> BD[Backend or Frontend?];
BD -- Wasm --> AG;
BD -- DB --> AV;
BD -- Fullstack --> D;
BD -- Backend --> BE[Maintainability or Simplicity?];
BE -- Simplicity --> D;
BE -- Maintainability --> BF[Framework or Embed?];
BF -- Framework --> F;
BF -- Embed --> BG{PHP};
BD -- Frontend --> BH[Styling or Scripting?];
BH -- Styling --> BI[Readability and simplicity or Versatility?];
BI -- Readability and simplicity --> BJ{Sass};
BI -- Versatility --> BK{CSS};
BH -- Scripting --> BL[Classes and type checking or Functional programming?];
BL -- Classes and type checking --> BM{TS};
BL -- Functional programming --> D;
Created
March 2, 2022 11:49
-
-
Save donno2048/37c1af260e6ced1db4fb4ba9baaa3638 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment