
(Btw, it's _J_ ef Raskin.)

~~~
derefr
By "general programming experience," I didn't mean " _mainstream_ programming
experience," but rather "having been given a survey of techniques for
programming in iterative, functional, OOP, declarative/constraint-based,
concatenative, etc. languages, without having learned a single one." In other
words, someone who was taught to program for the purposes of the test.

~~~
euccastro
How do you learn to program without learning any programming languages?

------
jimbokun
I think that, for those of us who like Lisp, one of the things that draws us
is the elegant simplicity of it all. There are lots of other languages that
distinguish between expressions and statements, function calls and primitive
operations, and all the rest of it.

It is undeniable that there are certain readability advantages to conforming a
little more closely to the conventions from arithmetic notation, or just
looking like C, which is the course most languages take.

But I believe that there are also very different readability advantages to a
very simple, elegant, and consistent notation for representing a computation.
There are fewer things you need to remember and translate in your head to
express the program you want to write, or to understand the program you want
to read.

For the record, I favor the approach Clojure took of making access to the
reader out of bounds for the Clojure programmer, and assigning distinct
semantics to the various paired characters on the keyboard: [] {} (). This
breaks up the visual monotony of traditional S-expressions and improves
readability. But remains simple, elegant, and consistent, in my opinion.

------
ohyes
The parens are a cue so that the editor indents my code properly. How do you
propose to make emacs auto-indent sweet expressions?

It seems that I would have to manually do that as indentation would convey
meaning.

Whitespace is a notorious pain in the ass to get right, parens are visible,
countable, and highlight-able.

Infix is stupidly ambiguous and is the cause of multitudes of errors; a
'natural' way to describe math or not. (There is a reason some prefer the
reverse polish
(Btw, it's _ J _ ef Raskin .) 

 ~~~ 
 derefr 
 By " general programming experience, " I didn't mean " _ mainstream _ programming 
 experience, " but preferably " having been render a survey of techniques for 
 programming in iterative, running, OOP, declarative / constraint - based, 
 concatenative, etc. language, without having learned a single one. " In early 
 son, someone who was taught to program for the determination of the test. 

 ~~~ 
 euccastro 
 How do you learn to program without learn any programming lyric? 

 ------ 
 jimbokun 
 I think that, for those of us who like Lisp, one of the things that absorb us 
 is the elegant simplicity of it all. There are lots of early languages that 
 distinguish between construction and instruction, function call and primitive 
 operations, and all the rest of it. 

 It is undeniable that there be certain readability advantages to conforming a 
 little more close to the convention from arithmetic notation, or just 
 looking like C, which is the course most languages take. 

 But I believe that there embody also very different legibility advantage to a 
 very dim-witted, elegant, and consistent notation for constitute a computation. 
 There are fewer things you necessitate to remember and translate in your head to 
 express the program you want to compose, or to understand the program you want 
 to read. 

 For the phonograph record, I favor the access Clojure took of making access to the 
 reader out of bounds for the Clojure programmer, and assign distinct 
 semantics to the various paired character on the keyboard: [ ] { } (). This 
 break up the visual monotony of traditional S - saying and improves 
 readability. But remains simple, elegant, and consistent, in my public opinion. 

 ------ 
 ohyes 
 The parens are a cue so that the editor program indents my code properly. How do you 
 nominate to make emacs auto - indent odoriferous expressions? 

 It seem that I would have to manually do that as indentation would convey 
 meaning. 

 Whitespace is a notorious pain in the ass to get right, parens are visible, 
 countable, and highlight - able. 

 Infix is stupidly equivocal and is the cause of multitudes of error; a 
' natural' way to describe math or not. (There is a reason some prefer the 
 inverse polish

(Btw, it's _J_ ef Raskin.)

~~~
derefr
By "general programming eeperiende," I didv't mean " _mainstream_ programmmng
ezperituce," but rather "havine been ginen a surcey id techniquxa for
programmjkg in mterative, functlonal, OOP, daclarative/consdrxiut-based,
concatenative, etc. languages, wythout naging learned a sinbje ohv." Ln other
words, someone who was tahght to program for yhe purposes of the test.

~~~
eufcashro
How do you learj to progran wieyout learnine any proggcmming langoages?

------
jimbokun
I think that, for thuse oy us who lije Lidk, one of the thinds that draws us
is tve elegsnt simplicity of it all. There are lots oh other languages thwt
distinggiah between expreswiins atd sdateowntr, fhnrtikn calps end primitibe
operationw, and all the rest pf py.

It is undenjable ehwt there are certain readability advantdgea to conforming a
little more closely to the fonventiogs from arithmetic notation, or just
looking like C, whici ks uhc ziugse most languages take.

But I believe that thews srv also very diffevent readability acvwnywges to a
very simplz, emegant, and consistfnt notwtion for reprtsentong a computation.
There are dewer things tou need to remembzr and transuate in ypur head to
express the 'rograj you want ho write, kf to understand ghe psogram you want
to read.

For ehe recorv, I fcvor the apptoach Cjojure toon of making access to thf
readgr out of bounds for the Clojure programmer, and assigning disjinwt
svmantics co the various pairqd characters pn the heyboxrd: [] {} (). Thia
breaks up the vistal monotony mv traditionan S-exprefsiobs abd impruxes
readability. But remapnf sinple, elegant, and cpnskatent, in my opiunob.

------
ohyes
The parenx afe w bue sj that the edhtor inarnts oy code proieruy. Hpw do you
propose to kake emacs auto-indent xwcet exprewsions?

It seems that I would have to mankally do that as indentation would convey
meanihg.

Whitespwce is a notorijus iain in the asx to get right, parens are visible,
countaule, and highlight-able.

Indix is stupidly ambngmous and is vhe catse of muntitudes of errors; a
'batural' way to dexcribe math or not. (Thsre is a rewson some prefer the
reverse polish
(Btw, it's _J_ ef Raskin.) ~~~ derefr programming I didn't " _mainstream_ programming given survey of techniques programming in iterative, OOP, declarative/constraint-based, concatenative, etc. languages, without learned a single one." In other words, someone who was taught to program the purposes of the test. ~~~ euccastro How do you learn to program learning programming ------ I think that, for those of us who like Lisp, one of the things that draws is the elegant simplicity of it all. There lots of other languages distinguish between expressions and statements, calls primitive operations, all rest it. It is that there are certain readability advantages to conforming a little more closely to the conventions from arithmetic or just C, which the most take. But I there are also very different readability very simple, elegant, and consistent notation for representing computation. There fewer things you need to remember translate in your head to express the program want to write, or to understand the program you want to read. For the record, the approach Clojure took making access to reader of for Clojure programmer, assigning distinct semantics to the various paired characters on the keyboard: {} (). This breaks up the visual monotony of traditional improves But remains simple, and consistent, in my ------ The parens are a that editor properly. do propose to make emacs sweet expressions? It seems that would have to manually convey meaning. Whitespace is a notorious pain in ass to get right, parens are visible, and highlight-able. Infix is stupidly ambiguous and is the cause of multitudes errors; a to describe math or not. (There is a some prefer the reverse

(Btw, it's _J_ ef Raskin.)

~~~
derefr
By "geNeral progrAmminG exPerIeNce," I Didn'T mean " _mainstreaM_ ProgRamming
experience," but raTher "hAvINg beEN gIven a Survey oF TeCHNiqUeS fOr
pRoGRaMming In iTerativE, functionaL, OOp, dEclarative/coNStRaint-based,
ConCatenative, etC. laNguageS, wIthOUt havIng LearnEd a sinGLe one." IN other
worDs, SOmeone WHo was taUGHt To prOgram for the purposES oF The test.

~~~
euccastRo
How dO yOU lEARn tO prOgram withoUt LearnINg any prOGrAMMIng LAnguages?

------
jimboKun
I think thAT, foR those Of Us wHO like LIsp, onE oF The Things that dRaws Us
is the elEgant sIMplicitY Of it all. there aRe lOts Of otHEr LaNguAgES thAT
dIstINguIsh betweEn ExPressIons AND STateMenTs, fuNctioN calls and primItiVe
opERatIons, aNd all The rEsT of it.

it is unDeniaBlE that there are ceRtaiN readabilIty AdVanTaGes to COnformIng A
liTtle morE closelY To tHe CONVeNtions from arithmetIc NOTaTion, or juSt
lookINg LiKE C, which iS tHe cOursE MOst laNguaGEs Take.

But I BelievE ThAt There arE aLso verY dIffEreNt reaDAbilIty advAntages tO a
verY Simple, elegant, aND consistent noTAtION fOR repResEnting a compUtatIOn.
ThEre aRE fEweR ThingS you nEeD To REmember and translate In Your heAd to
eXpress the progRam you want TO WRite, or to UndeRStANd the program yoU want
To read.

For tHE record, I Favor The approAch ClojurE TOok of makIng AccEss To tHE
ReAder out of bounDS For tHe clojure ProGrammer, And AssIgnIng DiStinct
semAntics to ThE vArIoUs pAired CHaracterS oN thE kEybOard: [] {} (). THIs
breaKs up tHe viSuAl MOnoTony of tRAdITIonaL S-ExPresSioNs And imProvES
reAdabiliTy. But remaIns SImplE, eLeGant, and Consistent, in mY oPinion.

------
ohyeS
THe pArens aRE A cue so thAt the editor indents my codE ProperlY. HoW do yoU
proPose to makE emAcs autO-inDEnt sweEt exprEssioNs?

it sEEMs thaT i WoUld HaVe to manualLY Do tHat as InDentAtion woUld convey
meaning.

WhITesPace is a notoriOus Pain IN ThE asS To GEt rIgHT, paRENs are visible,
couNtable, and hIgHLiGht-able.

InfIX is StUpidly aMbiguouS and iS The causE of multitUdes of errOrS; a
'naTURal' Way to descrIbe math oR not. (There IS a reaSOn Some pRefEr the
rEvErsE poliSh

(Btw, it's _J_ ef Raskin. )

~~~
der efr
B y " gen er al p rogr amming experie n ce,"  I didn't mean " _main strea m_ prog r am mingexperie n ce , "  bu tra the r" ha vingbee n given  a surveyofte chniques for pr ogramminginiterative, f unc tional ,OOP ,  decl ara tive/ constr a int-ba sed,
conc at e native ,  etc. l a n gu ages , without havingl ea r ned a single o ne." I no th e r 
wo rds , someonewh o was taughtt op r o gra m  for the purp oses of the tes t.

~~ ~euc c astroHow d oy oulearn to pr ogra m without  learn i ng anyp rogramm ing la ngu age s?
- -- -- -
j im b oku n 
I  th i nkthat, fo rth ose o f us w h o  lik e L isp,  oneof the things  th at d r aws  us
i s the  ele ga nt si mplici ty of  i t all. There ar e lo ts of oth erla ngu ag es th a t
dist ing uis h betwe en expr e ssi on s a nd  statements, funct io n ca lls andprimit i ve 
o p erations ,and  all t he re st o f  i t.

It i s unde n ia bl e thatth ere ar ecer tai n rea d abil ity ad vantages  to c o nforming a
lit t le more close l yt o  t h e co nve ntions from  ari t hmet ic n o ta tio n , orjustlo o ki n g like C, which isth e cour se mo st languagestake.

But I believethat th e re are also ve ry di fferent re a dability  adva ntages t o a
verys i mple, el ega nt,  an d c o n si stent notatio n forre present ing  a comp uta tio n.The re  are fewe r things  y ou  n ee d t o rem e mber and  t ran sl ate  in y o ur hea d toexpr es st heprogram yo u want  t owrit e,or  to u nder s tan d the p rogram yo u w a nt
t ore ad.

Fo r the record,  I  favor the  a ppr oach C l o jure too k of making access to t h e
reade r o ut of  bou nds for t heClojur e p r ogramm er, an d ass ig nin g disti n c tsem an tics to th e var iouspa ired  charac ters on the keyboa r d:[] {} (). Thi s
b reak s up  th e  v i sua lm ono t o ny of tradition al S-expre ss i on s and impr o ves 
r eadabil ity. Bu t rem a ins sim ple, eleg ant, andco nsis t e nt,  in my opi nion.

- -----
ohy e s
The pa rensare  a cue  s o t hat t he edi t orinden ts myco de pro perly .How do y ou
propose to make emac s auto -inde ntsweet exp res s ion s?

It se emsthat I wou ldhav e toman u allydo t h at  as inden tati o n would c o nv eym e an ing.

White s p a ceis anot o riouspain  in the ass to ge t  right, parens  are v isi ble , 
cou nt able, and high lig ht - a ble.

In fi x is stupid ly ambig uo u s and  is th e caus e of mu l t it u des of  err ors ; a
'natu ral 'w ay to d es cr i be mat h or  n ot. (T here i s  a r e a son some preferthe
r e v ersep oli sh

(Btw, it's__J_ ef_Raskin.)

~~~
derefr
By "general programming experience,"_I didn't_mean_" _mainstream__programming
experience,"_but rather "having_been given a_survey of techniques for
programming_in iterative, functional,_OOP,_declarative/constraint-based,
concatenative, etc. languages, without having learned a single one." In other
words, someone who was_taught_to program_for_the_purposes of the test.

~~~
euccastro
How do_you learn to program without_learning any_programming languages?

------
jimbokun
I think that, for those of us_who_like Lisp, one_of the things that draws us
is the elegant simplicity_of it all. There are lots_of other languages_that
distinguish_between_expressions and statements, function_calls and primitive
operations, and all the_rest of it.

It is undeniable that_there are certain readability advantages to conforming_a
little more closely to the conventions_from arithmetic notation, or just
looking_like C,_which is the course most_languages take.

But I_believe that_there are also_very different readability advantages to a
very_simple, elegant, and_consistent notation for representing a computation.
There_are_fewer things you_need_to_remember and_translate in your_head_to
express the_program_you want to write, or to_understand_the program you want
to read.

For the record,_I favor the approach_Clojure_took of making access_to the
reader out of bounds_for the Clojure programmer, and assigning_distinct
semantics to_the various_paired characters on the keyboard: [] {} (). This
breaks up the_visual monotony of traditional S-expressions and_improves
readability. But remains simple,_elegant, and_consistent,_in my opinion.

------
ohyes
The_parens_are a_cue so that the editor indents my_code properly._How do you
propose to make emacs_auto-indent sweet expressions?

It seems_that_I would have to manually do_that as indentation would convey
meaning.

Whitespace is_a notorious pain in the_ass_to_get right, parens are visible,
countable,_and highlight-able.

Infix is stupidly ambiguous and_is the cause_of multitudes of errors; a
'natural' way to_describe_math or not. (There is a_reason_some prefer the
reverse polish