Re: [jug-discussion] next language to learn?
With the proliferation of multi-core processors, I'd say Erlang, or any other language that makes programming multi-threaded or parallel processing applications easier than it has been. -- Bill Barr - Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase.
Re: [jug-discussion] next language to learn?
I'm putting in a second for Erlang. I looked at it a bit back, but I'm still waiting for a time to take it further. (I really want a proof of concept on something at work, but I think I'll wait for a few more months to present it...) On 6/19/07, Art Gramlich [EMAIL PROTECTED] wrote: So I'll pick up a few that no one has really mentioned yet. Erlang - You should at least work through the tutorial for it (and if you haven't seen it watch the video where they do live updates to the system). The concurrency model is truly amazing, and I haven't seen anything like it. It has changed how I've looked at threading in other applications. Smalltalk - I think (but many will disagree) that smalltalk has the best syntax out there and it truly treats everything as an object. I'm less pleased with the actual environments out there though. I was hoping that strongtalk would be moving ahead a little faster :-). Also, Seaside really is incredible for a traditional web application. On Jun 17, 2007, at 7:18 PM, Warner Onstine wrote: Hi all, I've posted up a little thing on my blog about what should be my next language, feel free to chime in (there or here). http://www.warneronstine.com/blog/articles/2007/06/17/next-language- to-learn -warner Warner Onstine - Programmer/Author New book on Tapestry 4! Tapestry 101 available at http://sourcebeat.com/books/ tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
On 6/20/07, eric biesterfeld [EMAIL PROTECTED] wrote: I'm putting in a second for Erlang. I looked at it a bit back, but I'm still waiting for a time to take it further. (I really want a proof of concept on something at work, but I think I'll wait for a few more months to present it...) Just rewrite your PBX. Didn't you see the video? It's easy! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
On 6/18/07, Thomas Hicks [EMAIL PROTECTED] wrote: 3) Structure and Interpretation of Computer Programs (2ed) by Harold Abelson and Gerald Jay Sussman. Not really *about* Scheme, uses Scheme for CS concepts. This is available online (free): http://mitpress.mit.edu/sicp/full-text/book/book.html Plus video lectures of Abelson Sussman: http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/
Re: [jug-discussion] next language to learn?
Wow, fantastic...thanks Andrew. And thanks to Bashar for the JScheme reference also. Here are some other Scheme references that might be useful: Kawa: Scheme on top of Java VM: http://www.gnu.org/software/kawa/Features.html Schemers.org: which is an improper list of Scheme resources (nerd joke) http://www.schemers.org/ SISC Scheme: a FULL R5RS implementation (unlike Kawa and JScheme) http://sisc-scheme.org/ PLT Scheme: implementations of Scheme for learning (similar to BlueJay for Java) http://www.plt-scheme.org/ related link: online Scheme book How To Design Programs (which uses PLT) http://www.htdp.org/ related link: Schematic Cookbook (cookbook Wiki with recipes for Scheme) http://schemecookbook.org/ SLIB: portable Scheme library for standard Schemes (this page also has immediate reference to a dozen other Scheme implementations). http://swissnet.ai.mit.edu/~jaffer/SLIB Well, that should be enough to keep you busy...;) regards -tom At 11:32 PM 6/18/2007, you wrote: On 6/18/07, Thomas Hicks mailto:[EMAIL PROTECTED][EMAIL PROTECTED] wrote: 3) Structure and Interpretation of Computer Programs (2ed) by Harold Abelson and Gerald Jay Sussman. Not really *about* Scheme, uses Scheme for CS concepts. This is available online (free): http://mitpress.mit.edu/sicp/full-text/book/book.htmlhttp://mitpress.mit.edu/sicp/full-text/book/book.html Plus video lectures of Abelson Sussman: http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
On 6/19/07, Art Gramlich [EMAIL PROTECTED] wrote: Erlang - You should at least work through the tutorial for it (and if you haven't seen it watch the video where they do live updates to the system). I think you mean this: http://video.google.com/videoplay?docid=-5830318882717959520 It's hilarious - like programming meets Monty Python. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
At 10:08 AM 6/19/2007, you wrote: On 6/19/07, Art Gramlich [EMAIL PROTECTED] wrote: Erlang - You should at least work through the tutorial for it (and if you haven't seen it watch the video where they do live updates to the system). I think you mean this: http://video.google.com/videoplay?docid=-5830318882717959520 It's hilarious - like programming meets Monty Python. Oh, my gawd!this has got to be a deliberate jokeit couldn't be this bad by accidentcould it? The production values are atrocious; the dialog is horrible; everyone is speaking in slow motion, stuttering, screwing up their lines; but, worst of all, you learn next-to-nothing about Erlang! It's not a collision with Monty Pythonit's a collision with those educational filmstripes from the 50's. -t - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
Yup. That's it. On Jun 19, 2007, at 10:08 AM, Chad Woolley wrote: On 6/19/07, Art Gramlich [EMAIL PROTECTED] wrote: Erlang - You should at least work through the tutorial for it (and if you haven't seen it watch the video where they do live updates to the system). I think you mean this: http://video.google.com/videoplay?docid=-5830318882717959520 It's hilarious - like programming meets Monty Python. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature
Re: [jug-discussion] next language to learn?
Since processors will be multiplying instead of speeding up in the future, I think erlang or something similar has got a lot of potential. Having the language handle multithreading for you is huge, given how hard it is in other languages. On 6/19/07, Thomas Hicks [EMAIL PROTECTED] wrote: At 10:08 AM 6/19/2007, you wrote: On 6/19/07, Art Gramlich [EMAIL PROTECTED] wrote: Erlang - You should at least work through the tutorial for it (and if you haven't seen it watch the video where they do live updates to the system). I think you mean this: http://video.google.com/videoplay?docid=-5830318882717959520 It's hilarious - like programming meets Monty Python. Oh, my gawd!this has got to be a deliberate jokeit couldn't be this bad by accidentcould it? The production values are atrocious; the dialog is horrible; everyone is speaking in slow motion, stuttering, screwing up their lines; but, worst of all, you learn next-to-nothing about Erlang! It's not a collision with Monty Pythonit's a collision with those educational filmstripes from the 50's. -t - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
Also, because of the message passing and functional nature, you don't have to worry about locking resources between the processes (threads). Makes a whole class of issues go away (and introduces a few other ones). On Jun 19, 2007, at 12:21 PM, Chad Woolley wrote: Since processors will be multiplying instead of speeding up in the future, I think erlang or something similar has got a lot of potential. Having the language handle multithreading for you is huge, given how hard it is in other languages. On 6/19/07, Thomas Hicks [EMAIL PROTECTED] wrote: At 10:08 AM 6/19/2007, you wrote: On 6/19/07, Art Gramlich [EMAIL PROTECTED] wrote: Erlang - You should at least work through the tutorial for it (and if you haven't seen it watch the video where they do live updates to the system). I think you mean this: http://video.google.com/videoplay?docid=-5830318882717959520 It's hilarious - like programming meets Monty Python. Oh, my gawd!this has got to be a deliberate jokeit couldn't be this bad by accidentcould it? The production values are atrocious; the dialog is horrible; everyone is speaking in slow motion, stuttering, screwing up their lines; but, worst of all, you learn next-to-nothing about Erlang! It's not a collision with Monty Pythonit's a collision with those educational filmstripes from the 50's. -t - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature
Re: [jug-discussion] next language to learn?
Like the one comment said on your web page: depends on your goals. Are you just trying to learn more about synthetic language (as opposed to natural language)? If so, Scheme, Scala, and Haskell all embody some fascinating concepts in language typology. My favorite: get a version of Scheme with *full* call-with-current-continuation support and read about some of the mind-twisting uses of this construct. cheers, -tom At 07:18 PM 6/17/2007, you wrote: Hi all, I've posted up a little thing on my blog about what should be my next language, feel free to chime in (there or here). http://www.warneronstine.com/blog/articles/2007/06/17/next-language- to-learn -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
BTW -- I forgot to mention that if you are heavily into string and text processing it still pays to learn Icon, our locally-developed language. It's a now dated, but many of its pioneering features have influenced the current crop of scripting languages (as acknowledged in their documentation) and I have yet to see some of its more advanced features replicated in any modern language. -tom At 07:18 PM 6/17/2007, you wrote: Hi all, I've posted up a little thing on my blog about what should be my next language, feel free to chime in (there or here). http://www.warneronstine.com/blog/articles/2007/06/17/next-language- to-learn -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
On Jun 18, 2007, at 9:45 AM, Thomas Hicks wrote: Like the one comment said on your web page: depends on your goals. Actually they just asked why I would want to learn a new language at all. Which quite honestly is not a good question, I feel that all programmers should learn new languages - Java isn't going to be around forever (or rather it isn't going to be top-dog forever, neither is C#). Ok, I guess here are my goals: 1) Investigate a new language to see what it offers me as a developer to further my knowledge 2) I have a particular focus on Web development - so any language that has used its unique features to build a framework I am intensely interested in 3) To become a better, more well-rounded developer 4) Rule the world Ok, number 3 is a lie, I don't want to be a more well-rounded developer ;-). Are you just trying to learn more about synthetic language (as opposed to natural language)? If so, Scheme, Scala, and Haskell all embody some fascinating concepts in language typology. Hmm not familiar with these two terms sythetic and natural language, could you explain a little bit more? My favorite: get a version of Scheme with *full* call-with-current- continuation support and read about some of the mind-twisting uses of this construct. Oh no, not Scheme! ;-). Scheme has crossed my mind from time to time, but I'm not sure. Convince me! Just kidding, I already have an inquisitive mind I just want to know where to focus it. -warner cheers, -tom At 07:18 PM 6/17/2007, you wrote: Hi all, I've posted up a little thing on my blog about what should be my next language, feel free to chime in (there or here). http://www.warneronstine.com/blog/articles/2007/06/17/next- language- to-learn -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Warner Onstine - Programmer/Author New book on Tapestry 4! Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
At 09:56 AM 6/18/2007, you wrote: On Jun 18, 2007, at 9:45 AM, Thomas Hicks wrote: Like the one comment said on your web page: depends on your goals. Actually they just asked why I would want to learn a new language at all. Which quite honestly is not a good question, I feel that all programmers should learn new languages - Java isn't going to be around forever (or rather it isn't going to be top-dog forever, neither is C#). I agree with ya. Ok, I guess here are my goals: 1) Investigate a new language to see what it offers me as a developer to further my knowledge 2) I have a particular focus on Web development - so any language that has used its unique features to build a framework I am intensely interested in 3) To become a better, more well-rounded developer 4) Rule the world Ok, number 3 is a lie, I don't want to be a more well-rounded developer ;-). Rightso Fortress probably won't be high on your list. Are you just trying to learn more about synthetic language (as opposed to natural language)? If so, Scheme, Scala, and Haskell all embody some fascinating concepts in language typology. Hmm not familiar with these two terms sythetic and natural language, could you explain a little bit more? Hasorry. I just meant programming languages, which are by nature synthetic. While they share many characteristics with human (natural) languages, programming languages are much more regular and constrained. That's not to say that they aren't fascinating and I agree with you that learning more about them makes us better programmers. My favorite: get a version of Scheme with *full* call-with-current- continuation support and read about some of the mind-twisting uses of this construct. Oh no, not Scheme! ;-). Scheme has crossed my mind from time to time, but I'm not sure. Convince me! Just kidding, I already have an inquisitive mind I just want to know where to focus it. Well, you had Lisp on your listScheme is a much more concise and clean functional programming language which is a descendant of Lisp. So instead of the 1000+ page Common Lisp book (Guy Steele) we have the 48 page R5RS (reference) document. Of course, I would not recommend learning Lisp or Scheme from either of these documents! If you go down the Lisp path, let me know and I'll recommend some more friendly docs. regards, -tom -warner cheers, -tom At 07:18 PM 6/17/2007, you wrote: Hi all, I've posted up a little thing on my blog about what should be my next language, feel free to chime in (there or here). http://www.warneronstine.com/blog/articles/2007/06/17/next- language- to-learn -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
Bill's back East for vacation, so I probably just beat him to it. ;) -t At 09:59 AM 6/18/2007, you wrote: I was wondering when Icon was going to come up ;-). I knew it was either going to be you or Bill :-P. -warner On Jun 18, 2007, at 9:50 AM, Thomas Hicks wrote: BTW -- I forgot to mention that if you are heavily into string and text processing it still pays to learn Icon, our locally-developed language. It's a now dated, but many of its pioneering features have influenced the current crop of scripting languages (as acknowledged in their documentation) and I have yet to see some of its more advanced features replicated in any modern language. -tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
The correct answer should be I don't know yet. I've been writing code for almost 40 years now (quite a trick given that I'm only 39!) and have lost count of the number of languages and psuedo-languages I've learned over the years. What I do know is this - whenever I try to learn, or learn about, some new language just for jollies or for some poorly-defined future need, it doesn't take. If I ever do use the language, I pretty much have to start over. Best practice is that you learn a new language when you have need of it, either for development or for understanding some piece of code you've inherited and now must maintain. This may lead to some steep learning curves that must be surmounted in a short period of time, but nothing focuses the old brain like learn this or die. I keep track of what's out there, but I've given up on dabbling in a new language until I have need to. One possible exception to this is learning new paradigms. For example, for all us old dinosaur linear-language programmers, OO design and development was a bit of a stretch. It was useful to learn the precepts and concepts of OO programming before actually needing it (I fought with both C++ and Ada as OO learning platforms before finally learning Java WHEN I NEEDED TO). But learning a new language just to add another type of screwdriver to the old toolbox is just not productive. It also takes time away from drinking beer. Jim *-*---* | Jim Secan | Northwest Research Assoc, Inc | | ([EMAIL PROTECTED]) | 2455 E. Speedway, Suite 204 | | (520) 319-7773 | Tucson, Arizona 85719 | *-*---* - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
On Jun 18, 2007, at 10:11 AM, Thomas Hicks wrote: At 09:56 AM 6/18/2007, you wrote: On Jun 18, 2007, at 9:45 AM, Thomas Hicks wrote: Like the one comment said on your web page: depends on your goals. Actually they just asked why I would want to learn a new language at all. Which quite honestly is not a good question, I feel that all programmers should learn new languages - Java isn't going to be around forever (or rather it isn't going to be top-dog forever, neither is C#). I agree with ya. Ok, I guess here are my goals: 1) Investigate a new language to see what it offers me as a developer to further my knowledge 2) I have a particular focus on Web development - so any language that has used its unique features to build a framework I am intensely interested in 3) To become a better, more well-rounded developer 4) Rule the world Ok, number 3 is a lie, I don't want to be a more well-rounded developer ;-). Rightso Fortress probably won't be high on your list. Are you just trying to learn more about synthetic language (as opposed to natural language)? If so, Scheme, Scala, and Haskell all embody some fascinating concepts in language typology. Hmm not familiar with these two terms sythetic and natural language, could you explain a little bit more? Hasorry. I just meant programming languages, which are by nature synthetic. While they share many characteristics with human (natural) languages, programming languages are much more regular and constrained. That's not to say that they aren't fascinating and I agree with you that learning more about them makes us better programmers. Ah, gotcha. I thought there were two different terms within a programming language context. As far as natural language goes I've already picked Japanese (I have a trip planned before my passport expires). My favorite: get a version of Scheme with *full* call-with- current- continuation support and read about some of the mind-twisting uses of this construct. Oh no, not Scheme! ;-). Scheme has crossed my mind from time to time, but I'm not sure. Convince me! Just kidding, I already have an inquisitive mind I just want to know where to focus it. Well, you had Lisp on your listScheme is a much more concise and clean functional programming language which is a descendant of Lisp. So instead of the 1000+ page Common Lisp book (Guy Steele) we have the 48 page R5RS (reference) document. Of course, I would not recommend learning Lisp or Scheme from either of these documents! If you go down the Lisp path, let me know and I'll recommend some more friendly docs. Couldn't remember the relationship between Scheme and Lisp (which was a superset of which). -warner regards, -tom -warner cheers, -tom At 07:18 PM 6/17/2007, you wrote: Hi all, I've posted up a little thing on my blog about what should be my next language, feel free to chime in (there or here). http://www.warneronstine.com/blog/articles/2007/06/17/next- language- to-learn -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Warner Onstine - Programmer/Author New book on Tapestry 4! Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
On Jun 18, 2007, at 10:41 AM, Jim Secan wrote: The correct answer should be I don't know yet. I've been writing code for almost 40 years now (quite a trick given that I'm only 39!) and have lost count of the number of languages and psuedo-languages I've learned over the years. What I do know is this - whenever I try to learn, or learn about, some new language just for jollies or for some poorly- defined future need, it doesn't take. If I ever do use the language, I pretty much have to start over. Best practice is that you learn a new language when you have need of it, either for development or for understanding some piece of code you've inherited and now must maintain. This may lead to some steep learning curves that must be surmounted in a short period of time, but nothing focuses the old brain like learn this or die. I keep track of what's out there, but I've given up on dabbling in a new language until I have need to. One possible exception to this is learning new paradigms. For example, for all us old dinosaur linear-language programmers, OO design and development was a bit of a stretch. It was useful to learn the precepts and concepts of OO programming before actually needing it (I fought with both C+ + and Ada as OO learning platforms before finally learning Java WHEN I NEEDED TO). But learning a new language just to add another type of screwdriver to the old toolbox is just not productive. It also takes time away from drinking beer. As I say in my blog one of the reasons to learn a new language is just that - to see how another language approaches problems so that I'm not stymied into thinking one way is the only way. In other terms, because I have a hammer everything looks like a nail. Granted you do bring up a good point in that to truly use a language you need something to do with it. In my current job all I do is Java (and probably just about I'll ever do unfortunately), so I need to look to outside of work to learn something new otherwise my skillset becomes stale. On that note then (and it's beginning to sound more and more like I should learn scheme first). What would be a good (little) project to do in scheme. Just suggestions please as I will take them and then come up with something that I can leverage for myself. Here are some of the things that interest me: - Code generation - Searching - personal information management - community software - essentially connecting people in interesting ways I don't know how any of this could possibly relate to a new language, yet, but I plan on finding out. Ok, decided to do a quick search on cocoa scheme bridge and came up with this: http://3e8.org/zb/cocoa/manipulating-itunes-plist.html So I can combine two of my loves together (cocoa and learning a new language ;-). Now, back to your original point, I do think that functional languages are becoming more important and I should *know* about them and how they do things so I can see how to make things better in my current environment (one way or another). I agree that it would be better to have work pay for it so to speak, but I don't have that luxury since they are stuck in a specific universe of Java-land (I'm going to call it the far-off place of junky Web app frameworks and forgotten ORMs). -warner Jim *-*---* | Jim Secan | Northwest Research Assoc, Inc | | ([EMAIL PROTECTED]) | 2455 E. Speedway, Suite 204 | | (520) 319-7773 | Tucson, Arizona 85719 | *-*---* - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Warner Onstine - Programmer/Author New book on Tapestry 4! Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
If your goal is to get a marketable skill, I'd say Ruby/Rails. Lots of Rails jobs out there, and more every day - especially if you want to move to the Bay Area :) On 6/17/07, Warner Onstine [EMAIL PROTECTED] wrote: Hi all, I've posted up a little thing on my blog about what should be my next language, feel free to chime in (there or here). http://www.warneronstine.com/blog/articles/2007/06/17/next-language- to-learn -warner Warner Onstine - Programmer/Author New book on Tapestry 4! Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
At 02:02 PM 6/18/2007, Warner wrote: As I say in my blog one of the reasons to learn a new language is just that - to see how another language approaches problems so that I'm not stymied into thinking one way is the only way. In other terms, because I have a hammer everything looks like a nail. [snip] On that note then (and it's beginning to sound more and more like I should learn scheme first). What would be a good (little) project to do in scheme. Just suggestions please as I will take them and then come up with something that I can leverage for myself. Here are some of the things that interest me: - Code generation - Searching - personal information management - community software - essentially connecting people in interesting ways I don't know how any of this could possibly relate to a new language, yet, but I plan on finding out. One thing missing from your list (which I know you are interested in) is DSLs. Lisp, the direct ancestor of Scheme, was the grandaddy of extensible languages, and many DSLs have been implemented in it. Maybe something along those lines. OR...Lisp/Scheme is also famous as an implementation language for AI and other intelligent systems. You might consider adding some smarts to an existing webapp or program by embedding a Scheme interpreter in your Java or using one to build a rules system. A Scheme which compiles to Java VM bytecode (such as Kawa http://www.gnu.org/software/kawa/) might be ideal for this (caveat: I haven't tried it myself). [snip]... Now, back to your original point, I do think that functional languages are becoming more important and I should *know* about them and how they do things so I can see how to make things better in my current environment (one way or another). Hmmmmy impression is that functional languages had their heyday in the late 80s and are currently relegated to niche programming. That's not to say that their study is not important for exactly the reasons you implied in your first paragraph. Most of them also greatly help you to really grok the power of recursion. regards, -tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
You might find JSchem interesting: http://jscheme.sourceforge.net/jscheme/main.html Bashar - Original Message From: Warner Onstine [EMAIL PROTECTED] To: jug-discussion@tucson-jug.org Sent: Monday, June 18, 2007 2:02:03 PM Subject: Re: [jug-discussion] next language to learn? On Jun 18, 2007, at 10:41 AM, Jim Secan wrote: The correct answer should be I don't know yet. I've been writing code for almost 40 years now (quite a trick given that I'm only 39!) and have lost count of the number of languages and psuedo-languages I've learned over the years. What I do know is this - whenever I try to learn, or learn about, some new language just for jollies or for some poorly- defined future need, it doesn't take. If I ever do use the language, I pretty much have to start over. Best practice is that you learn a new language when you have need of it, either for development or for understanding some piece of code you've inherited and now must maintain. This may lead to some steep learning curves that must be surmounted in a short period of time, but nothing focuses the old brain like learn this or die. I keep track of what's out there, but I've given up on dabbling in a new language until I have need to. One possible exception to this is learning new paradigms. For example, for all us old dinosaur linear-language programmers, OO design and development was a bit of a stretch. It was useful to learn the precepts and concepts of OO programming before actually needing it (I fought with both C+ + and Ada as OO learning platforms before finally learning Java WHEN I NEEDED TO). But learning a new language just to add another type of screwdriver to the old toolbox is just not productive. It also takes time away from drinking beer. As I say in my blog one of the reasons to learn a new language is just that - to see how another language approaches problems so that I'm not stymied into thinking one way is the only way. In other terms, because I have a hammer everything looks like a nail. Granted you do bring up a good point in that to truly use a language you need something to do with it. In my current job all I do is Java (and probably just about I'll ever do unfortunately), so I need to look to outside of work to learn something new otherwise my skillset becomes stale. On that note then (and it's beginning to sound more and more like I should learn scheme first). What would be a good (little) project to do in scheme. Just suggestions please as I will take them and then come up with something that I can leverage for myself. Here are some of the things that interest me: - Code generation - Searching - personal information management - community software - essentially connecting people in interesting ways I don't know how any of this could possibly relate to a new language, yet, but I plan on finding out. Ok, decided to do a quick search on cocoa scheme bridge and came up with this: http://3e8.org/zb/cocoa/manipulating-itunes-plist.html So I can combine two of my loves together (cocoa and learning a new language ;-). Now, back to your original point, I do think that functional languages are becoming more important and I should *know* about them and how they do things so I can see how to make things better in my current environment (one way or another). I agree that it would be better to have work pay for it so to speak, but I don't have that luxury since they are stuck in a specific universe of Java-land (I'm going to call it the far-off place of junky Web app frameworks and forgotten ORMs). -warner Jim *-*---* | Jim Secan | Northwest Research Assoc, Inc | | ([EMAIL PROTECTED]) | 2455 E. Speedway, Suite 204 | | (520) 319-7773 | Tucson, Arizona 85719 | *-*---* - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Warner Onstine - Programmer/Author New book on Tapestry 4! Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
At 08:42 PM 6/18/2007, Warner wrote: There was an article that my co-worker James sent me (that I can't find) that talked about functional languages and the new multi-core architectures and how learning a functional language wouldn't be a bad thing. (If you do a google on functional language and multi-core you'll see what I'm talking about). That's one of the things driving this, but it still is about time for me to pick up a new language that I'm completely unfamiliar with. I feel that Ruby is still there, but not as daunting now that I've done Groovy. And from what everyone has said so far (here and elsewhere) Scheme would be a good starting point. OK, thanks...I'll check that out. So, any good Scheme books? Some classics: 1) The Little Schemer (4ed) by Daniel P. Friedman and Matthias Felleisen Conceptually oriented. Some people love/some people hate the Socratic style (question on left side of page, answer on the right). 2) The Scheme Programming Language (3ed) by R. Kent Dybvig Nice little overview of language. 3) Structure and Interpretation of Computer Programs (2ed) by Harold Abelson and Gerald Jay Sussman. Not really *about* Scheme, uses Scheme for CS concepts. You should be able to find all of these in the UA library. cheers, -tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] next language to learn?
Hi all, I've posted up a little thing on my blog about what should be my next language, feel free to chime in (there or here). http://www.warneronstine.com/blog/articles/2007/06/17/next-language- to-learn -warner Warner Onstine - Programmer/Author New book on Tapestry 4! Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]