{"id":36,"date":"2009-12-15T01:01:52","date_gmt":"2009-12-14T17:01:52","guid":{"rendered":"http:\/\/www.hawkwithwind.net\/blog\/?p=36"},"modified":"2009-12-15T01:16:52","modified_gmt":"2009-12-14T17:16:52","slug":"lippams-talk-first-5min","status":"publish","type":"post","link":"https:\/\/www.hawkwithwind.net\/blog\/2009\/12\/15\/lippams-talk-first-5min\/","title":{"rendered":"Lippam&#8217;s talk, first 5min"},"content":{"rendered":"<p style=\"text-align: left;\">Today we will talk about ways of thinking about programming languages that i hope you find it&#8217;s interesting. Since it is relatively informal, feel free to ask questions as we go if you like otherwise you can go and all ask the\u00a0questions later.<\/p>\n<p style=\"text-align: left;\">The image here is how actually I&#8217;d like to think about programming. Here in the middle I think projected two <span style=\"color: #888888;\">imaginal<\/span> is real statical in the programming. It&#8217;s the <span style=\"color: #888888;\">elemence<\/span> that you think you understand the program and the code and you do that on your computer terminal and\u00a0you write your code. It&#8217;s really\u00a0separated\u00a0from the runtime of the program. So you do the best of you can imagining how\u00a0the application should work. but its all that in your code that it&#8217;s really not going to change once it actualy executed. It&#8217;s a very static way of doing execution.<\/p>\n<p style=\"text-align: left;\">\n<figure id=\"attachment_40\" aria-describedby=\"caption-attachment-40\" style=\"width: 468px\" class=\"wp-caption aligncenter\"><a rel=\"attachment wp-att-40\" href=\"http:\/\/www.hawkwithwind.net\/blog\/2009\/12\/15\/lippams-talk-first-5min\/lippmanstalkinjiading\/\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-40\" title=\"lippmansTalkinJiading\" src=\"http:\/\/www.hawkwithwind.net\/blog\/wp-content\/uploads\/2009\/12\/lippmansTalkinJiading.jpg\" alt=\"Lippman's talk in Jiading\" width=\"468\" height=\"442\" srcset=\"https:\/\/www.hawkwithwind.net\/blog\/wp-content\/uploads\/2009\/12\/lippmansTalkinJiading.jpg 468w, https:\/\/www.hawkwithwind.net\/blog\/wp-content\/uploads\/2009\/12\/lippmansTalkinJiading-300x283.jpg 300w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/a><figcaption id=\"caption-attachment-40\" class=\"wp-caption-text\">Lippman&#39;s talk in Jiading<\/figcaption><\/figure>\n<p style=\"text-align: left;\">Then you have to work dynamic aspects of the programming. Those little\u00a0alligators coming all of the program really of the character of the runtime. They go and they use their little movements\u00a0and they go back to program. And that is more going dynamic aspects of the programming, and more interesting, but also\u00a0more difficult, because those things are moving around. So you see aspects of code you know runtime and the internet that\u00a0dynamic and more interesting in a way, and you can interact with the <span style=\"color: #888888;\">plasticsmatical<\/span> programing ability to generate code\u00a0at runtime. but it&#8217;s much slower and more challenging to be able to come that way.\u00a0.NET is trying to do that. Java has the\u00a0semantic <span style=\"color: #888888;\">specs <span style=\"color: #000000;\">in fact<\/span><\/span><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;\">.<\/span><\/span><\/p>\n<p style=\"text-align: left;\">In c++ we \u00a0basicaly donging the part that is rejected. that&#8217;s the two imagional code. It&#8217;s staticaly runs very fast. so the static program doesn&#8217;t really look like that exciting is what the runtime machine\u00a0runs really fast, and they fly the alligators and they think they&#8217;d like to get to. but its hard to know how to do that\u00a0in the time <span style=\"color: #888888;\">frank<\/span>. That let us get the result fast enough.<\/p>\n<p style=\"text-align: left;\">So a lot of more people is trying to do is geting the alligators walking around, and find out what it&#8217;s thinking trying\u00a0to keep them fed and played. But a lot more actually hasn&#8217;t be done waiting for you actually run you program is not much you can do about it. So when you see in c++ program really there is nothing you can find out about program when it&#8217;s executed. You can find out\u00a0the machine. You can always break through a c++ program and get access to the registers and memory. But you can&#8217;t really get access to the runtime. There is no way of doing that. We invented in c++, the ideas of runtime programming and meta programming and finding out about the code and \u00a0generating\u00a0code. That really was feasible.\u00a0In the late of the last ten years or so, you know .NET and java is in a movement that\u00a0try to have more dynamic language. But problem is that they runs very slow and nobody is quite sure how to do it.<\/p>\n<p style=\"text-align: left;\">So in the sense we have transition that you keep just entering into in terms of programing because what we really like to be able to do is to have programs <span style=\"color: #888888;\">bodyfy<\/span> and change themselves as the behavoir of the\u00a0program goes to look more like living things, if you will. And I think it&#8217;s where the programming has to move but we don&#8217;t quite have to do it fast enough time\u00a0in order to get the results or something in <span style=\"color: #888888;\">cooking<\/span>.<\/p>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">today we will talk about ways of thinking about programming languages that i hope you find it&#8217;s interesting.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">since it is relatively informal feel free to ask questions as we go if you like otherwise you can go and all ask the<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">questions later.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">the image here is how actually I&#8217;d like to think about programming.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">here in the middle i think projected two &#8220;imagional&#8221; is the very statical in the programming<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">it&#8217;s the &#8220;elamence&#8221; that you think you understand the program and the code and you do that on your computer terminal and<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">you write your code.it&#8217;s really seperated from the runtime of the program. So you do the best of you can imagining how<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">the application should work. but its all that in your code that it&#8217;s really not going to change once it actualy executed.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">it&#8217;s a very static way of doing execution. then you have to work dynamic aspects of the programming.those little<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">alligators coming all of the program really of the character of the runtime. they go and they use their little movements<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">and they go back to program. and that is more going dynamic aspects of the programming,and more interesting. but also<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">more difficult because those things are moving around. so you see aspects of code you know runtime and the internet that<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">dynamic and more interesting in a way. and you can interact with the &#8220;platismatical&#8221; programing ability to generate code<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">at runtime. but it&#8217;s much slower and more challenging to be able to come that way.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">.NET is trying to do that.java has the &#8220;synmatics specs&#8221; in fact.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">in c++ we \u00a0basicaly donging the part that is rejected. that&#8217;s the two imagional code.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">it&#8217;s staticaly runs very fast. so the static program doesn&#8217;t really look like that exciting is what the runtime machine<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">runs really fast and the &#8220;fly the alligators&#8221; and they think they&#8217;d like to get to. but its hard to know how to do that<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">in the time frank.that let us get the result fast enough.ok.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">so a lot of more people is trying to do is geting the alligators walking around. and find out what it&#8217;s thinking trying<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">to keep them fed and played.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">but a lot more actually hasn&#8217;t be done waiting for you actually run you program is not much you can do about it.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">so when you see in c++ program really there is nothing you can find out about program when it&#8217;s executed.you can find out<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">the machine.you can always break through a c++ program and get access to the registers and memory.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">but you can&#8217;t really get access to the runtime.there is no way of doing that.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">we invented in c++, the ideas of runtime programming and meta programming and finding out about the code and \u00a0generating<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">code.that really was &#8220;feasible&#8221;. in the late of the last ten years or so, you know .NET and java is in a movement that<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">try to have more dynamic language. but problem is that they runs very slow. and nobody is quite sure how to do it.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">so in the sense we have transation that you keep just entering into in terms of programing<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">because what we really like to be able to do is to have programs bodyfy and change themselves as the behavoir of the<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">program goes to look more like living things, if you will.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">and I think it&#8217;s where the programming has to move but we don&#8217;t quite have to do it fast enough time<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">in order to get the results or something in &#8220;cookin&#8221;.<\/div>\n<blockquote><p><em>\u7531\u4e8e\u524d\u9762\u7684\u51e0\u5206\u949f\u6ca1\u6709PPT\u8bf4\u660e\uff0c\u542c\u8d77\u6765\u6709\u70b9\u8d39\u52b2\uff0c\u53c8\u662f\u6bd4\u8f83\u91cd\u8981\u7684\u5f00\u573a\u767d\u90e8\u5206\uff0c\u5c31\u51d1\u5408\u7740\u641e\u4e2a\u5b57\u5e55\u3002\u3002\u4e0d\u8fc7\u5b9e\u5728\u662f\u542c\u529b\u6709\u9650\u5355\u8bcd\u91cf\u6709\u9650\uff0c\u5c24\u5176\u662f\u7070\u8272\u90e8\u5206\u5c31\u662f\u4e0d\u77e5\u9053\u4e86\u628a\u53d1\u97f3\u4e71\u6807\u5728\u90a3\u91cc\u3002\u51d1\u5408\u53ef\u4ee5\u770b\u770b\u5c31\u662f\u4e86\u3002<\/em><\/p>\n<p><em>\u4ed6\u540e\u9762\u5c31\u7531\u6b64\u5f15\u8d77\u8bed\u8a00\u7684\u53d1\u5c55\u5386\u7a0b\u4e86\uff0c\u6700\u540e\u52a0\u4e0a\u5bf9\u672a\u6765\u8bed\u8a00\u7684\u731c\u6d4b\u3002<\/em><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Today we will talk about ways of thinking about programming languages that i hope you find it&#8217;s interesting. Since it is relatively informal, feel free to ask questions as we go if you like otherwise you can go and all ask the\u00a0questions later. The image here is how actually I&#8217;d like to think about programming. &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[12],"class_list":["post-36","post","type-post","status-publish","format-standard","hentry","category-note","tag-talk-and-paper"],"_links":{"self":[{"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/posts\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":9,"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"predecessor-version":[{"id":46,"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/posts\/36\/revisions\/46"}],"wp:attachment":[{"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hawkwithwind.net\/blog\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}