align-toparrow-leftarrow-rightbackbellblockcalendarcamerachatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-crosscrosseditemptyheartfacebookfullheartglobegoogleimagesinstagramlocation-pinmagnifying-glassmailmoremuplabelShape 3 + Rectangle 1outlookpersonplusImported LayersImported LayersImported Layersshieldstartwitteryahoo

Design Patterns in modern JVM Languages and Integrating Groovy and Java

We are pleased to have Dr. Venkat Subramaniam here for both sessions tonight. The first talk will be about Java 8 Language Capabilities, along with the main presentation being Design Patterns in modern JVM Languages.

About Dr. Venkat Subramaniam:

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an adjunct faculty at the University of Houston.

He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects.

Venkat is the author of ".NET Gotchas," the coauthor of 2007 Jolt Productivity Award winning "Practices of an Agile Developer," the author of "Programming Groovy: Dynamic Productivity for the Java Developer" and "Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine" (Pragmatic Bookshelf). His latest book is "Programming Concurrency on the JVM: Mastering synchronization, STM, and Actors.

 

5:30-6:00: Networking and Food

Food, Soda, Beer and Networking. We are grateful to Cody Powell from TEksystems for their continued sponsorship of the Food and Soda! Also, thanks to Mike Henninger of BWBacon for supplying the beer.

6:00-6:05: Announcements

6:05-7:00: Integrating Groovy and Java by Dr. Venkat Subramaniam

Java - Groovy integration just works, for most part. Calling into Java code from Groovy is pretty straight forward. Calling into Groovy from Java is easier than you may think (and that's the hard part!). There are a few rough edges you will run into when you try to call from Groovy into other languages. In this presentation, we will take a look at integration mechanisms and how to work around the few challenges you may run into.

7:00-7:15: Break

7:15-8:45: Design Patterns in modern JVM Languages by Dr. Venkat Subramaniam

The GOF design patterns were quite centered around OOP languages. Now that we have dynamic and functional languages on the JVM, there are quite a few other patterns that come in handy with these capabilities. In this presentation we will explore patterns that allow us to make better use of closures and functional style of programming.

8:45: Door prizes:

Safari Online Book Subscription (1-year, 10-slot) - provided by DevelopIntelligence Training

Amazon Gift Cards - provided by Lea Holmboe of ECS

JetBrains IDE License

ZeroTurnaround JRebel License

A couple O'Reilly and Pearson books

Heroku T-shirts and server credits - provided by James Ward of Heroku

9:00: Networking at Ice House Tavern. Very special thanks to Katie Green from ReadyTalk for their sponsorship of food at this location.


Join or login to comment.

  • Jeff S.

    Venkat was very impressive, moving from Java, Groovy to Scala, thinking on his feet, cracking jokes... Listening to both talks, I was not bored for a second. :)

    January 12, 2013

  • Kyle

    For me, it was the best meeting yet. Venkat was entertaining and presented clearly in ways that a new programmer like myself could understnd and follow. Thanks guys!

    January 10, 2013

  • Michael A. F.

    well someone who was not in attendance just "liked" this comment, so... :-)

    January 10, 2013

  • Michael A. F.

    Sorry if this comment was too long. I just was trying to summarize for our company, so I thought my summary might be helpful for any visitors to this meetup site who weren't able to attend. Please correct anything I said which is misleading or inaccurate.

    If there is a better venue for such summaries, I would be happy to have this diatribe transported there...

    January 10, 2013

  • Michael A. F.

    DJUG was fun last night. I will try to describe it for you.

    Venkat Subrumaniam gave two presentations last night ([masked]; twitter: @venkat_s; http://www.agiledeveloper.com for download links)

    He first talked about Integrating Groovy and JVM languages; I think this is a brand new talk for him. Here is his abstract for this presentation which I got from his site:
    Integrating Groovy and JVM Languages
    Java - Groovy integration just works, for most part. Calling into Java code from Groovy is pretty straight forward. Calling into Groovy from Java is easier than you may think (and that's the hard part!). There are a few rough edges you will run into when you try to call from Groovy into other languages. In this presentation, we will take a look at integration mechanisms and how to work around the few challenges you may run into.

    I did not find any downloads on his site for this presentation. Hopefully they are forthcoming.

    ...

    2 · January 10, 2013

    • Michael A. F.

      He also really liked the Collection.join() method in Groovy.  He had a funny story for this; this was one of many funny stories he told.

      Here was his second topic’s abstract:
      Design Patterns in Groovy
      When I got into Java I had a Wow, look how easy it is to implement these patterns moment. When I got into Groovy, I had the same reaction, but only better. The dynamic nature of Groovy makes it easier to implement some common patterns. What is better, there are some patterns that you can exploit in Groovy that are not so easy in Java. In this section, you will learn how to implement some traditional patters in Groovy, and also other patterns you are simply not used to in Java. This presentation will go far beyond the Gang-of-four (GOF) patterns. You will learn how to implement some GOF patterns, but also some patterns that will allow you to exploit dynamic nature of Groovy and the elegance of Groovy closures.

      January 10, 2013

    • Michael A. F.

      Here is a download I found on his site…I think this will match what he talked about:
      http://www.agiledevel...­

      Venkat encouraged us to build a sense of intuition for “patterns” and “best practices”, because anything else – he indicated – is fairly useless.

      He walked through an abstract factory pattern, compose pattern, patterns to increase fluency of code, pluggable behavior patterns (like Strategy).

      He talked about Scala traits (like Groovy mixins). He said they were like abstract classes, and talked about their multiple-inheritance abilities…adding “filter” like code changes to existing code (like javascript prototype “inheritance”).

      He also said that code should be concise so that it is easier to change.

      He also talked about his favorite text editor “textMate” which he said was highly customizable. I don’t know if this program is only on apples…

      January 10, 2013

  • Andy P.

    Outstanding speaker with good humor and very interesting programming techniques.

    January 10, 2013

  • Tom F.

    Awesome. Venkat is the master of combined narrative and live coding.
    My cat Buddy loved the attention

    January 10, 2013

  • A former member
    A former member

    The speaker was very interesting, entertaining and engaging. It was a great topic and a great speaker.

    January 9, 2013

  • r I C h M.

    awesome group, great digs, and one of the best speakers I've ever got to listen to. Will absotively be back for more! Many thanks to the organizers, sponsors, and especially Venkat for the teaching & entertainment!

    January 9, 2013

  • Alex W.

    Excellent discussion and humorous too... made me like Groovy and Scala even more than I already did.

    January 9, 2013

  • Subhash K.

    I look forward to meet every one.. I am a java developer currently working for a bank .

    January 4, 2013

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy