Advertisement
amigojapan

reply to Martin's criticism dfraft

Mar 25th, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. Reply to M.W. to a criticism of my course:
  2. pont one, javas parsing of:
  3. Example:
  4. IF (x ( f ) && y ( f )) THEN <action>
  5. =======================
  6. IF (x ( f )) THEN
  7. IF (y ( f )) THEN <action>
  8. END IF
  9. END IF
  10. =======================
  11. IF (y ( f)) THEN
  12. IF (x ( f )) THEN <action>
  13. END IF
  14. END IF
  15.  
  16. part two, "functional programming is what everyone uses now"
  17.  
  18. I just wanted to tell you that even tho a computer may not process if(f(a)&&f(b)){} the same because of optimisations, in the higher abstraction which is Java(just java cause mentioned it) we still think of an if as a branch, it does not matter what goes on under the hood unless we are talking about that, what he is thinking about is more for a language implementation program…. also, functional programming is not yet the main way to program everything. and not everyone has the ability to think mathematically , some of us find it easier to think procedurally…. that is why languages like Scala are not forcing us to do things the functional way, they allow for both…and most languages still use a procedural method of building a program. you mentioned OOP, but OOP is just a way to mix data and the functions that handle that data, it is still procedural… finally there is Functional programming, which may be called less procedural I guess and which may be the future and present of many programming languages…. you said everybody uses this, but that is far from true… look at the source code of the Linux Kernel and you will be hard pressed to find any functional programming there I bet….and even languages that support functional programming sill usually support procedural programming and procedural programming is alive and well,,,,, I could easily find you examples on github of modern code that is procedural and could be represented in flowcharts…. most web pages are coded in JS which is single threaded except for webworkers.
  19.  
  20. Also, I am pretty familiar with modern programming educational tools, and I don’t know very many that teach functional programming to kids…. for that you need a strong mathematical background which we don’t all have, and say 8 year old kids definitely don’t have… things like scratch and code "hour of code” are fun to use unlike Udacity which is more boring (cause it is more “studying” than playing games, and those all use totally procedural methods of programming… I am just trying to get kids and adults to be able to follow such languages more easily even before they start with them...
  21.  
  22.  
  23. teaching in countries with ought computers.
  24. with my book I expect it to be used in areas of the world that don’t yet have any computers, like some areas of India and Mexico, that is why I am writing it in 3 languages and someone already promised to translate it to Hindi language when it is finished… I will distribute it for free to poor people…
  25.  
  26.  
  27. ideas on the Udacity course you linked:
  28. parallelism is not a priority for people that are just starting to program, instead of that they should see programs that generate fun results to keep them interested, that is why things like the hour of code are good. they don’t focus on theory…
  29. this course uses C as first programming language , I can’t see how children could possibly follow it… and even some adults will be lost, C should never be the first language taught.
  30. -there is a for loop in the Udacity code, my flowcharts explain for loops even before you ever write one….you can’t expect non programmers to just look at a for loop and understand it…
  31. and also this means, you do need to know procedural programming after all
  32.  
  33. the video starts off easy enough , explaining that threads are like many chickens digging a hole. but it quickly gets to point where absolutely no child could solve it.... and also as the video mentions "the kernels are written the same as normal imperative code", so you need to know how imperative code works in order to understand this video.
  34.  
  35. I watched the videos of lesson 1, and while it was pretty interesting and probably helpful for someone like me that is already a programmer, I don't think they are well made for someone that does not even have the fundamentals of imperative programming, let alone children.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement