欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Erlang/Elixir精选-第5期(20200106)

程序员文章站 2022-06-09 21:01:21
The forgotten ideas in computer science-Joe Armestrong ......

the forgotten ideas in computer science-joe armestrong

在2020年的第一期里面,一起回顾2018年joe的 the forgotten ideas in computer science。在40多分钟里面总结了他精挑的个人最佳list.
强烈建议配合着视频回看❤️❤️❤️❤️❤️


part 1 motivation

最初只是想想了解计算机科学中那些forgotten ideas,后来变成了想知道silly ideas,hot research topics,bad ideas...然后就想做个人列表排行。

as with our colleges, so with a hundred "modern improvements”; there is an illusion about them; there is not always a positive advance ... our inventions are wont to be pretty toys, which distract our attention from serious things.
henry david thoreauwalden (1854)

how to make a list

  • collect lots of items easy
  • assign to lists difficult
  • shorten the lists to n items (n is small) very difficultthrowing things away is much more difficult than collecting things - but what’s left is better.

part 2 things to learn

essential guide to cs

  • 80 things in 18 categories(some old, some new, some forgotten)
  • pix and mix
  • not all equally importanti’ll talk about the most important oneslater
  • 2 great papers to read
  • 4 old tools to learn
  • 4 really bad things
  • 3 great books to read
  • 7 reasons why software is difficult now
  • 10 reasons why software was easier back in the day
  • 1 fun programming exercise
  • 8 great machines from the past
  • 3 performance improvements
  • 5+ youtube videos to watch
  • 6 things not to do
  • 5 sins
  • 4 languages to learn
  • 4 great forgotten ideas
  • 6 areas to research
  • 2 dangers
  • 4 ideas that are obvious now but strange at first
  • 2 fantastic programs to try

2 great papers to read

4 old tools to learn

  • emacs (vi)
  • bash
  • make
  • shell

4 really bad things

  • lack of privacy
  • attempts to manipulate us through social media
  • vendor lock in
  • terms and conditions

3 great books to read

7 reasons why software is difficult now

  • fast machines
  • huge memory
  • hundreds of pls
  • distributed
  • huge programs
  • no specifications
  • reuse

10 reasons why software was easier back in the day

  • small machines
  • small memory
  • few languages
  • not distributed
  • no reuse of code
  • no xcode etc
  • no git.
  • complete control
  • did not communicate
  • understandable in it’s entirety

8 great machines from the past

3 performance improvements

  • better algorithms ( x 6) (interpreter -> compiler)
  • better programming language (x50) (prolog -> c)
  • better hardware (x1000 per 10 years)

5+ youtube videos to watch

6 things not to do

  • backdoors
  • violate privacy
  • put microphones in everybody's houses
  • hijack our attention system
  • hijack our social systems
  • sell crap that we don’t want or need

5 sins

  • crap documentation
  • crap website
  • crap dependencies
  • crap build instructions
  • group think

4 languages to learn

  • c
  • prolog
  • erlang
  • javascript

great forgotten ideas

pipes :the output of my program should be the input to your program a | b | c
text-flows across the boundary, killed by gui sand apps.


part 3 important noncomputer science things

learn to write

a program with excellent documentation is not going to go anywhere

3 rules at work

  • if you get a bad boss move immediately do not try to change your boss
  • the relationship comes first (jane walerud)
  • engage with managementjust because they do not understand what you are saying is no reason not to talk to them - and whose fault is it anyway (that they don’t understand you)

7 distractions

  • open plan offices
  • the latest stuff
  • twitter/facebook (social media)
  • notifications (turn ‘em off)
  • links (don’t click on them)
  • ban scrum etc.
  • we can only do one thing at a time our brains are terribly bad at context switching

6 ways to get your boss to

  • do things that gain trust
  • tell success stories
  • reduce fear of failure
  • introduce on a small scale - for a part of the problem
  • network with erlang folks
  • make a prototype at home

1 thing to look for when applying for a new job

look at their balance sheeta company with a positive cash flow and increasing profits is good to work for - a company that makes a loss is not good to work for

3 general laws

  • software complexity grows with time (because we build on old stuff)
  • bad code crowds out good (gresham’s law) bad money drives out good (clipping)
  • bad code contaminates good code

part 4 important half forgotten big ideas

things can be small

  • forth os 24 kb
  • forth compiler 12kb
  • ibm pc dos < 640kb
  • uscd pascal
  • turbo pascal
  • turbo c

the old truths

  • keep it simple
  • make it small
  • make it correct
  • fight complexity

learning

  • kids can learn computing
  • oaps can learn computing
  • everybody can learn computing it was easy to learn basic back in the 80’s sowhy is it more difficult now?

part 5 what we can do

  • unbreak the webmake it read/write symmetric
  • bring computation to the edge network
  • ensure that all personal data is owned by the individual and not by large corporations
  • make computing easy again
  • build apps so they can communicate with each other

a program that is not secure and cannot be remotely controlled should not be written.


个人感受

感觉老爷子是一个聪明(智慧)且非常有激情的人,乐于分享。恨不得在这40分钟内把所有的技术积累、人生经验都能分享给大家。老一辈也有信息过载的焦虑,可能感受到他对现代人对社交平台的过度依赖的担心。中间一大段对tiddlywiki的推荐和joe把自己的博客主页全部变成tiddlywiki,让我花了2小时在去官网上下载体验了一把,但是给人的感觉是上世纪的东西,我想这也是它不火,特别小众的原因吧。看样子几乎没有人用。官网例子也是几年前。


Erlang/Elixir精选-第5期(20200106)
投稿或推荐,精选每周一发布,同步更新在,。