Added draft directory
This commit is contained in:
parent
47c76d20fb
commit
0cd587b3ca
|
@ -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 New Issue