Added draft directory
This commit is contained in:
parent
47c76d20fb
commit
0cd587b3ca
60
src/drafts/professional-lessons-and-opinions.draft.org
Normal file
60
src/drafts/professional-lessons-and-opinions.draft.org
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
#+TITLE: Professional Lessons and Opinions
|
||||||
|
#+AUTHOR: Yann Esposito
|
||||||
|
#+EMAIL: yann.esposito@gmail.com
|
||||||
|
#+DATE: 2019-07-04
|
||||||
|
#+KEYWORDS: programming, blog, org-mode
|
||||||
|
#+DESCRIPTION: Different divagations about my experiences in the professional world of Software Developper
|
||||||
|
|
||||||
|
#+begin_comment
|
||||||
|
How to choose a programming language/paradigm to write with.
|
||||||
|
|
||||||
|
- programming is about making the program do what you want it to do.
|
||||||
|
- not much told, lot harder, and not as natural/intuitive; a program should not
|
||||||
|
do something you do not want it to do.
|
||||||
|
|
||||||
|
|
||||||
|
- programming paradigms, functional is superior because it better fit all
|
||||||
|
real-life scenarios.
|
||||||
|
- in Machine Learning, Kolmogorov complexity. Object Oriented is worse than
|
||||||
|
Functional programming to represent naturally many real life problems.
|
||||||
|
|
||||||
|
What did I learned? Is it a set of specific knowledges or can we discover great
|
||||||
|
common principles?
|
||||||
|
|
||||||
|
- restart from zero, tabula rasa, what is programming?
|
||||||
|
#+end_comment
|
||||||
|
|
||||||
|
I could talk to much about that.
|
||||||
|
But a few short written down lessons.
|
||||||
|
|
||||||
|
If you want to reach productivity and not necessarily enlightenment.
|
||||||
|
You have to stop learning and use what you know well.
|
||||||
|
And do not try to use things you don't know.
|
||||||
|
|
||||||
|
In particular, most programming languages/ide/workflow/utils/tools have basic
|
||||||
|
and advanced features.
|
||||||
|
If want want to produce and deliver in time. Your best bet is to limit yourselve to
|
||||||
|
a minimal set of features that give you enough power of combination instead of
|
||||||
|
looking for a super generic strong solution.
|
||||||
|
|
||||||
|
Clojure for example has:
|
||||||
|
|
||||||
|
- functions
|
||||||
|
- higher-level functions
|
||||||
|
- destructuring
|
||||||
|
- defmethods
|
||||||
|
- protocols
|
||||||
|
- macros
|
||||||
|
- atoms, agents, core.async
|
||||||
|
- Java FFI
|
||||||
|
|
||||||
|
In fact, writing a fully working app you only need, basic data structure (edn) and functions.
|
||||||
|
|
||||||
|
That's it.
|
||||||
|
|
||||||
|
I was part of a team that created an advanced full featured app using only those.
|
||||||
|
No magic, just taking care of the state and not writting spaggethi code.
|
||||||
|
|
||||||
|
* How I choose
|
||||||
|
- Functional programming is superior to imperative and object oriented
|
||||||
|
languages
|
Loading…
Reference in a new issue