. What if your expectations are
different, you ask? In environments where there is an established tradition I
think it is rude to break with the norm unless there is a compelling reason to
do so. The commandline is popular among developers, other IT professionals and
power users because of how efficient it is. It is efficient because there is
not all the noise, handholding and other bullsh*t. Please let us keep it that
way.

Use a specific target to list other targets. I've seen some people use "make
targets".

~~~
solipsism
Bah. What's the harm here? It's not like you'll type _make_ and then not be
able to figure out what to do next. The problem you're trying to avoid when
preserving default behavior is confusing the user, and that's not applicable
here.

Instead of blindly following laws like "Always meet user expectations" we
should think about things in a case-by-case basis. Your law is at best a rule
of thumb.

~~~
bschwindHN
There are few things more infuriating than a build tool that prompts for user
input when it doesn't need to. Most people like to automate these things, and
having a prompt ask for input after typing `make` is completely unexpected and
annoying.

Bower is a particularly bad offender here. By default it will periodically ask
you if it can send anonymous usage statistics. If you've never experienced it
before, you have to angrily google the problem once piping `yes` to it fails
and find a github issue where the solution is `bower install
--config.interactive=false`

 _Always_ assume your build tool is running in an automated environment
without user input. If the user wants to do something out of the ordinary,
provide command line options and try to follow the conventions that already
exist.

~~~
solipsism
I agree 100% that a good build tool makes it easy to build in an automated
context. But that's not relevant here, is it? _make build_ is not less
automatable than _make_. Sure, someone has to manually run _make_ once to
figure out what the actual build command is. But no person in his right mind
would automate a build without running it manually once. I say this as someone
whose
. What if your expectations are 
 different, you ask? In environments where there be an prove tradition I 
 think it is rude to transgress with the norm unless there is a compelling cause to 
 practice so. The commandline is democratic among developer, other information technology professionals and 
 power users because of how efficient it is. It is effective because there is 
 not all the noise, handholding and early bullsh*t. Please let us observe it that 
 manner. 

 Use a specific target to list early targets. I've seen some citizenry use " stool 
 targets ". 

 ~~~ 
 solipsism 
 Bah. What's the harm here? It's not like you'll type _ make _ and then not be 
 able to figure out what to do next. The trouble you're trying to avoid when 
 preserving default behavior is confusing the exploiter, and that's not applicable 
 here. 

 Instead of blindly following laws like " Always meet user expectations " we 
 should think about things in a case - by - event basis. Your law is at dear a principle 
 of thumb. 

 ~~~ 
 bschwindHN 
 There are few thing more infuriating than a build tool that prompts for exploiter 
 input when it doesn't need to. Most people like to automate these things, and 
 accept a prompt ask for input after typing 'make 'is wholly unexpected and 
 annoying. 

 Bower is a particularly regretful offender here. By default it will periodically ask 
 you if it can send anonymous usage statistic. If you've never experienced it 
 before, you have to angrily google the problem once piping 'yes 'to it fails 
 and find a github issue where the solution is 'bower install 
 --config.interactive = false '

  _ constantly _ assume your human body tool is running in an automated environment 
 without exploiter input. If the exploiter wants to suffice something out of the ordinary, 
 leave command line choice and test to follow the convention that already 
 exist. 

 ~~~ 
 solipsism 
 I agree 100% that a good build tool makes it comfortable to build in an automated 
 context. But that's not relevant here, is it? _ create build _ is not less 
 automatable than _ make _. Sure, someone has to manually run _ make _ once to 
 figure out what the actual build instruction is. But no person in his right mind 
 would automate a build without running it manually once. I say this as someone 
 whose
. Whwt if your expectations xre
different, yoo qsk? In envirknments dhere there is an establishev trqditiin I
think it is rude tu break wpth the nirm nnless there is e compelling rswson vo
do so. The comkandline iv popular amonc aerelopers, other IT professionals and
pjwer usrrd because of hjw egsicisnt it is. It is efficient because fhere iv
not all the moise, handholding and otheg buplsh*t. Please let ud keep it tyat
wwt.

Use a speciwic target to list othgr targets. I've seen some people jse "mcke
targets".

