Over the past 30 years we have been moving up from Assembly code...to Scala.
Do programmers need to understand quantum mechanics to program? I don't think so, programmers don't need to know assembly either. In computer science history, each new language development helped us do more by forcing us to do less. In the lowest level, 'the heap', all data as Global and the only data type is 'byte'. So with assembly languages you can do anything.. Procedural languages such as C added simple data types and encouraged us to package state changes into functions. Object oriented languages encouraged us to limit the number of states by chunking data into objects. Ruby and Java helped object oriented programming by adding a lot of 'context' to the language and cutting back on boiler plate code vs C++. Now 'functional programming' further encourages us to package chunks of states that go into and out of functions and reduce immutable state. Is the long run, will we reduce all mutable state accessible by the programmer? I'm guessing in the future I think programmers will be moving abstract concepts around around in 3d and a Google App engine will turn it into gigabytes of assembly code. What do people think is needed most right now for the next generation of languages? All my current programming problems involve dependent states...such as keeping track of the sum of a list of orders, and doing this with 3 or 4 levels of dependancy. Also working with vertical problems, getting a simple function result normally, but having some objects reach up much higher in the dependency stack when errors occur. Some of the really cool Scala features help out with these types of problems, list functions like .foldLeft and .foreach and take a layer of complexity out of some problems. I think us human programmers can only think efficiently in 2D and the more the languages takes out the multi-dimensional complexity out the more we can do. -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
