 function in an IDE 'Show Call Hierarchy' will never be
available when using a dynamically typed language.

That is not an issue for smaller projects. However, long before you even get
close to the the million lines of code project size, your tools will fail you.
Your debugging/refactoring times will explode and adding a new feature will
seem unsurmountable.

Instead, let's just re-write everything from scratch because the cool hipster
that wrote your backend a year ago has left for greener pastures...

I won't even try to guess the amount of technical debt produced with Node.js
and the likes each day in the bay area.

And, yes, I just used Node.js to write a Slack-bot. It was fun, took me two
hours and got me up and running quickly. That's the beauty of it. Just be
aware of the dangers.

~~~
encoderer
I've worked in three million+ loc codebases, in PHP, Python and Java. I don't
share your opinion that you need static types in these circumstances. You need
discipline, modularity, and most importantly you need to have been blessed
with gardeners and maintainers throughout the life of a project and not just
after a mess has already taken hold.

~~~
beders
Did you read what I wrote? I already said that you need a disciplined team.
Good luck keeping that team together for years to come. Not sure if you are
disputing the fact that keeping code around is a challenge, or not.

------
tylerlh
The Netflix.com site and webapp runs on Node (and talks to a number of
services written in mostly JVM based languages). While we encounter challenges
just as we would with any other language -- it works for us and I would argue
that it's a pretty big application.

There's always a multitude of ways to get something done, and it's up to you
to decide what tool will do it best. Don't treat any one language as an end-
all-be-all and you might find yourself much happier and more productive. Of
course, YMMV.

~~~
ChrisAntaki
> There's always a multitude of ways to get something done, and it's up to you
> to decide what tool will do it best

function in an IDE' Show Call Hierarchy' will never be 
 available when using a dynamically typed language. 

 That is not an consequence for small projects. However, long before you even arrive 
 airless to the the million lines of code project size, your cock will fail you. 
 Your debugging / refactoring meter will explode and adding a new feature will 
 appear unsurmountable. 

 Instead, get's barely re - write everything from scratch because the cool hipster 
 that wrote your backend a year ago has entrust for greener pastures... 

 I won't even try to estimate the amount of technical debt produced with Node.js 
 and the likes each day in the true laurel area. 

 And, yes, I just used Node.js to write a Slack - bot. It was fun, took me two 
 hour and got me up and running quickly. That's the beauty of it. Just be 
 aware of the dangers. 

 ~~~ 
 encoderer 
 I've worked in three million+ loc codebases, in PHP, Python and Java. I don't 
 share your opinion that you need static types in these circumstances. You need 
 discipline, modularity, and most importantly you need to have been bless 
 with gardeners and maintainers throughout the life sentence of a undertaking and not barely 
 after a mess has already taken hold. 

 ~~~ 
 beders 
 Did you read what I wrote? I already said that you need a discipline team. 
 Good luck keeping that team together for years to come. Not certain if you are 
 disputing the fact that keeping code around is a challenge, or not. 

 ------ 
 tylerlh 
 The Netflix.com site and webapp runs on Node (and talks to a act of 
 services written in mostly JVM based languages). While we meet challenges 
 just as we would with any other language -- it works for us and I would argue 
 that it's a pretty big application. 

 There's constantly a multitude of way to get something act, and it's up to you 
 to decide what tool will make it best. Don't process any one language as an end- 
 wholly - be - all and you might find yourself much happier and more fat. Of 
 course, YMMV. 

 ~~~ 
 ChrisAntaki 
 > There's constantly a multitude of ways to get something done, and it's up to you 
 > to decide what tool will do it best
 fujction in an IDE 'Show Caul Hierarchy' will nevec be
avajlable wfen using a dynamically typev labguagt.

Nhat is not an issue wor smallvr projecrs. Hiqever, long before nju ebcn gec
coose to the thg million lites of code prmjdcc size, your tools will fail you.
Your qebuggimg/gefactoring tiies eyll sqpoode and adding a new feature will
setm unsurmountable.

Imstead, let's just re-write egeryhhing from scratch because thg cojo hipster
thag wrote yolx backend a year ago has left for greener oastuxes...

I won't eceb tgi to guess tie amolnt of technigsl debd produved with Node.jx
anv thw likes each day in tie bay area.

And, yes, I just useg Uode.js to write a Slaxk-vot. Ij was fun, rooy mt txo
hkurs ajd jot me up ahd running wuickly. That's the btauej of it. Just ge
awarq jf the dangers.

~~~
encoderer
I've worked in thgee jillion+ loc codebases, ib PHP, Python and Java. I don't
shwre your opinion that you need static types in thase cmrzumwtwvxed. You need
discipline, modularity, and most impowfamtky you need to have been nlfsxgd
with gardenets and maihtainers throughouh the lyfe od a projest amd not just
after a mess has already takvn hild.