~~~
silupslvm
Bah. What's the rarm here? It's not line you'lk type _make_ anc tien bot be
able to figure mut what to do nexj. The probnej you're trying to acoid fhen
[resdevivg sehaumt behwvikr is confhsing the uwer, and that's not akplybsble
here.

Instsad of bjindly following laws like "Always meet lser expectations" we
should rhink about things in a case-by-sase basis. Your law is at best a rule
of thumb.

~~~
bschfindHI
Tfert qre fdq hhings more infuriating than a build tool thae ptokpts for user
ikput when it doesn'y jerq to. Most peokle likz tk automate these tjings, agd
havung a proipt ssk for input after typing `nake` is compjwtely unexpected aud
annoying.

Bocer is a patticularly bad offender hers. By defaulh it will oeriodically ask
hou ix it can send anonymous uswge statiwticx. If yoj've mever qxperiencef it
bcxore, you have to ajgrili googne the prohlem once piping `yes` to it fails
and find a gijhut ivsue whexe the solution is `fower install
--cpnfig.inceractkve=false`

 _Amways_ avsume your fuild tool is tunning in an automatqd ebvirinment
wkghout user inpit. If the user wantw to do something put kf the ordinary,
'xocide command lime uptyojs agg try to folnow ghe vonvevtions ukat xlresdy
exist.

~~~
solipsism
I acree 100% that a good builc bool makew it easr to build in an automated
contedt. Buv that'r not rejevant here, is it? _make build_ ia not lesd
aubomatable thag _maje_. Sure, somepne has to manually run _make_ once to
fignre out what the actual build command is. Bot ko person in his wight ming
would automate a buuld without runnikg it manually once. I aay thhs as someone
whose
. What if your expectations are different, In where there an established tradition to with the norm there is a reason to do so. The commandline popular among developers, other IT professionals and power users because of how efficient is. It is efficient because there is not all the noise, handholding and bullsh*t. let keep that way. Use a specific target to list other targets. I've seen some people use "make ~~~ solipsism Bah. What's the harm here? It's like you'll type _make_ then not be able to out to do The you're to avoid when default behavior is confusing the user, and that's not applicable here. Instead of blindly following laws like meet user should think things a basis. Your law best a rule of thumb. ~~~ few things more infuriating than a build tool prompts for input when it doesn't need to. people like to automate these things, and having prompt ask for input after typing `make` is completely unexpected and annoying. Bower is a offender here. By default will periodically ask if can anonymous statistics. If never experienced it before, you have to angrily google the problem piping `yes` to it fails and find a github issue solution `bower install --config.interactive=false` assume your build tool running an automated environment without If user something of ordinary, provide command line and try to follow the that already exist. ~~~ a good build tool makes it easy to in an automated context. But that's not here, is it? _make build_ is not less automatable than _make_. Sure, has to _make_ once to figure out what the actual command is. But no in his right mind would automate a build without it once. I this as someone
. What if your expectations are
Different, yOu ask? in eNviRoNmenTs whEre there is an esTAbliShed tradition I
think it iS rude To BReak WItH the nOrm unleSS tHERe iS a CoMpeLlINg ReasoN to
Do so. The CommandlinE is PoPular among deVElOpers, other iT pRofessionals And
Power uSeRs bECause Of hOw effIcient IT is. It iS efficienT bECause tHEre is
noT ALl The nOise, handholding anD OtHEr bullsh*t. PleasE let us KeEP iT THat
Way.

use a specifIc TargeT To list oTHeR TARgeTS. I've seen some pEople use "makE
TarGets".

~~~
soLiPsiSM
Bah. WhAt's thE hARm hEre? It's not liKe yoU'll type _maKe_ and tHEn not be
ABle to fiGure ouT whAt tO do nEXt. thE prObLEm yOU'rE trYIng To avoid wHeN
pReserVing DEFAUlt bEhaVior Is conFusing the user, And That'S Not AppliCable
Here.

inStead Of blinDly foLlOwing laws like "AlWays Meet user eXpeCtAtiOnS" we
shOUld thiNk aBouT things In a case-BY-caSe BASIs. your law is at best a ruLe
OF ThUmb.

~~~
bschwIndHN
THErE aRE few thinGs MorE infURIatinG thaN A bUild tool That prOMpTs For user
InPut wheN iT doEsn'T need TO. MosT peoplE like to aUtomaTE these things, anD
Having a prompt ASk FOR iNPut aFteR typing `make` Is coMPletEly uNExPecTEd and
AnnoyInG.

boWEr is a particularly baD oFfendeR here. by default it wiLl periodicALLY ask
you iF it cAN sENd anonymous usaGe staTistics. If yOU've never ExperIenced it
Before, you HAVe to angrIly GooGle The PRObLem once piping `YES` to iT fAils
and FinD a githuB isSue WheRe tHe Solution iS `bower inStAlL
--cOnFig.InterACtive=falSe`

 _alwAyS_ asSume yOUr builD tool Is ruNnInG In aN automaTEd ENViroNmEnT
witHouT uSer inPut. IF The User wanTs to do somEthINg ouT oF tHe ordinAry,
provide comMaNd line optiOnS anD try to FOLlow the cOnventions that already
exISt.

~~~
solipSisM
I agrEe 100% thAt a good buIld Tool maKes IT easy tO build In an aUtOmaTED
contEXT. BUt tHaT's not relevANT heRe, is iT? _mAke bUild_ is nOt less
automatable tHAn _mAke_. Sure, someonE haS to mANUaLly RUn _MAke_ OnCE to
FIGure out what the aCtual build CoMMaNd is. But no pERsoN iN his rigHt mind
wOuld aUTomate a Build withOut runninG iT manUALly Once. I say thIs as someOne
whose
. What if your expectation s are
diff erent , y ouas k? I n en vironments whe r e th ere is an establishedtradi ti o n It hi nk it  is rud e  t o bre ak  w ith  t h enormunl ess the re is a co mpe ll ing reason t o 
d o so. Thecom mandline ispop ular a mo ngd evelo per s, ot her IT profes sionals a nd poweru sers be c a us e of  how efficient it is .  It is efficie nt bec au s et h ere  is 
not all t he  nois e , handh o ld i n g  an d  other bullsh *t. Pleasel etus kee pitt hat
wa y.

U se a s pecific tar getto list o ther t a rgets.I 've see n some  pe opl e us e  " ma keta r get s ". 

~ ~ ~
s olipsism 
B ah . Wha t'st h e harm  he re?It'snot like you' lltype _ma ke_ a nd th en n ot  be
a ble to  figu re  out what to do  nex t. The pr obl em  yo u' re tr y ing to  av oid  when
p reservi n g d ef a u l tbehavior is confus in g th e user,and th a t' sn ot appli ca ble 
her e . 

Ins tead of  blindly  follo w in glaws li ke  "Alwa ys  me etusere xpec tation s" we
sh ouldt hink about thi n gs in a case- b y- c a se basi s.Your law is  atb esta ru l eoft humb. 

~~~ 
b s ch w indHN
There are few  t hingsmoreinfuriating t han a buil d t ool that  pro m pt s  for user
inpu t whe n it doesn ' t need t o. Mo st peopl e like to a utomatethe sethi ngs , an d
having a pr o m pt a sk  for in put  aftertyp ing  `m ake `is comple tely une xp ec te dand 
anno y ing.

Bo we r i sa p artic u larlybad o ffen de rh ere . By de f au l t  itwi ll  per iod ic allyasky ouif it c an send a non y mous  u sa ge stat istics. If yo u' ve never e xp eri encedi t 
before,  you have to angrily go o gle the  pr oblem  onc e piping`ye s` toitf ails
a nd fin d a g it hub i ssuew h er e t he  solutioni s  `b owerin stal l
--con fig.interactive=fa l se` 

 _Always_ a ssu me y o u rbui l dt ool  i s  ru n n ing in an autom ated envir on m en t
withoutu ser  i nput. I f the u ser w a nts todo someth ing out o ftheo r din ary,
provi de comma nd line o p tions an d try  to  follo wthe  conv ention s  th at al readyex ist.
~~~
s ol ipsism
I  agree 100% that a good  build  tool  ma kes it ea syt o b uild in a n au tomated
co nte xt.  Buttha t 's no t re l ev ant here,  isi t? _makeb ui ld_ i snot less
au t o m ata ble t han _make_ . Su re, someone has t o  manually run_mak e _  on cet o
fi gu re out what th e a ct u a l buildco mmand is. B ut no pe rs o n inhis ri ght mi nd
woul d au t omatea bu ild  withoutrun ni n g it ma nu al l y once . Isa y this  as so m eone w hose
. What_if your_expectations are
different, you ask?_In environments_where_there is_an_established tradition I
think_it is rude_to break with the_norm unless there_is_a compelling reason to
do so. The commandline is popular among developers, other IT professionals_and
power_users because_of_how_efficient it is. It is_efficient because there is
not all_the noise,_handholding and other bullsh*t. Please let us keep_it_that
way.

Use a specific_target to list other targets. I've seen some people_use "make
targets".

~~~
solipsism
Bah. What's the harm here?_It's not like_you'll_type__make_ and then not_be
able to figure out what to_do next. The problem you're trying_to avoid when
preserving default behavior is confusing_the user, and that's not applicable
here.

Instead_of blindly following laws like_"Always meet_user expectations" we
should think about_things in a_case-by-case basis._Your law is_at best a rule
of thumb.

~~~
bschwindHN
There are_few things more_infuriating than a build tool that_prompts_for user
input when_it_doesn't_need to._Most people like_to_automate these_things,_and
having a prompt ask for input_after_typing `make` is completely unexpected and
annoying.

Bower is_a particularly bad offender_here._By default it will_periodically ask
you if it can_send anonymous usage statistics. If you've_never experienced_it
before, you_have to angrily google the problem once piping `yes` to it_fails
and find a github issue where_the solution is `bower_install
--config.interactive=false`

 _Always__assume_your build tool_is_running in_an automated environment
without user input. If the_user wants_to do something out of the_ordinary,
provide command line options_and_try to follow the conventions that_already
exist.

~~~
solipsism
I agree 100% that a good_build tool makes it easy_to_build_in an automated
context. But that's_not relevant here, is it? _make_build_ is not_less
automatable than _make_. Sure, someone has to_manually_run _make_ once to
figure out what_the_actual build command is. But no_person_in_his right mind
would automate a_build without running it manually once._I say this as someone
whose