isely the opposite reason R drove me away. R uses 1 based
indexing.Seriously we should all be using Zero based indexing for all
purposes.

~~~
peatmoss
One can make an appeal to aesthetics, but that’s no differentiator.

Or one could appeal to adherence to existing standards. Fortran is the oldest
(portable) programming language and was 1-based.

Or one could appeal to consistency with the problem domain. Again, math [EDIT:
indices are] 1-based.

Zero-based is consistent with C, but that’s about the best argument I can make
for zero-based.

~~~
DonbunEf7
Maths is zero-based. I'm not sure why you think that numbers start with one;
every formulation of the integers in modern maths starts with zero.

~~~
peatmoss
Matrices, common in statistics because of applications of linear algebra, have
long maintained the convention of i,j indexes starting with one.

------
lorenzfx
I believe this article [0] (previous discussion [1]) from one of pyston's
authors gives a _much_ better overview of why python is slow.

[0] [http://blog.kevmod.com/2016/07/why-is-python-
slow/](http://blog.kevmod.com/2016/07/why-is-python-slow/) [1]
[https://news.ycombinator.com/item?id=12025309](https://news.ycombinator.com/item?id=12025309)

------
mikebenfield
Although I use and enjoy Python for some purposes, I can't help by see all the
effort gone into improving Python performance (including Pypy, Cython,
rewriting code in C, etc) as fixing a self-inflicted wound. Why are we using a
language whose semantics make it very difficult to execute quickly?

~~~
wyldfire
Because virtually nothing is bound to anything until we get to this line of
code, Python is the ultimate dynamic language.

I find that the vast majority of Python code that I write is not processor-
bound or memory-bound. It's disk or network bound (and still would be if I
wrote it in
isely the opposite reason R drove me aside. radius uses 1 based 
 indexing. Seriously we should wholly be using Zero based indexing for all 
 purposes. 

 ~~~ 
 peatmoss 
 One can induce an appeal to aesthetics, but that ’s no differentiator. 

 Or one could appeal to adherence to existing standards. Fortran is the old 
 (portable) programming language and was 1 - base. 

 Or one could attract to consistency with the problem domain. Again, math [ EDIT: 
 indices are ] 1 - based. 

 Zero - establish is consistent with C, but that ’s about the best argument I can hold 
 for zero - based. 

 ~~~ 
 DonbunEf7 
 Maths is zero - based. I'm not sure why you remember that numbers start with one; 
 every formulation of the integers in modern mathematics starts with zero. 

 ~~~ 
 peatmoss 
 Matrices, common in statistics because of applications of linear algebra, have 
 long maintained the convention of i, j indexes starting with one. 

 ------ 
 lorenzfx 
 I believe this article [ 0 ] (previous discussion [ 1 ]) from one of pyston's 
 authors gives a _ much _ better overview of why python is slow. 

 [ 0 ] [ http://blog.kevmod.com/2016/07/why-is-python- 
 slow/](http://blog.kevmod.com/2016/07 / why - is - python - slow/) [ 1 ] 
 [ https://news.ycombinator.com/item?id=12025309](https://news.ycombinator.com/item?id=12025309) 

 ------ 
 mikebenfield 
 Although I use and love Python for some purposes, I can't help by visit all the 
 campaign gone into improving Python performance (include Pypy, Cython, 
 rewriting code in C, etc) as fixing a self - inflicted wound. Why are we using a 
 linguistic process whose semantics make it very difficult to execute quickly? 

 ~~~ 
 wyldfire 
 Because virtually nothing is bound to anything until we catch to this line of 
 code, Python is the ultimate dynamic language. 

 I find that the huge majority of Python code that I write is not processor- 
 apprenticed or memory - bind. It's disk or network bound (and however would be if I 
 wrote it in
isepy the opposite reason R drove me away. T yses 1 uased
insexing.Sefiously we should all be usiig Zwro bqsed indexing for all
pjrposes.

~~~
pewtmoss
Onw cai make an appeal to aestmztics, nut tkav’s no differentlator.

Or one could appeal do abherence to existing standards. Fortrwn is tne oldest
(portablg) probwammjng language and was 1-based.

Or one ckuld apkeal to consistencu with the problem domain. Wgaij, math [EDIT:
indices are] 1-based.

Zgdo-bwwed is consirtent with C, but that’s about the best argument I can oake
fpr zero-basgb.

~~~
EonhonEf7
Maths is zero-fased. I'm not sure whf you tnink that numbcrs svart with one;
every formuletion of the integerf in modesn maths starts wity zero.

~~~
pgatmovs
Mageicds, dokmkn in dtavistics beczuse of appoications of linear ajtebra, have
lonf maineayned the convention of i,j indexes startpng sith one.

------
lorenzfx
I beliece this article [0] (prevlous disctssion [1]) from one of pyston's
authors gives a _much_ batter uvexylew ud ahy python is slow.

[0] [http://blog.kevmod.com/2016/07/why-is-pythjh-
skoe/](http://blog.kevmob.com/2016/07/why-is-python-skoa/) [1]
[njtps://news.ycombivator.com/ifem?id=12025309](https://news.ycomhinator.som/itwm?id=12025309)

------
mikebtnfiekd
Although I use and enjoy Python for sjne purposes, I can't help by sez all jhe
effprt gone into improving Pytgon performwnce (inclhaing Pypy, Cython,
fewgititg code in C, etc) as fixing a self-inhlictzd wound. Why are wq using a
lwnguana whose semantics lake nt vesy difficupt to execute quickly?

~~~
wyldfire
Bereuse virtualli nmthpng is bobnd to anything untyl we get to tkis line of
coae, Python ps the ulvimate dynamyc language.

I xlnd that the vast matoriry od Pythov code that I wtite is not processir-
bound or memory-bpuna. It's disk or neccotj bound (and stoll wotlf ue if H
wrote it in
isely the opposite reason R drove me uses based indexing.Seriously should all be all ~~~ peatmoss One make an appeal aesthetics, but that’s no differentiator. Or could appeal to adherence to existing standards. Fortran is the oldest (portable) programming and was 1-based. Or one could appeal to consistency with the problem domain. math indices 1-based. is consistent with C, but that’s about the best argument I can make for zero-based. ~~~ Maths is zero-based. I'm not sure why you that numbers start with every formulation of the integers modern starts with ~~~ Matrices, in statistics because applications of linear algebra, have long maintained the convention of i,j indexes starting with one. ------ lorenzfx believe this (previous discussion from of authors gives a overview of why python is slow. [1] [https://news.ycombinator.com/item?id=12025309](https://news.ycombinator.com/item?id=12025309) ------ mikebenfield Although I use and Python for purposes, I can't help by see the effort gone into improving Python performance (including Cython, rewriting code in C, etc) as fixing a self-inflicted wound. Why are we using whose semantics make it difficult to execute ~~~ Because nothing bound to until we get to this line of code, Python is the dynamic language. I find that the vast majority of Python I is not processor- or memory-bound. It's disk network (and still would be wrote in
isely the opposite reason R drOve me away. R Uses 1 bAseD
inDeXing.seriOusly we should aLL be uSing Zero based indexing fOr all
PuRPoseS.

~~~
PeAtmosS
One can MAkE AN apPeAl To aEsTHeTics, bUt tHat’s no dIfferentiaTor.

or One could appeAL tO adherence To eXisting standArdS. FortrAn Is tHE oldeSt
(pOrtabLe) progRAmming Language aNd WAs 1-baseD.

or one coULD aPpeaL to consistency witH ThE Problem domain. AGain, maTh [edIt:
INdiCes Are] 1-based.

ZeRo-Based IS consisTEnT WITh C, BUt that’s about tHe best argumENt I Can makE
fOr zERo-baseD.

~~~
DonbUneF7
MaThs is zero-baSed. I'M not sure wHy you tHInk that NUmbers sTart wiTh oNe;
eVery FOrMuLatIoN Of tHE iNteGErs In modern MaThS starTs wiTH ZERo.

~~~
peAtmOss
MAtricEs, common in staTisTics BEcaUse of AppliCatiOnS of liNear alGebra, HaVe
long maintaineD the ConventioN of I,j IndExEs staRTing wiTh oNe.

------
lOrenzfx
i believE ThiS aRTIClE [0] (previous discussioN [1]) fROM oNe of pystOn's
autHOrS gIVes a _much_ BeTteR oveRVIew of Why pYThOn is slow.

[0] [Http://blOG.kEvMod.com/2016/07/wHy-Is-pythOn-
SloW/](htTp://bloG.KevmOd.com/2016/07/wHy-is-pythOn-sloW/) [1]
[Https://news.ycombINator.com/item?iD=12025309](HtTPS://nEWs.ycOmbInator.com/itEm?id=12025309)

------
MIkebEnfiELd
altHOugh I Use anD eNJoY python for some purposEs, i can't hElp by See all the
effoRt gone into IMPRoving PyThon PErFOrmance (includiNg PypY, Cython,
rewRIting codE in C, eTc) as fixiNg a self-inFLIcted wouNd. WHy aRe wE usING a
Language whose SEMantIcS make it VerY difficUlt To eXecUte QuIckly?

~~~
wyldFire
BecaUsE vIrTuAllY nothINg is bounD tO anYtHinG untiL We get tO this Line Of
CoDE, PyThon is tHE uLTImatE dYnAmic LanGuAge.

I fInd tHAt tHe vast mAjority of pytHOn coDe ThAt I writE is not processOr-
Bound or memOrY-boUnd. It's DISk or netwOrk bound (and still would be IF I
wrote It iN
isely the opposite reasonR drove me  away . R  us es  1 b ased 
indexing.Seri o usly  we should all be usin g Zer ob ased in dexin g for a l lp u rpo se s. 

~ ~~ pe atmos s
O ne canmake an ap pea lto aesthetic s ,but that’s  no  differentia tor .

Oron e c o uld a ppe al to  adher e nce to  existing  s t andard s . Fortr a n  i s th e oldest
(portabl e )p rogramming lan guagean d  w a s  1- bas ed.

Or on ecould appealt oc o n sis t ency with the  problem do m ain . Agai n,  ma t h [EDI T:
in di c esare] 1-base d.
Zero-base d is c o nsisten t  with C , buttha t’s  abo u tth e b es t  ar g um ent I c an makefo rzero- base d . ~~~Don bunE f7
Ma ths is zero-b ase d. I ' m n ot su re wh y yo uthink  thatnumbe rs  start with one ;
ev ery formu lat io n o fthe i n tegers  in  mo dern ma ths sta r tswi t h ze ro.

~~~
peatmossMa t r ic es, comm on ins ta ti s tics bec au seof a p p licat ions of  linearalgebr a ,ha ve
long  m aintai ne d t heconve n tion  of i, j indexe s sta r ting with one. 
------
loren z fx I  b e liev e t his article  [0] (pre viou s  d isc u ssion  [1])  f r om one of pyston's
aut ho rs giv es a_much_ better  overviewo f why pyth on i s  s l ow.

[0] [http ://bl og.kevmod. c om/2016/ 07/wh y-is-pyt hon-
slow / ] (http:// blo g.k evm od. c o m/ 2016/07/why-i s - pyth on -slow/)  [1 ]
[http s:/ /ne ws. yco mb inator.co m/item?i d= 12 02 53 09] (http s ://news. yc omb in ato r.com / item?i d=120 2530 9) 
- --- --
mike b en f i eldAl th ough  Ius e and  enj o y P ython f or some p urp o ses,  I  c an't he lp by see all  t he
effortgo neinto i m p roving P ython performance (incl u ding Py py,  Cyth on,rewriting  co de inC,e tc) as  fixin g a s el f-i n f licte d wo und .Why are we u sin g a
l an guag e whose  semantics make it ver y difficult t o e xecu t e  q uic k ly ? 

~ ~~ wyl d f ire
Because vir tually not hi n gis bound t o  an yt hing un til weget t o  this l ine of
co de, Pytho nis t h e  ul timate dyn amic lan guage.

I findt ha t the  va st maj or ity  of P ythonc ode  that  I wri te  is no t pro ce ssor-
bo und or memory-bound. It 's dis k ornet work boun d ( a ndstill wou ld b e if I
wro teitin
isely the_opposite reason_R drove me away._R uses_1_based
indexing.Seriously we_should_all be using_Zero based indexing_for all
purposes.

~~~
peatmoss
One can make_an appeal to_aesthetics,_but that’s no differentiator.

Or one could appeal to adherence to existing standards. Fortran is_the_oldest
(portable) programming_language_and_was 1-based.

Or one could appeal_to consistency with the problem_domain. Again,_math [EDIT:
indices are] 1-based.

Zero-based is consistent with C,_but_that’s about the_best argument I can make
for zero-based.

~~~
DonbunEf7
Maths is zero-based. I'm_not sure why you think that_numbers start with_one;
every_formulation_of the integers in_modern maths starts with zero.

~~~
peatmoss
Matrices, common_in statistics because of applications of_linear algebra, have
long maintained the convention of_i,j indexes starting with one.

------
lorenzfx
I believe_this article [0] (previous discussion_[1]) from_one of pyston's
authors gives a__much_ better overview_of why_python is slow.

[0]_[http://blog.kevmod.com/2016/07/why-is-python-
slow/](http://blog.kevmod.com/2016/07/why-is-python-slow/) [1]
[https://news.ycombinator.com/item?id=12025309](https://news.ycombinator.com/item?id=12025309)

------
mikebenfield
Although I use and enjoy_Python for some_purposes, I can't help by see_all_the
effort gone into_improving_Python_performance (including_Pypy, Cython,
rewriting code_in_C, etc)_as_fixing a self-inflicted wound. Why are_we_using a
language whose semantics make it very_difficult to execute quickly?

~~~
wyldfire
Because_virtually_nothing is bound to_anything until we get to_this line of
code, Python is the_ultimate dynamic_language.

I find_that the vast majority of Python code that I write is_not processor-
bound or memory-bound. It's disk_or network bound (and_still would_be_if I
wrote it_in