10 Replies - 1467 Views - Last Post: 15 December 2012 - 07:07 AM

#1 wordswords  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 76
  • View blog
  • Posts: 272
  • Joined: 17-December 11

Picking up new Languages

Posted 01 October 2012 - 03:00 PM

At the BBC, where I currently work, there is an understanding that experienced software engineers can pick up *any* language with little difficulty, as the only major thing that changes is the syntax.

I personally find it quite a big deal picking up new languages, especially those that use significantly different paradigms, such as LISP. I do agree that it becomes easier after you have a couple of languages under your belt, but I would still argue that you need a few years experience in a language to really 'know' it to any sufficient degree.

What are your thoughts?

Is This A Good Question/Topic? 0
  • +

Replies To: Picking up new Languages

#2 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5475
  • View blog
  • Posts: 11,762
  • Joined: 02-June 10

Re: Picking up new Languages

Posted 01 October 2012 - 03:05 PM

Ask those same people to pick up another language. After all, they already speak English. Maybe even French or German considering your location.

So Polish should be quite easy since its all the same phenoms and just some syntactical differences and a list of different proununciations.

Yes is pronounced wee in french and see in spanish. Easy according to the way these people are talking to.
Was This Post Helpful? 1
  • +
  • -

#3 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1152
  • View blog
  • Posts: 2,530
  • Joined: 05-May 05

Re: Picking up new Languages

Posted 01 October 2012 - 06:11 PM

Quote

At the BBC, where I currently work, there is an understanding that experienced software engineers can pick up *any* language with little difficulty, as the only major thing that changes is the syntax.


I agree. IMO, it shouldn't be hard to go from OO-language to OO-language, or even a dynamic language. I have zero experience with C#, but I bet I can built something fairly complex in it relatively quickly, compared to someone with no OO-experience. On the other hand, I don't expect to be able to build complex software in a functional language quickly, while generating mostly elegant solutions. There's a big difference: switching paradigms is a lot harder than switching syntax. In functional programming you have to change your thinking, not your programming. You can still program in LISP (or whatever) using an imperative mindset, but you're really not utilizing the expressiveness of the language.

Quote

but I would still argue that you need a few years experience in a language to really 'know' it to any sufficient degree.


Of course you're not going to master a language in little time, but who cares? Especially if you're able to provide an efficient solution to a problem that needs solving quickly. Does it really matter that I choose to use a loop when I could of used map() (which is linear anyway)? No. And, when does really "knowing" a language matter? When you're applying for a job. How does a hiring manager gauge your proficiency in that language? By looking through the list of projects you've worked on in that language (and maybe a few interview questions).

This post has been edited by blackcompe: 01 October 2012 - 06:13 PM

Was This Post Helpful? 1
  • +
  • -

#4 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5475
  • View blog
  • Posts: 11,762
  • Joined: 02-June 10

Re: Picking up new Languages

Posted 01 October 2012 - 06:16 PM

View Postblackcompe, on 01 October 2012 - 07:11 PM, said:

I agree. [...] I have zero experience with C#, but I bet I can built something fairly complex in it relatively quickly,


Ok. Then do it. This would make a perfect experiment to see if those folks at the BBC are right. You're comfortable saying you feel you could do it. So pick out something that as you say is 'fairly complex' and keep track of your time to build it. Then come back to this thread and let us know what it is, where it is so we can download it, and how many hours.
Was This Post Helpful? 1
  • +
  • -

#5 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1152
  • View blog
  • Posts: 2,530
  • Joined: 05-May 05

Re: Picking up new Languages

Posted 01 October 2012 - 06:20 PM

Quote

Ok. Then do it. This would make a perfect experiment to see if those folks at the BBC are right. You're comfortable saying you feel you could do it. So pick out something that as you say is 'fairly complex' and keep track of your time to build it. Then come back to this thread and let us know what it is, where it is so we can download it, and how many hours.


Way too much to do. I'm currently doing six Coursera courses, which require programming in Scala, Python, Java, and R. Beside, I have no interest in doing so, even if I didn't have obligations, but still I feel very confident in my ability to do so, just as I expect you could do the same in Java. I rest my case.

Just wondering, but what might you consider complex, tlhIn`toq? Of course, provided I'm a one man team.

This post has been edited by blackcompe: 01 October 2012 - 06:21 PM

Was This Post Helpful? 0
  • +
  • -

#6 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5475
  • View blog
  • Posts: 11,762
  • Joined: 02-June 10

Re: Picking up new Languages

Posted 01 October 2012 - 07:21 PM

Quote

Beside, I have no interest in doing so, even if I didn't have obligations, but still I feel very confident in my ability to do so

Its easy to talk big confident about something you won't do, or won't get a chance to do. I can be confident in my ability to run the country better than Husain Oboma is doing. But as I won't be elected its all just big talk.

What is a complex program?
In my world, it tends to be a program that controls any DSLR camera while monitoring RFID wristbands and tracking theme park guest around a park using facial recognition. (That's one of the products I built for this company)

To someone else it might be something that monitors under-sea seismic sensors.

You're right to hint that 'complex' is open to individual interpretation.
For the purpose of this thread I think its more important what *you* think is complex since you were confident in making a complex program in C# though you've never used C#. What type of program do you feel you could easily write and yet be reasonably complex in your definition?

As a "Build a program not in my native language" project I might propose...Hmmm...
How about a music & video cataloging program... maybe something that goes on-line to find the video poster, actors and so on... that lets you then display all the sci-fi videos by a given director. With all the standard features we expect of such a program like exporting lists in various formats like tab-delimited and XML... being able to play the media... finding duplicates... and of course have an attractive interface.
Was This Post Helpful? 1
  • +
  • -

#7 Lemur  Icon User is offline

  • Pragmatism over Dogma
  • member icon


Reputation: 1359
  • View blog
  • Posts: 3,425
  • Joined: 28-November 09

Re: Picking up new Languages

Posted 01 October 2012 - 07:32 PM

View PosttlhIn`toq, on 01 October 2012 - 05:05 PM, said:

Ask those same people to pick up another language. After all, they already speak English. Maybe even French or German considering your location.

So Polish should be quite easy since its all the same phenoms and just some syntactical differences and a list of different proununciations.

Yes is pronounced wee in french and see in spanish. Easy according to the way these people are talking to.


Am I the only one who finds it humorous that the Klingon refers to polish notation when LISP was mentioned?

Similar paradigms, ya, it can be done. I went from C# to Ruby in a matter of 2 days, and I was building massive automation frameworks within the week. I did the same thing with Java, just not to that grand of a scale. It was more of solving problems for coeds.
Was This Post Helpful? 0
  • +
  • -

#8 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1152
  • View blog
  • Posts: 2,530
  • Joined: 05-May 05

Re: Picking up new Languages

Posted 01 October 2012 - 07:40 PM

Quote

Its easy to talk big confident about something you won't do, or won't get a chance to do. I can be confident in my ability to run the country better than Husain Oboma is doing. But as I won't be elected its all just big talk.


Lol, you're right about that. What I should have said, is that I don't think it will be easy and it will surely take time, but I just don't see why the language itself should be a barrier.

Quote

You're right to hint that 'complex' is open to individual interpretation.


Yes, this is too open-ended. You won't know what you're capable of until you've been assigned a task. This is why I do Coursera, where I'm forced into work, because for whatever reason, I'm not motivated do take on individual projects. Motivation is definitely an issue here. Now... when I have an interest in bringing that to life, or a real need for it to exist, or I'm getting graded on whether I can do it, or I'm getting paid to do it, that's a different story.

This post has been edited by blackcompe: 01 October 2012 - 07:47 PM

Was This Post Helpful? 0
  • +
  • -

#9 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5475
  • View blog
  • Posts: 11,762
  • Joined: 02-June 10

Re: Picking up new Languages

Posted 01 October 2012 - 07:49 PM

View PostLemur, on 01 October 2012 - 08:32 PM, said:

It was more of solving problems for coeds.


I define problem solving for coeds as... 'How do I get you out of that cheerleading outfit?'
Was This Post Helpful? 2
  • +
  • -

#10 wordswords  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 76
  • View blog
  • Posts: 272
  • Joined: 17-December 11

Re: Picking up new Languages

Posted 03 October 2012 - 03:51 PM

View Postblackcompe, on 01 October 2012 - 06:11 PM, said:

Of course you're not going to master a language in little time, but who cares? Especially if you're able to provide an efficient solution to a problem that needs solving quickly. Does it really matter that I choose to use a loop when I could of used map() (which is linear anyway)? No. And, when does really "knowing" a language matter? When you're applying for a job. How does a hiring manager gauge your proficiency in that language? By looking through the list of projects you've worked on in that language (and maybe a few interview questions).


The problem is that the code I write is going to be peer-reviewed, and has to be of sufficient quality to pass that peer review. My first steps with any given language are likely to be shit, and nothing I'd want to commit to professional projects. It's alright if you're a sole developer, or working on academic projects, but in a professional team, you have to get to the stage where you're all on the same level and can work on each others code. That is when 'knowing' a language really matters.

It is not a major problem for me, because we do pair programming, peer review, and I already have passable knowledge on the languages I'll be working in. Also we get sent on training courses, most of which are good. I was just trying to gauge agreement around the idea that a software engineer should be expected to pick up new languages as and when required. I know that I spend a significant chunk of my spare time learning new languages, but I doubt that everyone in my department does.
Was This Post Helpful? 0
  • +
  • -

#11 ScottinTexas  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 43
  • Joined: 13-March 12

Re: Picking up new Languages

Posted 15 December 2012 - 07:07 AM

I don't think it is realistic to expect anyone to learn a new programming language as though they are just rearranging furniture. Syntax is one thing, but the new languages offer things that require new thinking too. Look where we were when all we could do is jump from one part of the top-down code to another. Now look at OOP and just how much our thinking had to change in between. My biggest problem with new languages is that there are so many now. With the advent of the internet I had to learn HTML. Then ASP and Java script. With more and more complex data structures I had to learn Pascal in the early 80s, and, later, VB and SQL. Then VB changed! Now there's Ruby, Java, LISP, C#, and a whole host of others. What's on the horizon? And the time between new languages is shortening.

Now it's a hobby for me and I don't suffer the pressures most of you have. I want to write an application for my work because it doesn't exist and I don't like my VBA version. So I am learning C# so I can write a WPF application. Thanks to people like all of you I can give it a good shot and maybe something good will come of it.

Thank goodness I don't have to have it reviewed!
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1