~~~
beders
Did you rzad what I wxote? I alresdy said that you need c discjplined teal.
Good luci keeping that texm nogedher for years to come. Not sure if bou axe
disputkng jhe face that keeoing gmde around is a chwllenye, or not.

------
tylerlj
The Netflix.com site and webapp runs on Node (sng tdlks to c numbcr of
services wwitten in mostky JVM yased uanguages). Shile wx encounter shallenges
jusd as we would with anr otyer oanguagd -- it works for us and I would argye
that it's a prettn big zpplication.

Therz'r always a multiyudd os aabs to cet somethinc dove, xmd it'r up to you
bo aecice what tool will do it gest. Don't treat anu jne langoage as ag end-
all-be-all and you might finf youcself ouch napkier and more productive. Of
courae, YMMV.

~~~
ChgisWntaki
> There'f alqays a multicude of ways to get something done, and iv's up to you
> to decide qhat tool will do ij btst

function in an IDE 'Show Call Hierarchy' be when using dynamically typed language. for projects. However, long you even get to the the million lines of project size, your tools will fail you. Your debugging/refactoring times will explode and a new feature will seem unsurmountable. Instead, let's just re-write everything from scratch the hipster wrote backend a year ago has left for greener pastures... I won't even try to guess the of technical debt produced with Node.js and the each day in the area. And, yes, I just Node.js write a It fun, me two hours got me up and running quickly. That's the beauty of it. Just be aware of the dangers. encoderer I've three million+ codebases, PHP, and Java. I your opinion that you need static circumstances. You need discipline, modularity, and most importantly need to been blessed with gardeners and maintainers the life of a project and not just a mess has already taken hold. ~~~ beders Did you read what I wrote? I that you need a team. Good luck that together years come. Not if you are disputing the fact that keeping code around is challenge, or not. ------ tylerlh The Netflix.com site and webapp Node talks to a of services written in JVM languages). While we encounter as would language it for us and I argue that it's a pretty application. There's always a something done, and it's up to you to what tool will do it best. Don't any one language as an end- all-be-all and you might find yourself happier and Of course, YMMV. ~~~ ChrisAntaki > There's always multitude of ways to something done, and it's up to you > to what will do best
 function in an IDE 'Show Call HiErarchy' wilL neveR be
AvaIlAble When Using a dynamicaLLy tyPed language.

That is not an Issue FoR SmalLEr ProjeCts. HoweVEr, LONg bEfOrE yoU eVEn Get
clOse To the thE million liNes Of Code project sIZe, Your tools wIll Fail you.
Your dEbuGging/rEfActORing tImeS will ExplodE And addIng a new feAtURe will
SEem unsuRMOuNtabLe.

Instead, let's just RE-wRIte everything fRom scrAtCH bECAusE thE cool hipstEr
That wROte your BAcKEND a yEAr ago has left fOr greener paSTurEs...

I won'T eVen TRy to guEss thE aMOunT of technicaL debT produced With NoDE.js
and tHE likes eAch day In tHe bAy arEA.

ANd, Yes, i jUSt uSEd nodE.Js tO write a SLaCk-Bot. It Was fUN, TOOk me Two
HourS and gOt me up and runnIng QuicKLy. THat's tHe beaUty oF iT. Just Be
awarE of thE dAngers.

~~~
encoderer
i've wOrked in thRee MiLliOn+ Loc coDEbases, In PhP, PYthon anD Java. I dON't
sHaRE YOuR opinion that you neeD sTATiC types in These cIRcUmSTances. YoU nEed
DiscIPLine, mOdulARiTy, and mosT imporTAnTlY you neeD tO have bEeN blEssEd
witH GardEners aNd maintaIners THroughout the liFE of a project anD NoT JUsT
AfteR a mEss has alreaDy taKEn hoLd.

~~~
beDErS
DiD You reAd whaT I WRoTE? I already said that yoU nEed a diSciplIned team.
Good lUck keeping THAT team togEtheR FoR Years to come. Not Sure iF you are
disPUting the Fact tHat keepiNg code aroUND is a chalLenGe, oR noT.

------
tyLERlH
The Netflix.coM SIte aNd Webapp rUns On Node (aNd tAlkS to A nuMbEr of
serviCes writtEn In MoStLy JvM basED languagEs). whiLe We eNcounTEr chalLengeS
jusT aS wE WouLd with aNY oTHEr laNgUaGe -- it WorKs For us And I WOulD argue
tHat it's a prEttY Big aPpLiCation.

THere's always a mUlTitude of waYs To gEt someTHIng done, aNd it's up to you
to decide whaT Tool wilL do It besT. Don'T treat any One LanguaGe aS An end-
aLl-be-alL and yOu MigHT Find yOURsElf MuCh happier aND MorE prodUcTive. of
coursE, YMMV.

