

Ask YC: Programming language survey - rafa8a

I have the following questions related to an application me and my team have to develop for a chain of supermarkets, for a school subject.<p>The situation is the following: we are very fluent in developing applications with PHP, but our teacher wants us to develop it in a different language.<p>The amount of time we have to finish the app, is 2 months approximately. <p>So my questions are related towards knowing if its feasible,  to learn a new language in order to develop a system.<p>The questions:<p> 
1.- Which is the minimum time to learn a new language?<p>2.- Having learned the language, how much experience is necessary to make a system for a client?<p>3.- If you know how to use a certain language, and that language is suitable to make an app, do you recommend  to learn a new one, or to develop it with the language you already know?<p>Thanks!
======
SamReidHughes
1.- A couple of seconds. But that's for an esoteric language that was a
trivial modification of another esoteric language :-). As for how long it
takes you, it depends on how smart you are, what your definition of "learning
a language" is, what languages you know and how strangely you've used them,
and what language you're learning. It takes more effort to learn the
language's libraries than the "language", except for really unusual languages.

2.- It depends on what experience you have and how translatable that
experience is to the current project.

3.- It depends on whether that language is PHP ^_^

So, to summarize: It depends.

Edit: actually, just read what brlewis said, which is a more useful response
for your situation (given certain assumptions about how fluent you are).

------
kingnothing
1\. Unless you're switching programming paradigms, learning a new language is
trivial if you have a copy of the API to reference. It's all just syntax and
libraries at that point.

2\. Do it when you're comfortable with the language.

3\. Why would you learn a new language if the one you're familiar with is the
right tool for the job? I can only assume you're looking to pick up Ruby on
Rails or Django instead of PHP. From my experience, Rails development is
orders of magnitude faster than PHP if you're using it for the right project.

------
brlewis
1\. Two days.

2\. Two days. (You'll learn as you go along.)

3\. All other things being equal, use the language you already know. If things
are unequal all bets are off.

~~~
raju
"If things are unequal all bets are off"

Well said, and agreed. Actually, I completely agree with brlewis. "Learning" a
language is a hard metric to measure. Accordingly, give a language/framework
(if you are already familiar with the language) a couple of days, write a
small app in it, and the rest, you will learn as you go.

IMO, in most cases, "learning" is merely trying to figure out how you would
solve a problem within the scope of your selected toolset. The involves
foreseeing what you will encounter down the road, which in a lot of cases is
hard, if not downright impossible. Most books/tutorials (atleast the beginner
ones) don't touch the boundary cases, so there's only that much value in them.
That's not to say that you should drop every reference book on your shelf
right now, but that don't spend a lot of time trying to master every detail
before getting your feet wet.

Oh, and Good luck...!

