tag:blogger.com,1999:blog-5135517.post5713395531912736265..comments2023-11-05T03:54:44.710-08:00Comments on Making it stick.: More on "stable layers" regarding efficient dynamic languagesPatrick Loganhttp://www.blogger.com/profile/02088461489050417591noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-5135517.post-27629596103243632632008-01-18T16:10:00.000-08:002008-01-18T16:10:00.000-08:00"what to study"Good question. Maybe anything to do..."what to study"<BR/><BR/>Good question. Maybe anything to do with Scheme programming and implementing Scheme. Really. At least in my experience there's nothing that helped me understand programming than what's come out of the Scheme community.<BR/><BR/>Felleisen's books and papers, including... <A HREF="http://www.htdp.org/" REL="nofollow">http://www.htdp.org/</A><BR/><BR/>Structure and Interpretation of Computer Programs... <A HREF="http://mitpress.mit.edu/sicp/" REL="nofollow">http://mitpress.mit.edu/sicp/</A><BR/><BR/>The Lambda the Ultimate papers from Guy Steele... <A HREF="http://library.readscheme.org/page1.html" REL="nofollow">http://library.readscheme.org/page1.html</A>... this is "old school scheme" and should be essential reading for programmers.<BR/><BR/>Essentials of Programming Languages... <A HREF="http://www.schemers.com/scm_bks.html#EOPL2" REL="nofollow">http://www.schemers.com/scm_bks.html#EOPL2</A>Patrick Loganhttps://www.blogger.com/profile/02088461489050417591noreply@blogger.comtag:blogger.com,1999:blog-5135517.post-92198699016890815112008-01-18T11:12:00.000-08:002008-01-18T11:12:00.000-08:00So, aside from Friedman's book, what do I need to ...So, aside from Friedman's book, what do I need to study to become the kind of programming language expert he's talking about?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5135517.post-26183392138869186912008-01-17T21:43:00.000-08:002008-01-17T21:43:00.000-08:00mm, maybe a history of languages should be a first...mm, maybe a history of languages should be a first year pre-req at uni's, there seems to be a lot of time wasted re-discovering the 70'sAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-5135517.post-22554396669610387862008-01-17T15:08:00.000-08:002008-01-17T15:08:00.000-08:00given today's "popularity view of PL history" that...<EM>given today's "popularity view of PL history" that doesn't matter somehow that much.</EM><BR/><BR/>PL history won't matter much as long as people write incorrect histories, that's for sure.<BR/><BR/>Consider UCSD Pascal when you write about byte code machines. This may be the first widely known byte code system and dates from the late 1970s. The UCSD system had its own byte code precursors.<BR/><BR/><A HREF="http://www.threedee.com/jcm/psystem/index.html" REL="nofollow">http://www.threedee.com/jcm/psystem/index.html</A>Patrick Loganhttps://www.blogger.com/profile/02088461489050417591noreply@blogger.comtag:blogger.com,1999:blog-5135517.post-74794116923758813892008-01-17T14:25:00.000-08:002008-01-17T14:25:00.000-08:00The whole idea of compiler / optimizing compiler i...The whole idea of compiler / optimizing compiler is that. Take a program written in a higher language and translate it to a lower language. The former is just a concise form of the latter, but they essentially do the same task. Up until some time ago, the only thing we could do was C/C++/Pascal to machine code. Then, we did Java/C# to byte code to machine code. Now we're seeing all kinds of languages translated to all kinds of intermediate languages, all the while increasing power and the distance between "what you write" and "what the machine actually does". <BR/>And why not? It makes tasks a whole lot easier for all people involved. The programmers starts thinking in terms of higher-order concepts (lists,macros,objects,functions of functions etc.), the compiler writer doesn't have to target 3 or 4 highly complex processor architectures (just the JVM or the C language), and the virtual machine implementer has a lot of freedom and ways to optimize his little piece of the puzzle.<BR/><BR/>PS. I've ignored some important programming languages (Lisp,Haskell etc.) from the above lists. Lisp's been doing this sort of think since before the first C compiler ever run, but given today's "popularity view of PL history" that doesn't matter somehow that much.Anonymousnoreply@blogger.com