How easy will it be to learn a second language

know Java well- can I apply for an internship that requires C?

Page 1 of 1

3 Replies - 1048 Views - Last Post: 16 March 2010 - 05:18 PM

#1 lunixer  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 120
  • Joined: 29-January 10

How easy will it be to learn a second language

Posted 16 March 2010 - 02:24 PM

Hi. I hope that this is in the correct forum. If not, please feel free to move it. Anyway, I am a Sophomore CS major and so far am extremely proficient in java, which is the language of choice for my University for underclassmen. I am considering applying for the Google Summer of Code this summer, but as I have no experience in other languages (except BASIC, which doesn't count) I was wondering if I am limited to only projects that use that language? What do you think? Would I be able to quickly pick up the syntax for another OO language, or maybe even a language with a different paradigm? Thank you very much for your answer.

Is This A Good Question/Topic? 0
  • +

Replies To: How easy will it be to learn a second language

#2 raziel_  Icon User is offline

  • Like a lollipop
  • member icon

Reputation: 465
  • View blog
  • Posts: 4,255
  • Joined: 25-March 09

Re: How easy will it be to learn a second language

Posted 16 March 2010 - 02:54 PM

it depend on what programs you have to write but yes. in my option if you learn the rules and basics and have the thinking as programmer learning second language is easy. in your case Java syntax is similar to C and you can learn C pretty easy. i suggest you to write a several programs on C before posting for jobs on C just to get use to it. Practice is everything :)

This post has been edited by NoBrain: 16 March 2010 - 02:57 PM

Was This Post Helpful? 1
  • +
  • -

#3 MentalFloss  Icon User is offline

  • "ADDICTED"[2:5]
  • member icon

Reputation: 528
  • View blog
  • Posts: 1,397
  • Joined: 02-September 09

Re: How easy will it be to learn a second language

Posted 16 March 2010 - 05:08 PM

Quote

(except BASIC, which doesn't count)


It counts. It may be unpopular and considered simple but that doesn't mean that the experience gained was wasted. You should know by now that programming is a process and while the steps of this process may jumble around a bit, they are always apparent in your projects.

  • Identify problem
  • Understand problem space
  • Develop solution to problem
  • Ensure solution is correct


There's obviously other stuff that goes into this like document stuff, research stuff, make tests, do code reviews, etc... However, even the most neophyte programmer can understand that those 4 steps are always linked to any unit of work they're doing.

Tangent aside... how easy is C?

It depends. If you started with basic, and then moved to C, you would mentally highlight things about C compared to basic. Your mind mapping of the languages would be different because of your current exposure. However, going from basic to java to C is going to be vastly different. You're used to libraries of existing code and robust frameworks to work with. The surface area of this is different in C.

Yes, C has libraries... obviously. Yes, C has frameworks... but you are going to notice a difference. Trust me.

On the up-side, (and this is something I have yet to do) when learning C and mapping it to your existing knowledge of java, you're going to be primed to write better code from the start. You probably have a good idea of how you write readable, nice code in java. These principles will carry over to other languages but their implementations will change I'm sure.

Programming is management of abstractions. We don't have the luxury of a nail always being a nail and a hammer always hitting a nail. We make tools that should belong in ratchet and clank or something. In one case it's supposed to do 'this' and in another case it's supposed to do 'that'. It's always hard and always confusing.

My advice (if you take nothing else from this) is to accept that doing new things and learning new things is hard. If you spent your life always trying to dive in the deep end to figure something out (and it was really hard), then you're prepared for the complexities of new and unfamiliar things. When you get to this point, everything is relatively easy because you'll realize that all it takes is time and tenacity and you can do anything you want.

Now, if you slacked off your whole life and always took the easy way out of everything, then everything new is super hard and quickly becomes not worth doing. Quitting begets quitting. Be very careful what you choose to quit at. That outlook is exponentially cumulative.

PS: I'm sorry this sounds so preachy. I'm having a strange day and your post sort of sparked some thoughts I've been carrying around.
Was This Post Helpful? 4
  • +
  • -

#4 lunixer  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 120
  • Joined: 29-January 10

Re: How easy will it be to learn a second language

Posted 16 March 2010 - 05:18 PM

View PostMentalFloss, on 16 March 2010 - 04:08 PM, said:

Quote

(except BASIC, which doesn't count)


It counts. It may be unpopular and considered simple but that doesn't mean that the experience gained was wasted. You should know by now that programming is a process and while the steps of this process may jumble around a bit, they are always apparent in your projects.

  • Identify problem
  • Understand problem space
  • Develop solution to problem
  • Ensure solution is correct


There's obviously other stuff that goes into this like document stuff, research stuff, make tests, do code reviews, etc... However, even the most neophyte programmer can understand that those 4 steps are always linked to any unit of work they're doing.

Tangent aside... how easy is C?

It depends. If you started with basic, and then moved to C, you would mentally highlight things about C compared to basic. Your mind mapping of the languages would be different because of your current exposure. However, going from basic to java to C is going to be vastly different. You're used to libraries of existing code and robust frameworks to work with. The surface area of this is different in C.

Yes, C has libraries... obviously. Yes, C has frameworks... but you are going to notice a difference. Trust me.

On the up-side, (and this is something I have yet to do) when learning C and mapping it to your existing knowledge of java, you're going to be primed to write better code from the start. You probably have a good idea of how you write readable, nice code in java. These principles will carry over to other languages but their implementations will change I'm sure.

Programming is management of abstractions. We don't have the luxury of a nail always being a nail and a hammer always hitting a nail. We make tools that should belong in ratchet and clank or something. In one case it's supposed to do 'this' and in another case it's supposed to do 'that'. It's always hard and always confusing.

My advice (if you take nothing else from this) is to accept that doing new things and learning new things is hard. If you spent your life always trying to dive in the deep end to figure something out (and it was really hard), then you're prepared for the complexities of new and unfamiliar things. When you get to this point, everything is relatively easy because you'll realize that all it takes is time and tenacity and you can do anything you want.

Now, if you slacked off your whole life and always took the easy way out of everything, then everything new is super hard and quickly becomes not worth doing. Quitting begets quitting. Be very careful what you choose to quit at. That outlook is exponentially cumulative.

PS: I'm sorry this sounds so preachy. I'm having a strange day and your post sort of sparked some thoughts I've been carrying around.

No problem. Thanks very much to both of you. You've been very helpful. I probably won't get my internship anyway, so I might as well apply for both C and Java. Lord knows that they get about a thousand applications for every spot in the Google Summer of Code thing :(
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1