My view on this is that while programming != CS, backend/full-stack professionals need to know both more or less. Front-end developers however, can get by on very little CS, having no clue about big-Oh, memory models, instruction sets etc. For all practical purposes, this latter category would include the large class of former VB6 programmers as well as the present day JavaScript class. I reckon most of us start out in this category on a hobby basis.
Academia however, seems to not rate actual programming very high at all. It's busy with formal proofs, exploring theoretical boundaries and trying to capture state-of-the-art in textbooks. Having said that, it's tremendously empowering being able to understand what's going on when i.e. adding an index to a database table (complexity), how an expression is evaluated (language processing), how compression works (information theory) etc. I do think that as our abstraction levels increases, CS should probably matter less and less. What do I care if Java7 now uses TimSort rather than MergeSort? All I really need to know is the basic trade-offs made within the facilities at my disposal. So I guess I kind of agree, and would recommend material such as "Pragmatic Programmer", "Code Complete" and "Clean Code" before "Linear algebra and its applications" and "Discrete mathematics and its applications". On Wednesday, May 23, 2012 8:59:02 AM UTC+2, Ido Ran wrote: > > Hi, > I am only half way on episode 385 but I did enjoy the discussion about > "what should be taught in school" which was derived from the question if > everyone should learn to program. > To say that math is the base of everything so you'll better learn math so > you can do everything has bad consequences, at least in Israel where I live. > People that do computer science degree in Israel do much more math > learning then anything else especially programming. Someone in the high > education system believe that learning math makes you much better person. > > I don't have a degree. I manage to get right into work because in Israel > we have to serve in the army and today's army rely on computer at least as > much, if not even more so, than on tanks and soldiers. I had > the opportunity to serve in unit that develop and operate an application > for the army so I got my experience and knowledge there. > > Today when I interview candidates for work I am amazed of how bad they are > at thinking about programming, let alone actually doing it. Most of them > don't understand the resone for doing object-oriented programming. Most of > them never heard or learn about design patterns. UML, sequence diagram, > architecture, database design - most of them never heard of it. > I'm not expecting everyone with CS degree to know each tool that exist and > every language there is, but I do think that learn about OO vs. functional > programming, as concept and some actual examples is much more important > than the ability to know one more concept in math. > > Ido. > -- You received this message because you are subscribed to the Google Groups "Java Posse" group. To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/H4XCSDf-YrIJ. To post to this group, send email to javaposse@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.