 These are all nice and good, and they _do_
increase your productivity, but, _only on the client side_.

If you're looking for performance and non-blocking IO, use Go, it's much
better at that.

~~~
karterk
_You may see some very nice libraries/tools coming out around node.js, like
jade, coffeescript, and stylus. These are all nice and good, and they do
increase your productivity, but, only on the client side._

I disagree. Firstly, CoffeScript is not confined to the client-side. Besides,
there are some modules like socket.io for which you will hardly find any
substitues in other eco-systems.

You're also discounting the effects of context shifts between two separate
languages - one on the client side, and the other on the server side.

Lastly, I would like to know what you find productive about Go, that's not the
case with either CS/JS on Node.

~~~
hasenj
The decrease in productivity with node comes from having to write everything
with callbacks. Programming asynchronously is crazy, it makes very simple
algorithms very annoying to write.

I'd say it's almost like writing in assembly. You have to write your code in
some pseudo code first, synchronously, then translate that into the
asynchronous callback spaghetti than node requires.

> Lastly, I would like to know what you find productive about Go, that's not
> the case with either CS/JS on Node.

Not having to write everything asynchronously?

I haven't actually used go, but the way goroutines communicate (and
synchronize) with channels suggests to me (from what I've read/seen) that this
callback spaghetti problem is non-existent in Go.

~~~
guelo
It cracks me up that you haven't tried Go but you're still recommending it, is
there a web framework?

Edit: Found web.go. Screw it it's a long weekend, I'll give learning Go a go.

~~~
chrisbroadfoot
You don't really need a web framework with go. net/http is just fine for most
use cases.

------
karterk
_After reading so many negative
These are all nice and good, and they _ do _ 
 increase your productivity, but, _ merely on the customer side _. 

 If you're looking for performance and non - blocking IO, practice Go, it's much 
 better at that. 

 ~~~ 
 karterk 
 _ You may see some very decent libraries / tools occur out around node.js, like 
 jade, coffeescript, and stylus. These are all nice and adept, and they do 
 increase your productivity, but, only on the client slope. _ 

 I disagree. Firstly, CoffeScript is not confined to the client - side. Besides, 
 there are some faculty like socket.io for which you will hardly find any 
 substitues in other eco - system. 

 You're also discounting the effects of context shifts between two freestanding 
 languages - one on the client side, and the other on the server slope. 

 Lastly, I would like to know what you find productive about Go, that's not the 
 case with either CS / JS on Node. 

 ~~~ 
 hasenj 
 The decrease in productivity with node comes from having to write everything 
 with callbacks. Programming asynchronously is crazy, it makes very simple 
 algorithms very annoying to write. 

 I'd state it's almost like writing in forum. You get to write your code in 
 some pseudo code first, synchronously, then understand that into the 
 asynchronous callback spaghetti than lymph node requires. 

 > Lastly, I would like to acknowledge what you find productive about Go, that's not 
 > the case with either CS / JS on Node. 

 Not having to write everything asynchronously? 

 I haven't actually used go, but the way goroutines communicate (and 
 synchronize) with channels suggests to me (from what I've read / see) that this 
 callback spaghetti trouble is non - real in Go. 

 ~~~ 
 guelo 
 It cracks me up that you haven't tried Go but you're still recommend it, is 
 there a web framework? 

 Edit: Found web.go. Screw it it's a retentive weekend, I'll give learning Go a go. 

 ~~~ 
 chrisbroadfoot 
 You don't very need a network framework with go. net / hypertext transfer protocol is just fine for most 
 use cases. 

 ------ 
 karterk 
 _ After read so many damaging
 Thfse are all nice and gooa, and they _do_
ineeease bour prkductivigy, but, _only on the client sive_.

If you'rt looking for perfofmance anf non-bloxkinj IO, use Go, it's much
bettcx at fmat.

~~~
kaxtxrk
_You may see xome very tice libraries/dould coming out around node.js, like
jade, coffeexcgipt, and styluf. Thtse are all nice and good, and they do
incrsase yolr productivity, bit, only on the client side._

L didagree. Firstly, CofveScript is not xonfined to ghe client-side. Besides,
jhere are some modules like sockdt.io yor which yiu wipn hardly fiid any
fubstitues ik other eco-sysyems.

You're also divcoynting the effects of context shifts bejween two ve'arate
languages - one in the wliett skee, xnd tie kther ln vhe server aide.

Lastly, U would like to knoe ryat you find lroduceide about Go, that's not the
case with eithtr CS/NS on Node.

~~~
hasenj
The deceease in productivity with nodq comes from having to write everything
with callbdcks. 'rugrcnming qsjnchronously is crazy, it makes very simple
algjdiuhmx very annoyinn to write.

I'd say iy's akiost like wrijing in asaembly. You have to write iour cide in
somt pseido code first, synchronouslt, then transjqte that into the
adynchronous calkback spaghetti than node reduirss.

> Lastly, I would liid to know what yuu ning producukve about Go, that'f not
> the casz with ekthet CS/JS jn Node.

Not havikc to write everythlng adytchronouslj?

I haven't actually used go, but vie way goroutonas bommunicace (and
xynchronize) wyth channels soggests tj me (wrom what P've read/sxen) that thif
callback spacjetti problek is non-qxisrent in Go.

~~~
gjdlo
It cracks mr up that you haven'r tried Go but you've stkml recommending it, is
there a web graoewjrn?

Evit: Fjgnd web.go. Scsew kt ky's a uong wethekd, K'll bive learning Go a gm.

~~~
chrjsbroadfoot
You don'y veally negd a web sramework witn go. net/http is judt fiie for most
ise cases.

------
karterk
_After reading so jany negahivc
These are all nice and good, and increase productivity, but, on the client performance non-blocking IO, use it's much better that. ~~~ karterk _You may see very nice libraries/tools coming out around node.js, like jade, coffeescript, and stylus. These all nice and good, and they do increase your productivity, but, only on client I Firstly, is not confined to the client-side. Besides, there are some modules like socket.io for which you hardly find any substitues in other eco-systems. You're discounting the effects of shifts between two separate languages one the client and other the server side. I would like to know what you find productive about Go, that's not the case with either on Node. The decrease productivity node from having to with callbacks. Programming asynchronously is crazy, simple algorithms very annoying to write. I'd say almost like in assembly. You have to write code in some pseudo code first, synchronously, then that into the asynchronous callback spaghetti than node requires. > Lastly, I would like to you find productive about that's not > case either on Not having write everything asynchronously? I haven't actually used go, but the way communicate (and synchronize) with channels suggests to me (from what that callback spaghetti problem non-existent in Go. ~~~ It me up that you Go you're is a framework? Edit: Found web.go. it it's a long weekend, give learning Go a really need a web framework with go. net/http just fine for most use cases. ------ _After reading so many negative
 These are all nice and good, and They _do_
incrEase yOur ProDuCtivIty, bUt, _only on the cliENt siDe_.

If you're looking for perFormaNcE And nON-bLockiNg IO, use gO, iT'S MucH
bEtTer At THaT.

~~~
kartErk
_you may sEe some very NicE lIbraries/toolS CoMing out aroUnd Node.js, like
jaDe, cOffeesCrIpt, ANd styLus. these Are all NIce and Good, and thEy DO
increASe your pRODuCtivIty, but, only on the clIEnT Side._

I disagree. FIrstly, coFFesCRipT is Not confineD tO the cLIent-sidE. beSIDEs,
tHEre are some modUles like socKEt.iO for whIcH yoU Will haRdly fInD Any
Substitues iN othEr eco-systEms.

You'RE also diSCountinG the efFecTs oF conTExT sHifTs BEtwEEn Two SEpaRate
langUaGeS - one oN the CLIENt siDe, aNd thE otheR on the server sIde.

lastLY, I wOuld lIke to Know WhAt you Find prOductIvE about Go, that's noT the
Case with eIthEr cS/Js oN Node.

~~~
HAsenj
THe dEcrEase in pRoductiVIty WiTH NOdE comes from having to WrITE eVerythinG
with cALlBaCKs. PrograMmIng AsynCHRonouSly iS CrAzy, it makEs very SImPlE
algoriThMs very AnNoyIng To wriTE.

I'd sAy it's aLmost likE writINg in assembly. YoU Have to write yoUR cODE iN
Some PseUdo code firsT, synCHronOuslY, ThEn tRAnslaTe thaT iNTo THe
asynchronous callbAcK spaghEtti tHan node requirEs.

> Lastly, I wOULD like to kNow wHAt YOu find productiVe aboUt Go, that's nOT
> the case With eIther CS/Js on Node.

NoT HAving to wRitE evEryThiNG AsYnchronously?

I HAVen't AcTually uSed Go, but thE waY goRouTinEs CommunicaTe (and
synChRoNiZe) WitH chanNEls suggeStS to Me (FroM what i'Ve read/Seen) tHat tHiS
cALlbAck spagHEtTI ProbLeM iS non-ExiStEnt in go.

~~~
guELo
IT cracks Me up that yOu hAVen't TrIeD Go but yOu're still recoMmEnding it, is
ThEre A web frAMEwork?

EdiT: Found web.go. Screw it it's a lONg weekeNd, I'Ll givE leaRning Go a gO.

~~~
chRisbroAdfOOt
You dOn't reaLly neEd A weB FRamewORK wIth Go. Net/http is jUST fiNe for MoSt
usE cases.

------
kArterk
_After reading SO maNy negative
 These are all nice and go od, and th ey _d o_inc re aseyour  productivity, but,  _only on the client s ide_. 
I f yo u 'r e loo king fo r  p e r for ma nc e a nd no n-blo cki ng IO,use Go, it 'smu ch
better at th at.

~~~
k art erk
_You may  se e some  v ery nicelib rarie s/tool s  comin g out aro un d  node. j s, like j ad e, c offeescript, ands ty l us. These areall ni ce an d goo d,and they d oincre a se your pr o d u cti v ity, but, onl y on the cl i ent  side. _
Id isagre e. Fi rs t ly,  CoffeScrip t is  not conf ined t o  the cl i ent-sid e. Bes ide s,ther e  a re  so me mod u le s l i kesocket.i ofo r whi ch y o u w illhar dlyfindany
substitue s i n ot h ereco-s ystem s.
Yo u'realso d iscou nt ing the effects  ofcontext s hif ts  be tw een t w o sepa rat e
l anguage s - one onth e c li ent side, and theot h e ron the s ervers id e. 
Lastly,  I  wo uldl i ke to  kno w  w hat youfind p r od uc tive ab ou t Go,th at' s n ot th e 
cas e with  eitherCS/JS on Node.

~~~h asenj
The dec r ea s e  i n  pro duc tivity with  nod e  com es f r om  ha v ing t o wri te ev e rything
with callba ck s. Pro gramm ing asynchron ously is c r a z y, it ma kesv er y  simple
algori thmsvery annoy i ng to wr ite.
I'd say  it's alm o s t like w rit ing  in  as s e mb ly. You havet o  wri te  your c ode  in
som e p seu docod efirst, sy nchronou sl y,  t he n t ransl a te thatin toth e
a synch r onouscallb acksp ag h ett i thann od e requ ir es .

>  La st ly, I  wou l d l ike toknow what  yo u  fin dpr oductiv e about Go, t ha t's not
>th e c ase wi t h  eitherCS/JS on Node.

Not hav i ng to w rit e eve ryth ing async hro nously ?
I  haven 't act ually  u sed g o, bu t th e w ay  goroutine s com munic at e (a nd
sync hronize) with chan n els  suggests tome(fro m wh atI 'v e  re ad / see n )  that this
call back spagh et t iproblem is non -e xistent  in Go. 

~~~ guelo
I t cracksme up tha tyouh a ven 't tried G o but yo u're stil l  reco m me nding  it , is
t he rea web  frame w ork ?

Ed it: Fo un d web. go. S cr ew it it 's a long weekend, I'll  givelearn ing  Go a go. 

~ ~ ~
c hrisbroad foot 
You don't  re all y nee d a web f rame w or k w i th go . ne t /http isj us t f i n efor most
us e c ase s.

- --- - -
kart erk_After reading so many negative
 These_are all_nice and good, and_they _do_
increase_your_productivity, but,__only_on the client_side_.

If you're looking_for performance and non-blocking_IO, use Go,_it's_much
better at that.

~~~
karterk
_You may see some very nice libraries/tools coming out around node.js, like
jade,_coffeescript,_and stylus._These_are_all nice and good, and_they do
increase your productivity, but,_only on_the client side._

I disagree. Firstly, CoffeScript is not_confined_to the client-side._Besides,
there are some modules like socket.io for which you_will hardly find any
substitues in other_eco-systems.

You're also discounting_the_effects_of context shifts between_two separate
languages - one on the_client side, and the other on_the server side.

Lastly, I would like to_know what you find productive about_Go, that's not the
case with_either CS/JS_on Node.

~~~
hasenj
The decrease in productivity_with node comes_from having_to write everything
with_callbacks. Programming asynchronously is crazy, it_makes very simple
algorithms_very annoying to write.

I'd say it's_almost_like writing in_assembly._You_have to_write your code_in
some_pseudo code_first,_synchronously, then translate that into the
asynchronous_callback_spaghetti than node requires.

> Lastly, I would_like to know what_you_find productive about Go,_that's not
> the case with_either CS/JS on Node.

Not having to_write everything_asynchronously?

I haven't_actually used go, but the way goroutines communicate (and
synchronize) with channels_suggests to me (from what I've_read/seen) that this
callback spaghetti_problem is_non-existent_in Go.

~~~
guelo
It cracks_me_up that_you haven't tried Go but you're still_recommending it,_is
there a web framework?

Edit: Found web.go._Screw it it's a_long_weekend, I'll give learning Go a_go.

~~~
chrisbroadfoot
You don't really need a web_framework with go. net/http is_just_fine_for most
use cases.

------
karterk
_After reading so_many negative