• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Jeanne Boyarsky
  • Tim Cooke
Sheriffs:
  • Liutauras Vilda
  • paul wheaton
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Frits Walraven
Bartenders:
  • Piet Souris
  • Himai Minh

The Pragmatic Programmer : What new language are you learning this year?

 
Marshal
Posts: 5316
324
IntelliJ IDE Python Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Under a section entitled "Your Knowledge Portfolio" the book talks about diversification.

The Pragmatic Programmer wrote:Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut. Additionally, learning many languages is far easier now, thanks to the wealth of freely available software on the Internet.


Here's the languages I've learnt over the last few years:
  • 2012: Groovy. Mostly for writing Spock tests
  • 2013: Scala. An initial foray into Functional Programming
  • 2014: Clojure. I'm seriously exploring the idea of writing production code with this

  • What new language are you learning this year?
     
    Sheriff
    Posts: 16910
    283
    Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Started on a project that uses Scala so naturally I started with Odersky's class on Coursera. Continuing study on functional programming and Scala. Also learning about Akka since it's also being used on the project.

    Last year I did the Rice University Coursera class on Interactive Python. I really liked the things I learned and I think it helped me with my study of Scala but now I will have to go back and brush up on my Python since I haven't used it in a while.

    I think that between what I have to do for project work and the new features of Java 8 around Lambda expressions and the Streaming API, there's more than enough new stuff to learn to keep me busy during my free time for the next year or so. It's tough to get motivated to learn a new language when you don't use it for practical purposes.
     
    Ranch Hand
    Posts: 50
    3
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Just wondering how useful will it be to learn a new language unless you are going to work on it, won't we forget it if not put into practice?

    Deviating slightly from the topic of the thread, can't stop myself from expressing it.Apart from the help on my queries that I get on CodeRanch, I visit it regularly for the motivation I get,seeing enthusiasm of the fellow ranchers, bartenders etc. here to keep learning and updating oneself. This thread is one such example.
    Also,even though I am not reading this book right now, I am able to get a glimpse of the book through the threads here, which again adds to the benefits I am getting from this community .
    Thank you for the great work JavaRanch family !!!
     
    Tim Cooke
    Marshal
    Posts: 5316
    324
    IntelliJ IDE Python Java Linux
    • Likes 1
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Pallavi Sadit wrote:Just wondering how useful will it be to learn a new language unless you are going to work on it, won't we forget it if not put into practice?


    Who's going to tell you to work on it? You managers certainly are not. How would they know that Clojure, say, is the best tool to solve a particular business problem? It's up to you to learn about new things in the technology space and to evaluate whether those things are useful or not.

    Pallavi Sadit wrote:Thank you for the great work JavaRanch family !!!


    We do our best, and it sure is nice to be appreciated
     
    Junilu Lacar
    Sheriff
    Posts: 16910
    283
    Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
    • Likes 1
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Regarding usefulness, I agree that when it comes to programming languages, the "Use it or lose it" principle applies. I would say it's not even close to riding a bicycle. It's more like riding a unicycle. I learned how to ride a unicycle in college and I still can do it now but not as well as before. I used to program in BASIC, RPG, Clipper/xBase, COBOL, Pascal/Delphi but looking through my books on these now—Yes, I still have quite a few laying around the house like old security blankets I just can't part with—I'd have to spend quite a bit of time brushing up if I had to write a program in any of these today.

    What is more useful to me is the kind of thinking that goes into writing in these languages. Just as the structure and grammar of some spoken languages supposedly make you better at some things (studies have suggested that Chinese-speaking people are generally better at doing math, for example), seeing how the same kind of problems can be solved differently from one programming language to another can help you see new possibilities and ways of thinking. I learned Python last year but now I'd be hard pressed to even write a basic program off the top of my head. However, learning Python opened up my mind to closures, functions as first-class objects, and other things. This in turn helped me understand how to program in Scala and take advantage of its language features. Functional thinking is a whole new way to deal with problems and their solutions and programming in a language like Scala or Python can really help open up your mind to new and broader horizons.
     
    Bartender
    Posts: 4568
    9
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    My next on the list is Haskell, via https://www.edx.org/course/delftx/delftx-fp101x-introduction-functional-2126 (starting tomorrow).

    But I've picked up the basics of quite a lot of new languages in the last couple of years (yes, and probably forgotten most of them as well). What I think I really need to do is pick one of them - at the moment I'm thinking Scala, Clojure or F# - and do something serious with it. I'm just struggling to find the right project.
     
    Bartender
    Posts: 2407
    36
    Scala Python Oracle Postgres Database Linux
    • Likes 1
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    2012:
    Learned basics of Python via O'Reilly School of Technology - excellent online courses.
    Started learning functional programming in Scala via Coursera - another great online course.
    2013:
    More functional programming in Standard ML and Racket (Lisp) via outstanding Coursera "Programming Languages" course.
    Some tInkering with Clojure in my spare time.
    Re-learning Java after several years doing other things.
    2014:
    Learned a little bit of R.
    Now starting to use Python and Scala at work.
    About to start with Haskell via the EdX course Matthew mentioned above.

    Of course it's true you can't really learn a language via a short course, but you can learn enough to give you a foundation for working with the language. And you can also gain the confidence and flexibility to adapt quickly to using new languages and tools when you need to.

    And it's fun too.
     
    This parrot is no more. It has ceased to be. Now it's a tiny ad:
    free, earth-friendly heat - a kickstarter for putting coin in your pocket while saving the earth
    https://coderanch.com/t/751654/free-earth-friendly-heat-kickstarter
    reply
      Bookmark Topic Watch Topic
    • New Topic