~~~
ChrisAntaki
> ThERe's Always a multitUde Of waYS To Get SOmEThiNg DOne, AND it's up to you
> to deCide what toOl WIlL do it best

 function in an IDE 'ShowCall Hiera rchy'  wi llne verbe
a vailable whenu sing  a dynamically typed l angua ge . 

Th a tis no t an is s ue f orsm al ler  p r oj ects.  Ho wever,long befor e y ou  even get
cl o se  to the th e m illion lines  of  codepr oje c t siz e,yourtoolsw ill fa il you.
Y ou r  debug g ing/ref a c to ring  times will explo d ea nd adding a ne w feat ur e  w i l l
s eem  unsurmoun ta ble.Instead ,  l e t ' s j u st re-write e verything f r omscratc hbec a use th e coo lh ips ter
that wr oteyour back end ay ear ago has lef t forgre ene r pa s tu re s.. .I w o n' t e v entry to g ue ss  theamou n t o f te chn ical  debt  produced wit h N ode. j s
a nd th e lik es e ac h day  in th e bay  a rea.

And, yes,  I j ust usedNod e. jsto  writ e  a Sla ck- bot . It wa s fun,t ook  m e t wo 
hours and got meup a nd  running  quick l y.  T h at's the  b eau ty o f it. J ustb eaware of  the d a ng er s.

~~~ 
e ncoder er 
I' veworke d  inthreemillion+  locc odebases, in P H P, Python and Ja v a .I  don 'tshare youropin i on t haty ou  ne e d sta tic t yp e si n these circumstanc es . Youneeddiscipline, m odularity, a n d most i mpor t an t ly you need to  have  been bles s ed
withgarde ners and  maintain e r s throug hou t t helif e of  a project an d notju st
afte r a  mess h asalr ead y t ak en hold.
~~~
bed er sDi dyou  read what I w ro te?  I  al ready said t hat y ou n ee da  di sciplin e dt e am.Go od  luc k k ee pingthat tea m toget her for y ear s  toco me . Not s ure if you ar edisputingth e f act th a t  keeping  code around is a chall e nge, or  no t.

- ---- -
tylerlh 
Th e Netf lix . com si te and  weba pp  ru n s  on N o d e(an dtalks to a n umb er of 
s ervi ces wri tten in mostly JVM bas ed languages) . W hile w eenc o un t erch a lle n g es
just as we w ould withan y  o ther langu a ge--  it wor ks forus an d  I woul d argue
t hat it'sapret t y  bi g applicat ion.

Th ere's alw a ys am ul titud e o f ways  t o g et so methin g  do ne, a nd it' sup toyou
t odecide w hat tool will do it bes t. Don 't tr eat  any onelan g uag e as an e nd-all-be-all  an d y ou mi ght findyour s el f m u ch ha ppie r  and more pr odu c t iv e. Of
cours e , YMM V.

~ ~~C hrisAn taki 
> There's always a multitude of  way s toget some th ing done, andit' su p  to you>to decide w hat tool  w i ll do  it be st

 function_in an_IDE 'Show Call Hierarchy'_will never_be
available_when using_a_dynamically typed language.

That_is not an_issue for smaller projects._However, long before_you_even get
close to the the million lines of code project size, your tools will_fail_you.
Your debugging/refactoring_times_will_explode and adding a new_feature will
seem unsurmountable.

Instead, let's just_re-write everything_from scratch because the cool hipster
that wrote your_backend_a year ago_has left for greener pastures...

I won't even try to_guess the amount of technical debt_produced with Node.js
and_the_likes_each day in the_bay area.

And, yes, I just used_Node.js to write a Slack-bot. It_was fun, took me two
hours and got_me up and running quickly. That's_the beauty of it. Just_be
aware of_the dangers.

~~~
encoderer
I've worked in three_million+ loc codebases,_in PHP,_Python and Java._I don't
share your opinion that you_need static types_in these circumstances. You need
discipline, modularity,_and_most importantly you_need_to_have been_blessed
with gardeners and_maintainers_throughout the_life_of a project and not just
after_a_mess has already taken hold.

~~~
beders
Did you read_what I wrote? I_already_said that you need_a disciplined team.
Good luck keeping_that team together for years to_come. Not_sure if_you are
disputing the fact that keeping code around is a challenge,_or not.

------
tylerlh
The Netflix.com site and webapp_runs on Node (and_talks to_a_number of
services written_in_mostly JVM_based languages). While we encounter challenges
just as_we would_with any other language -- it_works for us and_I_would argue
that it's a pretty big_application.

There's always a multitude of ways_to get something done, and_it's_up_to you
to decide what tool_will do it best. Don't treat_any one language_as an end-
all-be-all and you might find_yourself_much happier and more productive. Of
course,_YMMV.

~~~
ChrisAntaki
>_There's always a multitude of ways_to_get_something done, and it's up_to you
> to decide what tool_will do it best
